From dcf3efeca904f2f4b48a0315b044cad8d713bf15 Mon Sep 17 00:00:00 2001 From: David Lange Date: Tue, 9 Sep 2014 14:40:32 +0200 Subject: [PATCH] Revert "L1t updates 7 2 x rebased" --- CondFormats/L1TObjects/interface/CaloParams.h | 148 +- CondFormats/L1TObjects/src/CaloParams.cc | 5 +- .../L1TCalorimeter/interface/CaloCluster.h | 53 +- DataFormats/L1TCalorimeter/src/CaloCluster.cc | 60 +- DataFormats/L1Trigger/interface/BXVector.h | 57 +- DataFormats/L1Trigger/interface/BXVector.impl | 244 +- DataFormats/L1Trigger/interface/CaloSpare.h | 59 - DataFormats/L1Trigger/interface/EtSum.h | 6 +- DataFormats/L1Trigger/src/CaloSpare.cc | 40 - DataFormats/L1Trigger/src/classes.h | 45 +- DataFormats/L1Trigger/src/classes_def.xml | 6 - .../L1TCalorimeter/data/egCalibrationLUT.txt | 38 - L1Trigger/L1TCalorimeter/data/egIsoLUT.txt | 0 .../L1TCalorimeter/data/egIsoLUT_PU40bx25.txt | 32318 ---------------- .../L1TCalorimeter/data/egMaxHOverELUT.txt | 37 - .../L1TCalorimeter/data/egShapeIdLUT.txt | 4101 -- .../data/tauCalibrationLUTBarrelA.txt | 135 - .../data/tauCalibrationLUTBarrelB.txt | 135 - .../data/tauCalibrationLUTBarrelC.txt | 135 - .../data/tauCalibrationLUTEndcapsA.txt | 135 - .../data/tauCalibrationLUTEndcapsB.txt | 135 - .../data/tauCalibrationLUTEndcapsC.txt | 135 - .../data/tauCalibrationLUTEta.txt | 70 - L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt | 1 - .../interface/CaloParamsStage1.h | 46 - .../L1TCalorimeter/interface/CaloTools.h | 10 +- .../interface/HardwareSortingMethods.h | 20 - .../interface/JetCalibrationMethods.h | 16 +- .../interface/JetFinderMethods.h | 4 - .../interface/PUSubtractionMethods.h | 16 +- .../interface/Stage1Layer2EGammaAlgorithm.h | 2 + .../Stage1Layer2EGammaAlgorithmImp.h | 12 +- .../interface/Stage1Layer2EtSumAlgorithm.h | 4 +- .../interface/Stage1Layer2EtSumAlgorithmImp.h | 32 +- .../interface/Stage1Layer2FirmwareFactory.h | 8 +- .../Stage1Layer2HFBitCountAlgorithm.h | 35 - .../Stage1Layer2HFBitCountAlgorithmImp.h | 41 - .../Stage1Layer2HFRingSumAlgorithm.h | 37 - .../Stage1Layer2HFRingSumAlgorithmImp.h | 56 - .../interface/Stage1Layer2JetAlgorithm.h | 5 + .../interface/Stage1Layer2JetAlgorithmImp.h | 24 +- .../interface/Stage1Layer2MainProcessor.h | 4 +- .../Stage1Layer2MainProcessorFirmware.h | 22 +- .../interface/Stage1Layer2TauAlgorithm.h | 4 +- .../interface/Stage1Layer2TauAlgorithmImp.h | 27 +- .../Stage2Layer2ClusterAlgorithmFirmware.h | 5 - .../Stage2Layer2EGammaAlgorithmFirmware.h | 13 +- .../Stage2Layer2TauAlgorithmFirmware.h | 11 - .../L1TCalorimeter/interface/legacyGtHelper.h | 40 - .../plugins/CaloParamsESProducer.cc | 78 +- .../plugins/L1TCaloRCTToUpgradeConverter.cc | 21 +- .../plugins/L1TCaloUpgradeToGCTConverter.cc | 96 +- .../plugins/L1TCaloUpgradeToGCTConverter.h | 25 +- .../L1TCalorimeter/plugins/PhysicalEtAdder.cc | 131 +- .../L1TCalorimeter/plugins/PhysicalEtAdder.h | 2 - .../plugins/Stage1Layer2Producer.cc | 111 +- .../plugins/Stage2CaloAnalyzer.cc | 217 +- .../plugins/Stage2InputPatternWriter.cc | 61 +- .../plugins/Stage2Layer1Producer.cc | 3 +- .../python/L1TCaloStage1_HIFromRaw_cff.py | 31 - .../python/L1TCaloStage1_PPFromRaw_cff.py | 55 - .../python/L1TCaloStage1_cff.py | 13 - .../python/L1TCaloStage1_customForHLT.py | 63 - .../python/L1TCaloStage2_PPFromRaw_cff.py | 16 - .../python/L1TCaloStage2_cff.py | 11 +- .../python/L1TRerunHCALTP_FromRaw_cff.py | 16 - .../python/L1TRerunHCALTP_cff.py | 9 - .../L1TCalorimeter/python/caloParams_cfi.py | 81 - .../python/caloStage1Digis_cfi.py | 14 - .../python/caloStage1FinalDigis_cfi.py | 8 - .../python/caloStage1LegacyFormatDigis_cfi.py | 8 - .../python/caloStage1Params_cfi.py | 36 - .../python/caloStage1RCTLuts_cff.py | 250 - .../python/caloStage2Params_cfi.py | 68 - .../{caloStage1JetSF_cfi.py => jetSF_cfi.py} | 0 .../python/l1tCaloAnalyzer_cfi.py | 11 + .../python/l1tCaloParams_cfi.py | 74 + ...Digis_cfi.py => l1tCaloStage2Digis_cfi.py} | 4 +- ...cfi.py => l1tCaloStage2Layer1Digis_cfi.py} | 2 +- .../python/l1tCaloStage2Params_cfi.py | 74 + .../python/l1tCaloStage2TowerDigis_cfi.py | 10 + .../python/l1tStage2CaloAnalyzer_cfi.py | 14 +- .../python/l1tStage2CaloParams_cfi.py | 72 + .../python/l1tStage2InputPatternWriter_cfi.py | 2 +- .../python/rctUpgradeFormatDigis_cfi.py | 9 - ...oStage1RegionSF_cfi.py => regionSF_cfi.py} | 0 .../L1TCalorimeter/src/CaloParamsStage1.cc | 10 - L1Trigger/L1TCalorimeter/src/CaloTools.cc | 43 +- .../src/HardwareSortingMethods.cc | 321 - .../src/JetCalibrationMethods.cc | 58 +- .../L1TCalorimeter/src/JetFinderMethods.cc | 398 +- .../src/PUSubtractionMethods.cc | 136 +- .../Stage1Layer2CentralityAlgorithm.cc | 44 - .../firmware/Stage1Layer2DiTauAlgorithm.cc | 32 - .../Stage1Layer2EGammaAlgorithmImpPP.cc | 134 +- .../Stage1Layer2EtSumAlgorithmImpPP.cc | 90 +- .../firmware/Stage1Layer2FirmwareFactory.cc | 8 +- .../src/firmware/Stage1Layer2FlowAlgorithm.cc | 63 - .../firmware/Stage1Layer2JetAlgorithmImpHI.cc | 35 +- .../firmware/Stage1Layer2JetAlgorithmImpPP.cc | 55 +- .../Stage1Layer2JetAlgorithmImpSimpleHW.cc | 110 - .../Stage1Layer2MainProcessorFirmwareImp1.cc | 74 +- .../src/firmware/Stage1Layer2SingleTrackHI.cc | 41 +- .../firmware/Stage1Layer2TauAlgorithmImpPP.cc | 77 +- ...tage2Layer2ClusterAlgorithmFirmwareImp1.cc | 725 +- ...Stage2Layer2EGammaAlgorithmFirmwareImp1.cc | 136 +- .../Stage2Layer2EtSumAlgorithmFirmwareImp1.cc | 140 +- .../Stage2Layer2JetAlgorithmFirmwareImp1.cc | 2 +- ...Stage2Layer2JetSumAlgorithmFirmwareImp1.cc | 18 +- .../Stage2Layer2TauAlgorithmFirmwareImp1.cc | 294 +- .../src/firmware/Stage2MainProcessorImp1.cc | 3 +- .../L1TCalorimeter/src/legacyGtHelper.cc | 87 - .../test/SimL1Emulator_Stage1.py | 61 - .../test/SingleElectronPt25_Stage2Test.py | 9 +- .../test/TTbarRelVal_Stage1Test.py | 100 - .../test/TTbarRelVal_Stage2Test.py | 32 +- .../test/stage2Pattern-SingleE25.py | 131 - .../startup/L1Menu_Reference_2014.xml | 895 +- .../data/Luminosity/startup/L1TriggerMenu.xsd | 1449 +- L1Trigger/L1TGlobal/interface/MuonTemplate.h | 24 +- .../plugins/BXVectorInputProducer.cc | 535 - .../L1TGlobal/plugins/GenToInputProducer.cc | 22 +- L1Trigger/L1TGlobal/plugins/GtInputDump.cc | 166 +- L1Trigger/L1TGlobal/plugins/GtRecordDump.cc | 385 +- .../L1TGlobal/plugins/TriggerMenuXmlParser.cc | 417 +- .../L1TGlobal/plugins/TriggerMenuXmlParser.h | 16 +- .../plugins/TriggerMenuXmlProducer.cc | 3 +- .../python/runGlobalFakeInputProducer.py | 18 +- .../L1TGlobal/src/AlgorithmEvaluation.cc | 2 +- L1Trigger/L1TGlobal/src/BuildFile.xml | 1 + L1Trigger/L1TGlobal/src/CaloCondition.cc | 10 +- L1Trigger/L1TGlobal/src/GtBoard.cc | 2 +- .../src/L1TMenuEditor/L1TriggerMenu.cxx | 2615 +- .../src/L1TMenuEditor/L1TriggerMenu.hxx | 1211 +- L1Trigger/L1TGlobal/src/MuCondition.cc | 18 +- .../test/SingleElectronPt25_Stage2Test_uGT.py | 234 - .../test/TTBarRelVal_Stage2Test_uGT.py | 146 - .../test/TTBarRelVal_Stage2uGT_TestVectors.py | 239 - 138 files changed, 4480 insertions(+), 47683 deletions(-) delete mode 100644 DataFormats/L1Trigger/interface/CaloSpare.h delete mode 100644 DataFormats/L1Trigger/src/CaloSpare.cc delete mode 100644 L1Trigger/L1TCalorimeter/data/egCalibrationLUT.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/egIsoLUT.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/egIsoLUT_PU40bx25.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/egMaxHOverELUT.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/egShapeIdLUT.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelA.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelB.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelC.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsA.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsB.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsC.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEta.txt delete mode 100644 L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt delete mode 100644 L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h delete mode 100644 L1Trigger/L1TCalorimeter/interface/HardwareSortingMethods.h delete mode 100644 L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithm.h delete mode 100644 L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithmImp.h delete mode 100644 L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithm.h delete mode 100644 L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithmImp.h delete mode 100644 L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h delete mode 100644 L1Trigger/L1TCalorimeter/python/L1TCaloStage1_HIFromRaw_cff.py delete mode 100644 L1Trigger/L1TCalorimeter/python/L1TCaloStage1_PPFromRaw_cff.py delete mode 100644 L1Trigger/L1TCalorimeter/python/L1TCaloStage1_cff.py delete mode 100644 L1Trigger/L1TCalorimeter/python/L1TCaloStage1_customForHLT.py delete mode 100644 L1Trigger/L1TCalorimeter/python/L1TCaloStage2_PPFromRaw_cff.py delete mode 100644 L1Trigger/L1TCalorimeter/python/L1TRerunHCALTP_FromRaw_cff.py delete mode 100644 L1Trigger/L1TCalorimeter/python/L1TRerunHCALTP_cff.py delete mode 100644 L1Trigger/L1TCalorimeter/python/caloParams_cfi.py delete mode 100644 L1Trigger/L1TCalorimeter/python/caloStage1Digis_cfi.py delete mode 100644 L1Trigger/L1TCalorimeter/python/caloStage1FinalDigis_cfi.py delete mode 100644 L1Trigger/L1TCalorimeter/python/caloStage1LegacyFormatDigis_cfi.py delete mode 100644 L1Trigger/L1TCalorimeter/python/caloStage1Params_cfi.py delete mode 100644 L1Trigger/L1TCalorimeter/python/caloStage1RCTLuts_cff.py delete mode 100644 L1Trigger/L1TCalorimeter/python/caloStage2Params_cfi.py rename L1Trigger/L1TCalorimeter/python/{caloStage1JetSF_cfi.py => jetSF_cfi.py} (100%) create mode 100644 L1Trigger/L1TCalorimeter/python/l1tCaloAnalyzer_cfi.py create mode 100644 L1Trigger/L1TCalorimeter/python/l1tCaloParams_cfi.py rename L1Trigger/L1TCalorimeter/python/{caloStage2Digis_cfi.py => l1tCaloStage2Digis_cfi.py} (52%) rename L1Trigger/L1TCalorimeter/python/{caloStage2Layer1Digis_cfi.py => l1tCaloStage2Layer1Digis_cfi.py} (87%) create mode 100644 L1Trigger/L1TCalorimeter/python/l1tCaloStage2Params_cfi.py create mode 100644 L1Trigger/L1TCalorimeter/python/l1tCaloStage2TowerDigis_cfi.py create mode 100644 L1Trigger/L1TCalorimeter/python/l1tStage2CaloParams_cfi.py delete mode 100644 L1Trigger/L1TCalorimeter/python/rctUpgradeFormatDigis_cfi.py rename L1Trigger/L1TCalorimeter/python/{caloStage1RegionSF_cfi.py => regionSF_cfi.py} (100%) delete mode 100644 L1Trigger/L1TCalorimeter/src/CaloParamsStage1.cc delete mode 100644 L1Trigger/L1TCalorimeter/src/HardwareSortingMethods.cc delete mode 100644 L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2CentralityAlgorithm.cc delete mode 100644 L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2DiTauAlgorithm.cc delete mode 100644 L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2FlowAlgorithm.cc delete mode 100644 L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpSimpleHW.cc delete mode 100644 L1Trigger/L1TCalorimeter/src/legacyGtHelper.cc delete mode 100644 L1Trigger/L1TCalorimeter/test/SimL1Emulator_Stage1.py delete mode 100644 L1Trigger/L1TCalorimeter/test/TTbarRelVal_Stage1Test.py delete mode 100644 L1Trigger/L1TCalorimeter/test/stage2Pattern-SingleE25.py delete mode 100644 L1Trigger/L1TGlobal/plugins/BXVectorInputProducer.cc delete mode 100644 L1Trigger/L1TGlobal/test/SingleElectronPt25_Stage2Test_uGT.py delete mode 100644 L1Trigger/L1TGlobal/test/TTBarRelVal_Stage2Test_uGT.py delete mode 100644 L1Trigger/L1TGlobal/test/TTBarRelVal_Stage2uGT_TestVectors.py diff --git a/CondFormats/L1TObjects/interface/CaloParams.h b/CondFormats/L1TObjects/interface/CaloParams.h index da1e3aa9969df..c8fed098a0296 100644 --- a/CondFormats/L1TObjects/interface/CaloParams.h +++ b/CondFormats/L1TObjects/interface/CaloParams.h @@ -4,7 +4,7 @@ /// Description: Placeholder for calorimeter trigger parameters /// /// Implementation: -/// +/// /// /// \author: Jim Brooke /// @@ -20,9 +20,9 @@ #include namespace l1t { - + class CaloParams { - + public: CaloParams() {} @@ -65,15 +65,16 @@ namespace l1t { // EG double egLsb() const { return egLsb_; } + int egSeedThresholdHw() const { return floor(egSeedThreshold_/egLsb_); } double egSeedThreshold() const { return egSeedThreshold_; } + int egNeighbourThresholdHw() const { return floor(egNeighbourThreshold_/egLsb_); } double egNeighbourThreshold() const { return egNeighbourThreshold_; } - double egHcalThreshold() const { return egHcalThreshold_; } + int egMaxHcalEtHw() const { return floor(egMaxHcalEt_/egLsb_); } double egMaxHcalEt() const { return egMaxHcalEt_; } + int egEtToRemoveHECutHw() const {return floor(egEtToRemoveHECut_/egLsb_);} double egEtToRemoveHECut() const {return egEtToRemoveHECut_;} - l1t::LUT* egMaxHOverELUT() { return egMaxHOverELUT_.get(); } - l1t::LUT* egShapeIdLUT() { return egShapeIdLUT_.get(); } - double egRelativeJetIsolationBarrelCut() const { return egRelativeJetIsolationBarrelCut_; } - double egRelativeJetIsolationEndcapCut() const { return egRelativeJetIsolationEndcapCut_; } + double egMaxHOverE() const { return egMaxHOverE_; } + double egRelativeJetIsolationCut() const { return egRelativeJetIsolationCut_; } unsigned egIsoAreaNrTowersEta()const{return egIsoAreaNrTowersEta_;} unsigned egIsoAreaNrTowersPhi()const{return egIsoAreaNrTowersPhi_;} unsigned egIsoVetoNrTowersPhi()const{return egIsoVetoNrTowersPhi_;} @@ -84,19 +85,16 @@ namespace l1t { l1t::LUT* egIsolationLUT() { return egIsolationLUT_.get(); } std::string egCalibrationType() const { return egCalibrationType_; } std::vector egCalibrationParams() { return egCalibrationParams_; } - l1t::LUT* egCalibrationLUT() { return egCalibrationLUT_.get(); } + void setEgLsb(double lsb) { egLsb_ = lsb; } void setEgSeedThreshold(double thresh) { egSeedThreshold_ = thresh; } void setEgNeighbourThreshold(double thresh) { egNeighbourThreshold_ = thresh; } - void setEgHcalThreshold(double thresh) { egHcalThreshold_ = thresh; } void setEgMaxHcalEt(double cut) { egMaxHcalEt_ = cut; } void setEgEtToRemoveHECut(double thresh) { egEtToRemoveHECut_ = thresh;} - void setEgMaxHOverELUT(std::shared_ptr lut) { egMaxHOverELUT_ = lut; } - void setEgShapeIdLUT(std::shared_ptr lut) { egShapeIdLUT_ = lut; } - void setEgRelativeJetIsolationBarrelCut(double cutValue) { egRelativeJetIsolationBarrelCut_ = cutValue; } - void setEgRelativeJetIsolationEndcapCut(double cutValue) { egRelativeJetIsolationEndcapCut_ = cutValue; } - + void setEgMaxHOverE(double cut) { egMaxHOverE_ = cut; } + void setEgRelativeJetIsolationCut(double cutValue) { egRelativeJetIsolationCut_ = cutValue; } + void setEgIsoAreaNrTowersEta(unsigned iEgIsoAreaNrTowersEta){egIsoAreaNrTowersEta_=iEgIsoAreaNrTowersEta;} void setEgIsoAreaNrTowersPhi(unsigned iEgIsoAreaNrTowersPhi){egIsoAreaNrTowersPhi_=iEgIsoAreaNrTowersPhi;} void setEgIsoVetoNrTowersPhi(unsigned iEgIsoVetoNrTowersPhi){egIsoVetoNrTowersPhi_=iEgIsoVetoNrTowersPhi;} @@ -107,25 +105,19 @@ namespace l1t { void setEgIsolationLUT(std::shared_ptr lut) { egIsolationLUT_ = lut; } void setEgCalibrationType(std::string type) { egCalibrationType_ = type; } void setEgCalibrationParams(std::vector params) { egCalibrationParams_ = params; } - void setEgCalibrationLUT(std::shared_ptr lut) { egCalibrationLUT_ = lut; } // tau double tauLsb() const { return tauLsb_; } + int tauSeedThresholdHw() const { return floor(tauSeedThreshold_/tauLsb_); } double tauSeedThreshold() const { return tauSeedThreshold_; } + int tauNeighbourThresholdHw() const { return floor(tauNeighbourThreshold_/tauLsb_); } double tauNeighbourThreshold() const { return tauNeighbourThreshold_; } double tauRelativeJetIsolationCut() const { return tauRelativeJetIsolationCut_; } std::string tauIsoPUSType() const { return tauIsoPUSType_; } l1t::LUT* tauIsolationLUT() { return tauIsolationLUT_.get(); } std::string tauCalibrationType() const { return tauCalibrationType_; } std::vector tauCalibrationParams() { return tauCalibrationParams_; } - l1t::LUT* tauCalibrationLUTBarrelA() { return tauCalibrationLUTBarrelA_.get(); } - l1t::LUT* tauCalibrationLUTBarrelB() { return tauCalibrationLUTBarrelB_.get(); } - l1t::LUT* tauCalibrationLUTBarrelC() { return tauCalibrationLUTBarrelC_.get(); } - l1t::LUT* tauCalibrationLUTEndcapsA() { return tauCalibrationLUTEndcapsA_.get(); } - l1t::LUT* tauCalibrationLUTEndcapsB() { return tauCalibrationLUTEndcapsB_.get(); } - l1t::LUT* tauCalibrationLUTEndcapsC() { return tauCalibrationLUTEndcapsC_.get(); } - l1t::LUT* tauCalibrationLUTEta() { return tauCalibrationLUTEta_.get(); } void setTauLsb(double lsb) { tauLsb_ = lsb; } void setTauSeedThreshold(double thresh) { tauSeedThreshold_ = thresh; } @@ -135,17 +127,12 @@ namespace l1t { void setTauIsolationLUT(std::shared_ptr lut) { tauIsolationLUT_ = lut; } void setTauCalibrationType(std::string type) { tauCalibrationType_ = type; } void setTauCalibrationParams(std::vector params) { tauCalibrationParams_ = params; } - void setTauCalibrationLUTBarrelA(std::shared_ptr lut) { tauCalibrationLUTBarrelA_ = lut; } - void setTauCalibrationLUTBarrelB(std::shared_ptr lut) { tauCalibrationLUTBarrelB_ = lut; } - void setTauCalibrationLUTBarrelC(std::shared_ptr lut) { tauCalibrationLUTBarrelC_ = lut; } - void setTauCalibrationLUTEndcapsA(std::shared_ptr lut) { tauCalibrationLUTEndcapsA_ = lut; } - void setTauCalibrationLUTEndcapsB(std::shared_ptr lut) { tauCalibrationLUTEndcapsB_ = lut; } - void setTauCalibrationLUTEndcapsC(std::shared_ptr lut) { tauCalibrationLUTEndcapsC_ = lut; } - void setTauCalibrationLUTEta(std::shared_ptr lut) { tauCalibrationLUTEta_ = lut; } // jets double jetLsb() const { return jetLsb_; } + int jetSeedThresholdHw() const { return floor(jetSeedThreshold_/jetLsb_); } double jetSeedThreshold() const { return jetSeedThreshold_; } + int jetNeighbourThresholdHw() const { return floor(jetNeighbourThreshold_/jetLsb_); } double jetNeighbourThreshold() const { return jetNeighbourThreshold_; } std::string jetPUSType() const { return jetPUSType_; } std::vector jetPUSParams() { return jetPUSParams_; } @@ -160,23 +147,52 @@ namespace l1t { void setJetCalibrationType(std::string type) { jetCalibrationType_ = type; } void setJetCalibrationParams(std::vector params) { jetCalibrationParams_ = params; } - + // sums double etSumLsb() const { return etSumLsb_; } int etSumEtaMin(unsigned isum) const; int etSumEtaMax(unsigned isum) const; + int etSumEtThresholdHw(unsigned isum) const { return floor(etSumEtThreshold(isum)/etSumLsb_); } double etSumEtThreshold(unsigned isum) const; - + void setEtSumLsb(double lsb) { etSumLsb_ = lsb; } void setEtSumEtaMin(unsigned isum, int eta); void setEtSumEtaMax(unsigned isum, int eta); - void setEtSumEtThreshold(unsigned isum, double thresh); + void setEtSumEtThreshold(unsigned isum, double thresh); // print parameters to stream: void print(std::ostream&) const; friend std::ostream& operator<<(std::ostream& o, const CaloParams & p) { p.print(o); return o; } + + // redundant ? + + bool PUSubtract() const { return PUSubtract_; } + std::vector regionSubtraction() const { return regionSubtraction_; } + bool applyJetCalibration() const { return applyJetCalibration_; } + std::vector jetSF() const { return jetSF_; } + + void setPUSubtract(bool pusub) { PUSubtract_ = pusub; } + void setregionSubtraction(std::vector regsub) { regionSubtraction_ = regsub; } + void setapplyJetCalibration(bool jetcalib) { applyJetCalibration_ = jetcalib; } + void setjetSF(std::vector jetsf) { jetSF_ = jetsf; } + void setRegionETCutForHT(unsigned etcut) { regionETCutForHT_ = etcut; } + void setRegionETCutForMET(unsigned etcut) { regionETCutForMET_ = etcut; } + void setMinGctEtaForSums(int eta) { minGctEtaForSums_ = eta; } + void setMaxGctEtaForSums(int eta) { maxGctEtaForSums_ = eta; } + + void setEmScale(double scale) { emScale_ = scale; } + void setJetScale(double scale) { jetScale_ = scale; } + + unsigned int regionETCutForHT() const { return regionETCutForHT_; } + unsigned int regionETCutForMET() const { return regionETCutForMET_; } + int minGctEtaForSums() const { return minGctEtaForSums_; } + int maxGctEtaForSums() const { return maxGctEtaForSums_; } + + double emScale() const { return emScale_; } + double jetScale() const { return jetScale_; } + private: /* Towers */ @@ -213,7 +229,7 @@ namespace l1t { // bitmask for storing ECAL/HCAL ratio in tower object int towerMaskRatio_; - + // turn encoding on/off bool towerDoEncoding_; @@ -243,38 +259,29 @@ namespace l1t { // Et threshold on EG neighbour tower(s) double egNeighbourThreshold_; - // Et threshold on HCAL for H/E computation - double egHcalThreshold_; - // EG maximum value of HCAL Et double egMaxHcalEt_; // Et threshold to remove the H/E cut from the EGammas double egEtToRemoveHECut_; + + // EG maximum value of H/E + double egMaxHOverE_; - // EG maximum values of H/E (indexed by |ieta|, ??) - std::shared_ptr egMaxHOverELUT_; - - // Shape identification bits (indexed by |ieta|, shape) - std::shared_ptr egShapeIdLUT_; - - // Relative jet isolation cut for EG in the barrel (Stage1Layer2) - double egRelativeJetIsolationBarrelCut_; - - // Relative jet isolation cut for EG in the endcap (Stage1Layer2) - double egRelativeJetIsolationEndcapCut_; + // Relative jet isolation cut for EG (Stage1Layer2) + double egRelativeJetIsolationCut_; // isolation area in eta is seed tower +/- <=egIsoAreaNrTowersPhi - unsigned egIsoAreaNrTowersEta_; + unsigned egIsoAreaNrTowersEta_; // isolation area in phi is seed tower +/- <=egIsoAreaNrTowersPhi - unsigned egIsoAreaNrTowersPhi_; + unsigned egIsoAreaNrTowersPhi_; // veto region is seed tower +/- <=egIsoVetoNrTowersPhi - unsigned egIsoVetoNrTowersPhi_; - + unsigned egIsoVetoNrTowersPhi_; + // for # towers based PU estimator, estimator is #towers/egIsoPUEstTowerGranularity_ - unsigned egIsoPUEstTowerGranularity_; + unsigned egIsoPUEstTowerGranularity_; // eta range over which # towers is estimated unsigned egIsoMaxEtaAbsForTowerSum_; @@ -287,16 +294,14 @@ namespace l1t { // EG calibration coefficients std::vector egCalibrationParams_; - std::shared_ptr egCalibrationLUT_; - + // EG isolation PUS std::string egIsoPUSType_; // EG isolation LUT (indexed by eta, Et ?) std::shared_ptr egIsolationLUT_; - - + /* Tau */ @@ -308,7 +313,7 @@ namespace l1t { // Et threshold on tau neighbour towers double tauNeighbourThreshold_; - + // Relative jet isolation cut for Taus (Stage1Layer2) double tauRelativeJetIsolationCut_; // Tau isolation PUS @@ -322,13 +327,6 @@ namespace l1t { // Tau calibration coefficients std::vector tauCalibrationParams_; - std::shared_ptr tauCalibrationLUTBarrelA_; - std::shared_ptr tauCalibrationLUTBarrelB_; - std::shared_ptr tauCalibrationLUTBarrelC_; - std::shared_ptr tauCalibrationLUTEndcapsA_; - std::shared_ptr tauCalibrationLUTEndcapsB_; - std::shared_ptr tauCalibrationLUTEndcapsC_; - std::shared_ptr tauCalibrationLUTEta_; @@ -344,7 +342,7 @@ namespace l1t { double jetNeighbourThreshold_; // jet PUS scheme ("None" means no PU) - std::string jetPUSType_; + std::string jetPUSType_; // jet PU params std::vector jetPUSParams_; @@ -357,7 +355,6 @@ namespace l1t { - /* Sums */ // EtSum LSB @@ -374,6 +371,23 @@ namespace l1t { + + // probbaly redundant with above parameters ? + bool PUSubtract_; + std::vector regionSubtraction_; //pu subtraction look up table, see region_cfi + bool applyJetCalibration_; + std::vector jetSF_; // jet correction table, see jet_sfi + + // these are redundant with etSumEtaMin_, etSumEtaMax_, etSumEtThreshold_ etc. + unsigned regionETCutForHT_; + unsigned regionETCutForMET_; + int minGctEtaForSums_; + int maxGctEtaForSums_; + + //redundant with L1CaloEtScale for stage 1 + // discussion needed for stage 2 + double emScale_; + double jetScale_; }; }// namespace diff --git a/CondFormats/L1TObjects/src/CaloParams.cc b/CondFormats/L1TObjects/src/CaloParams.cc index dd9c93e39a872..d0f94193ba0ca 100644 --- a/CondFormats/L1TObjects/src/CaloParams.cc +++ b/CondFormats/L1TObjects/src/CaloParams.cc @@ -51,14 +51,12 @@ void CaloParams::print(std::ostream& out) const { out << "Regions" << std::endl; out << " PUS : " << this->regionPUSType() << std::endl; - out << " LSB : " << this->regionLsb() << std::endl; out << "EG" << std::endl; - out << " LSB : " << this->egLsb() << std::endl; out << " Seed thresh : " << this->egSeedThreshold() << std::endl; out << " Neighbour thresh : " << this->egNeighbourThreshold() << std::endl; - out << " HCAL thresh : " << this->egHcalThreshold() << std::endl; out << " HCAL max Et : " << this->egMaxHcalEt() << std::endl; + out << " H/E max : " << this->egMaxHOverE() << std::endl; out << " Iso PUS type : " << this->egIsoPUSType() << std::endl; out << "Tau" << std::endl; @@ -67,7 +65,6 @@ void CaloParams::print(std::ostream& out) const { out << " Iso PUS type : " << this->tauIsoPUSType() << std::endl; out << "Jets" << std::endl; - out << " LSB : " << this->jetLsb() << std::endl; out << " Seed thresh : " << this->jetSeedThreshold() << std::endl; out << " Neighbour thresh : " << this->jetNeighbourThreshold() << std::endl; out << " PUS type : " << this->jetPUSType() << std::endl; diff --git a/DataFormats/L1TCalorimeter/interface/CaloCluster.h b/DataFormats/L1TCalorimeter/interface/CaloCluster.h index d15847a96c00f..bef39ce8d09a0 100644 --- a/DataFormats/L1TCalorimeter/interface/CaloCluster.h +++ b/DataFormats/L1TCalorimeter/interface/CaloCluster.h @@ -9,21 +9,20 @@ namespace l1t { class CaloCluster : public L1Candidate { public: enum ClusterFlag{ - INCLUDE_SEED = 0, - INCLUDE_NW = 1, - INCLUDE_N = 2, - INCLUDE_NE = 3, - INCLUDE_E = 4, - INCLUDE_SE = 5, - INCLUDE_S = 6, - INCLUDE_SW = 7, - INCLUDE_W = 8, - INCLUDE_NN = 9, - INCLUDE_SS = 10, + PASS_THRES_SEED = 0, + PASS_FILTER_CLUSTER = 1, + TRIM_NW = 2, + TRIM_N = 3, + TRIM_NE = 4, + TRIM_E = 5, + TRIM_SE = 7, + TRIM_S = 8, + TRIM_SW = 9, + TRIM_W = 10, TRIM_LEFT = 11, - IS_SECONDARY = 12, - MERGE_UPDOWN = 13, // 0=up, 1=down - MERGE_LEFTRIGHT = 14 // 0=left, 1=right + TRIM_RIGHT = 12, + EXT_UP = 13, + EXT_DOWN = 14 }; public: @@ -36,57 +35,35 @@ namespace l1t { ~CaloCluster(); - - - void setClusterFlag(ClusterFlag flag, bool val=true); - void setHwPtEm( int pt ); - void setHwPtHad( int pt ); void setHwSeedPt(int pt); - void setFgEta(int fgEta); - void setFgPhi(int fgPhi); void setHOverE(int hOverE); - void setFgECAL(int fgECAL); bool checkClusterFlag(ClusterFlag flag) const; bool isValid() const; - int hwPtEm() const; - int hwPtHad() const; int hwSeedPt() const; int fgEta() const; int fgPhi() const; int hOverE() const; - int fgECAL() const; int clusterFlags() const{return m_clusterFlags;} - bool operator<(const CaloCluster& cl) const; - bool operator>(const CaloCluster& cl) const {return cl<*this;}; - bool operator<=(const CaloCluster& cl) const {return !(cl>*this);}; - bool operator>=(const CaloCluster& cl) const {return !(cl<*this);}; - private: // Summary of clustering outcomes int m_clusterFlags; // see ClusterFlag bits (15 bits, will evolve) // Energies - int m_hwPtEm; - int m_hwPtHad; int m_hwSeedPt; // fine grained position int m_fgEta; // 2 bits (to be defined in agreement with GT inputs) int m_fgPhi; // 2 bits (to be defined in agreement with GT inputs) - // identification variables - int m_hOverE; // 8 bits (between 0 and 1 -> resolution=1/256=0.39%). Number of bits is not definitive - int m_fgECAL; // FG bit of the seed tower + // H/E + int m_hOverE; // 7 bits (between 0 and 1 -> resolution=1/128=0.8%). Number of bits is not definitive }; typedef BXVector CaloClusterBxCollection; - } - - #endif diff --git a/DataFormats/L1TCalorimeter/src/CaloCluster.cc b/DataFormats/L1TCalorimeter/src/CaloCluster.cc index d42f86e46e67d..afa466dabff18 100644 --- a/DataFormats/L1TCalorimeter/src/CaloCluster.cc +++ b/DataFormats/L1TCalorimeter/src/CaloCluster.cc @@ -6,7 +6,7 @@ l1t::CaloCluster::CaloCluster( const LorentzVector p4, int eta, int phi) : L1Candidate(p4, pt, eta, phi), - m_clusterFlags(0x7FF) // first 11 flags at 1 + m_clusterFlags(0) { } @@ -28,41 +28,16 @@ void l1t::CaloCluster::setClusterFlag(ClusterFlag flag, bool val) } }; -void l1t::CaloCluster::setHwPtEm(int pt) -{ - m_hwPtEm = pt; -} - -void l1t::CaloCluster::setHwPtHad(int pt) -{ - m_hwPtHad = pt; -} - void l1t::CaloCluster::setHwSeedPt(int pt) { m_hwSeedPt = pt; } -void l1t::CaloCluster::setFgEta(int fgEta) -{ - m_fgEta = fgEta; -} - -void l1t::CaloCluster::setFgPhi(int fgPhi) -{ - m_fgPhi = fgPhi; -} - void l1t::CaloCluster::setHOverE(int hOverE) { m_hOverE = hOverE; } -void l1t::CaloCluster::setFgECAL(int fgECAL) -{ - m_fgECAL = fgECAL; -} - bool l1t::CaloCluster::checkClusterFlag(ClusterFlag flag) const { return (m_clusterFlags & (0x1<abs(cl.hwEta()) ) res = true; - else if( abs(hwEta())==abs(cl.hwEta()) ){ - // Favour small phi (arbitrary) - if(hwPhi()>cl.hwPhi()) res = true; - } - } - return res; -} diff --git a/DataFormats/L1Trigger/interface/BXVector.h b/DataFormats/L1Trigger/interface/BXVector.h index 5a8b2ff92bb4b..8fa8012e5d1cb 100644 --- a/DataFormats/L1Trigger/interface/BXVector.h +++ b/DataFormats/L1Trigger/interface/BXVector.h @@ -23,13 +23,13 @@ class BXVector { int bxLast=0 ); // last BX stored // copy ctor - // BXVector ( const BXVector& vector ); + BXVector ( const BXVector& vector ); // dtor - //~BXVector(); + ~BXVector(); // assignment operator (pass by value for exception safety) - //BXVector operator=(BXVector vector ); + //BXVector operator=( BXVector vector ); // the methods given below are a minimal set // other methods from the std::vector interface can be replicated as desired @@ -42,12 +42,6 @@ class BXVector { // set size for all BXs void resizeAll( int size ); - - // add one BX to end of BXVector - void addBX(); - - // delete given bunch crossing - void deleteBX(int bx); // get the first BX stored int getFirstBX() const; @@ -55,45 +49,30 @@ class BXVector { // get the last BX stored int getLastBX() const; - // iterator access by BX - const_iterator begin( int bx ) const; - - // iterator access by BX - const_iterator end( int bx ) const; - // get N objects for a given BX unsigned size( int bx ) const; // add element with given BX index void push_back( int bx, T object ); - - // erase element with given location - void erase( int bx, int i); - - // insert element with given location - void insert( int bx, int i, T object ); - - // clear entire BXVector - void clear(); - // clear bx - void clearBX(int bx); + // add clear member + void clear(); - // access element + // random access const T& at( int bx, int i ) const; - // set element - void set( int bx, int i , T object); + // iterator access by BX + const_iterator begin( int bx ) const; - // check if data has empty location - bool isEmpty(int bx) const; + // iterator access by BX + const_iterator end( int bx ) const; private: // this method converts integer BX index into an unsigned index // used by the internal data representation unsigned indexFromBX(int bx) const; - + private: @@ -102,12 +81,20 @@ class BXVector { int bxFirst_; int bxLast_; - /// internal data representation: + /// internal data representation + + // Version 1 + // this version is easy to handle + // but nested template containers are disfavoured by persistency layer + std::vector< std::vector< T > > data_; + + // Version 2 // a flat vector is preferable from the persistency point of view // but handling the start/end points for each BX is more complex // a second vector is needed to store pointers into the first one - std::vector< T > data_; - std::vector itrs_; + /* std::vector< T > data_; */ + /* std::vector< std::vector::iterator > itrs_; */ + }; #include "BXVector.impl" diff --git a/DataFormats/L1Trigger/interface/BXVector.impl b/DataFormats/L1Trigger/interface/BXVector.impl index 8e251b365d66f..d335e4c6b45bb 100644 --- a/DataFormats/L1Trigger/interface/BXVector.impl +++ b/DataFormats/L1Trigger/interface/BXVector.impl @@ -1,149 +1,66 @@ + +#include "DataFormats/L1Trigger/interface/BXVector.h" + #include -#include -using namespace std; template < class T > BXVector::BXVector( int size, // number of objects per BX - int bxFirst, // first BX stored - int bxLast ) // last BX stored + int bxFirst, // first BX stored + int bxLast ) // last BX stored : - bxFirst_(bxFirst), - bxLast_(bxLast), - data_(std::vector(size * (bxLast-bxFirst+1))) + bxFirst_(bxFirst), + bxLast_(bxLast), + data_(bxLast-bxFirst+1, std::vector(size)) { - itrs_.clear(); - for (int i=0; i<=(bxLast - bxFirst); i++){ - itrs_.push_back(i*size); - } + } // copy ctor -//template < class T > -//BXVector::BXVector ( const BXVector& vector ) -//{ -// bxFirst_ = vector.bxFirst_; -// bxLast_ = vector.bxLast_; -// data_ = vector.data_; -// itrs_ = vector.itrs_; -//} +template < class T > +BXVector::BXVector ( const BXVector& vector ) +{ + +} // dtor -//template < class T > -//BXVector::~BXVector() -//{ -// -//} +template < class T > +BXVector::~BXVector() +{ + +} // assignment operator (pass by value for exception safety) //template < class T > //BXVector BXVector::operator=( BXVector vector ) //{ - //data_.reset(); - //iters_.reset(); - //bxFirst_ = vector.bxFirst_; - //bxLast_ = vector.bxLast_; - //data_ = vector.data_; - //itrs_ = vector.itrs_; - //return vector; +// //} - -// set BX range, adds an empty bx so you must push_pack to see anything +// set BX range template < class T > void BXVector::setBXRange( int bxFirst, int bxLast ) { - int bxF = bxFirst_; - int bxL = bxLast_; - if(bxFirstbxFirst_){ - for(int i=0;ibxLast_){ - for(int i=0;i -void BXVector::addBX() -{ - itrs_.push_back(data_.size()); - bxLast_ = bxLast_ + 1; - -} - -// delete a BX -template < class T > -void BXVector::deleteBX(int bx) -{ - clearBX(bx); - itrs_.erase(itrs_.begin() + indexFromBX(bx)); - if(bx==getFirstBX()){ - bxFirst_ = bxFirst_ + 1; - } - if(bx==getLastBX()){ - bxLast_ = bxLast_ - 1; - } -} // set size for a given BX template < class T > -void BXVector::resize( int bx, int max ) +void BXVector::resize( int bx, int size ) { - T k; - int s = size(bx); - if(size(bx) < max){ - for (int i = 0;i void BXVector::resizeAll( int size ) { - for (unsigned i=0; i -typename BXVector::const_iterator -BXVector::begin( int bx ) const -{ - return data_.begin()+itrs_[indexFromBX(bx)]; -} - -// iterator access by BX -template < class T > -typename BXVector::const_iterator -BXVector::end( int bx ) const -{ - return data_.begin()+itrs_[indexFromBX(bx)] + size(bx); -} - // get the first BX stored template < class T > int BXVector::getFirstBX() const @@ -162,132 +79,47 @@ int BXVector::getLastBX() const template < class T > unsigned BXVector::size( int bx ) const { - if(isEmpty(bx)){return 0;} - - if(indexFromBX(bx)==(itrs_.size() -1)){ - return (data_.size() - itrs_[itrs_.size()-1]); - } - else{ - return (itrs_[indexFromBX(bx+1)] - itrs_[indexFromBX(bx)]); - } + return data_.at(indexFromBX(bx)).size(); } // add element with given BX index template < class T > void BXVector::push_back( int bx, T object ) { - data_.insert(data_.begin() +itrs_[indexFromBX(bx)] + size(bx),object); - for(int k=0; kindexFromBX(bx)){ - itrs_[k]++; - } - } - + data_.at(indexFromBX(bx)).push_back(object); } -// clear entire BXVector +// add clear member template < class T > void BXVector::clear() { data_.clear(); - for(int k=0; k -void BXVector::insert(int bx, int i,T object) -{ - if(i >= size(bx)){ - //cout<<"ERROR: bx "<indexFromBX(bx)){ - itrs_[k]++; - } - } - } } -// erase data in location i of bx +// random access template < class T > -void BXVector::erase(int bx, int i) +const T& BXVector::at( int bx, int i ) const { - if(i >= size(bx)){ - //cout<<"ERROR: bx "<indexFromBX(bx)){ - itrs_[k]--; - } - } - } + return data_.at(indexFromBX(bx)).at(i); } -// clear information for given bx but keeps record of the empty BX +// iterator access by BX template < class T > -void BXVector::clearBX(int bx) +typename BXVector::const_iterator BXVector::begin( int bx ) const { - int si = size(bx); - for(int i=0;i -const T& BXVector::at( int bx, int i ) const +typename BXVector::const_iterator BXVector::end( int bx ) const { - return data_.at(itrs_[indexFromBX(bx)]+i); + return data_.at(indexFromBX(bx)).end(); } -// set data at a given location i in bunch crossing bx -template < class T > -void BXVector::set( int bx, int i ,T object) -{ - if(i >= size(bx)){ - //cout<<"ERROR: bx "< unsigned BXVector::indexFromBX(int bx) const { return bx - bxFirst_; } - -// check to see if bx is empty -template -bool BXVector::isEmpty(int bx) const -{ -if (itrs_[indexFromBX(bx)]==data_.size()) - { - return true; - } - -if(indexFromBX(bx+1) >= itrs_.size()){ - return false; - } - -if (itrs_[indexFromBX(bx)]==itrs_[indexFromBX(bx+1)]) - { - return true; - } - -return false; -} - -// Local Variables: -// mode: c++ -// End: diff --git a/DataFormats/L1Trigger/interface/CaloSpare.h b/DataFormats/L1Trigger/interface/CaloSpare.h deleted file mode 100644 index 07e10b866e069..0000000000000 --- a/DataFormats/L1Trigger/interface/CaloSpare.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef DataFormats_L1Trigger_CaloSpare_h -#define DataFormats_L1Trigger_CaloSpare_h - - -#include "DataFormats/L1Trigger/interface/L1Candidate.h" -#include "DataFormats/L1Trigger/interface/BXVector.h" - -namespace l1t { - - class CaloSpare; - typedef BXVector CaloSpareBxCollection; - - class CaloSpare : public L1Candidate { - - public: - - enum CaloSpareType { - HFBitCount, - HFRingSum, - Tau, - Centrality, - V2 - }; - - CaloSpare(){} - CaloSpare( const LorentzVector& p4, - CaloSpareType type, - int pt=0, - int eta=0, - int phi=0, - int qual=0); - - CaloSpare( const PolarLorentzVector& p4, - CaloSpareType type, - int pt=0, - int eta=0, - int phi=0, - int qual=0); - - - ~CaloSpare(); - - void setType(CaloSpareType type); - - CaloSpareType getType() const; - - private: - - // type of CaloSpare - CaloSpareType type_; - - // additional hardware quantities common to L1 global CaloSpare - // there are currently none - - }; - -} - -#endif diff --git a/DataFormats/L1Trigger/interface/EtSum.h b/DataFormats/L1Trigger/interface/EtSum.h index 1967bfd465815..7a3f782d06c3c 100644 --- a/DataFormats/L1Trigger/interface/EtSum.h +++ b/DataFormats/L1Trigger/interface/EtSum.h @@ -15,12 +15,10 @@ namespace l1t { public: enum EtSumType { - kTotalEt, - kTotalHt, kMissingEt, kMissingHt, - kTotalEx, - kTotalEy + kTotalEt, + kTotalHt }; EtSum(){} diff --git a/DataFormats/L1Trigger/src/CaloSpare.cc b/DataFormats/L1Trigger/src/CaloSpare.cc deleted file mode 100644 index 527d85f8cca82..0000000000000 --- a/DataFormats/L1Trigger/src/CaloSpare.cc +++ /dev/null @@ -1,40 +0,0 @@ -#include "DataFormats/L1Trigger/interface/CaloSpare.h" - -l1t::CaloSpare::CaloSpare( const LorentzVector& p4, - CaloSpareType type, - int pt, - int eta, - int phi, - int qual) - : L1Candidate(p4, pt, eta, phi, qual, 0), - type_(type) -{ - -} - -l1t::CaloSpare::CaloSpare( const PolarLorentzVector& p4, - CaloSpareType type, - int pt, - int eta, - int phi, - int qual) - : L1Candidate(p4, pt, eta, phi, qual, 0), - type_(type) -{ - -} - -l1t::CaloSpare::~CaloSpare() -{ - -} - -void l1t::CaloSpare::setType(CaloSpareType type) -{ - type_ = type; -} - -l1t::CaloSpare::CaloSpareType l1t::CaloSpare::getType() const -{ - return type_; -} diff --git a/DataFormats/L1Trigger/src/classes.h b/DataFormats/L1Trigger/src/classes.h index 204ec65860d30..e1b089589c1a1 100644 --- a/DataFormats/L1Trigger/src/classes.h +++ b/DataFormats/L1Trigger/src/classes.h @@ -1,20 +1,20 @@ #include "DataFormats/L1Trigger/interface/L1EmParticle.h" -#include "Rtypes.h" -#include "Math/Cartesian3D.h" -#include "Math/Polar3D.h" -#include "Math/CylindricalEta3D.h" -#include "Math/PxPyPzE4D.h" -#include -#include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCand.h" -#include "DataFormats/L1Trigger/interface/L1EmParticleFwd.h" +#include "Rtypes.h" +#include "Math/Cartesian3D.h" +#include "Math/Polar3D.h" +#include "Math/CylindricalEta3D.h" +#include "Math/PxPyPzE4D.h" +#include +#include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCand.h" +#include "DataFormats/L1Trigger/interface/L1EmParticleFwd.h" #include "DataFormats/L1Trigger/interface/L1JetParticle.h" -#include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h" +#include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h" #include "DataFormats/L1Trigger/interface/L1MuonParticle.h" -#include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h" +#include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h" #include "DataFormats/L1Trigger/interface/L1EtMissParticle.h" -#include "DataFormats/L1Trigger/interface/L1EtMissParticleFwd.h" +#include "DataFormats/L1Trigger/interface/L1EtMissParticleFwd.h" #include "DataFormats/L1Trigger/interface/L1ParticleMap.h" -#include "DataFormats/L1Trigger/interface/L1ParticleMapFwd.h" +#include "DataFormats/L1Trigger/interface/L1ParticleMapFwd.h" #include "DataFormats/L1Trigger/interface/L1DataEmulRecord.h" #include "DataFormats/L1Trigger/interface/L1HFRings.h" #include "DataFormats/L1Trigger/interface/L1HFRingsFwd.h" @@ -28,7 +28,6 @@ #include "DataFormats/L1Trigger/interface/Jet.h" #include "DataFormats/L1Trigger/interface/Muon.h" #include "DataFormats/L1Trigger/interface/Tau.h" -#include "DataFormats/L1Trigger/interface/CaloSpare.h" namespace DataFormats_L1Trigger { struct dictionary { @@ -39,7 +38,6 @@ namespace DataFormats_L1Trigger { l1t::JetBxCollection jetBxColl; l1t::MuonBxCollection muonBxColl; l1t::TauBxCollection tauBxColl; - l1t::CaloSpareBxCollection caloSpareColl; edm::Wrapper w_l1CandidateBxColl; edm::Wrapper w_eGammaBxColl; @@ -47,8 +45,7 @@ namespace DataFormats_L1Trigger { edm::Wrapper w_jetBxColl; edm::Wrapper w_muonBxColl; edm::Wrapper w_tauBxColl; - edm::Wrapper w_caloSpareColl; - + l1extra::L1EmParticleCollection emColl ; l1extra::L1JetParticleCollection jetColl ; l1extra::L1MuonParticleCollection muonColl ; @@ -56,7 +53,7 @@ namespace DataFormats_L1Trigger { l1extra::L1EtMissParticleCollection etMissColl ; l1extra::L1ParticleMapCollection mapColl ; l1extra::L1HFRingsCollection hfRingsColl ; - + edm::Wrapper w_emColl; edm::Wrapper w_jetColl; edm::Wrapper w_muonColl; @@ -64,25 +61,25 @@ namespace DataFormats_L1Trigger { edm::Wrapper w_etMissColl; edm::Wrapper w_mapColl; edm::Wrapper w_hfRingsColl; - + l1extra::L1EmParticleRef refEm ; l1extra::L1JetParticleRef refJet ; l1extra::L1MuonParticleRef refMuon ; l1extra::L1EtMissParticleRef refEtMiss ; l1extra::L1HFRingsRef refHFRings ; - + l1extra::L1EmParticleRefVector refVecEmColl ; l1extra::L1JetParticleRefVector refVecJetColl ; l1extra::L1MuonParticleRefVector refVecMuonColl ; l1extra::L1EtMissParticleRefVector refVecEtMiss ; l1extra::L1HFRingsRefVector refVecHFRings ; - + l1extra::L1EmParticleVectorRef vecRefEmColl ; l1extra::L1JetParticleVectorRef vecRefJetColl ; l1extra::L1MuonParticleVectorRef vecRefMuonColl ; l1extra::L1EtMissParticleVectorRef vecRefEtMissColl ; l1extra::L1HFRingsVectorRef vecRefHFRingsColl ; - + l1extra::L1EtMissParticleRefProd refProdEtMiss ; edm::reftobase::Holder rtbe; @@ -90,12 +87,12 @@ namespace DataFormats_L1Trigger { edm::reftobase::Holder rtbj; edm::reftobase::Holder rtbm1; edm::reftobase::Holder rtbm2; - + std::vector dummy1 ; - + L1DataEmulRecord der; edm::Wrapper w_der; - + L1TriggerError l1tErr; L1TriggerErrorCollection l1tErrColl; edm::Wrapper w_l1terr; diff --git a/DataFormats/L1Trigger/src/classes_def.xml b/DataFormats/L1Trigger/src/classes_def.xml index b897024b2cf24..183dd27cc496c 100644 --- a/DataFormats/L1Trigger/src/classes_def.xml +++ b/DataFormats/L1Trigger/src/classes_def.xml @@ -35,12 +35,6 @@ - - - - - - diff --git a/L1Trigger/L1TCalorimeter/data/egCalibrationLUT.txt b/L1Trigger/L1TCalorimeter/data/egCalibrationLUT.txt deleted file mode 100644 index 25eae29c5e43d..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/egCalibrationLUT.txt +++ /dev/null @@ -1,38 +0,0 @@ -# Calibration vs |ieta|. Derived from T&P Data 2012 -# The LUT output is (ET_off/ET_L1 - 1) between O and 1, encoded on 9 bits -# Index is |ieta|. 0 is |ieta|=1 -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 5 9
-0 55 -1 52 -2 51 -3 55 -4 59 -5 60 -6 58 -7 61 -8 62 -9 71 -10 77 -11 82 -12 94 -13 110 -14 115 -15 116 -16 122 -17 120 -18 121 -19 180 -20 199 -21 198 -22 189 -23 188 -24 191 -25 185 -26 163 -27 163 -28 163 -29 163 -30 163 -31 163 diff --git a/L1Trigger/L1TCalorimeter/data/egIsoLUT.txt b/L1Trigger/L1TCalorimeter/data/egIsoLUT.txt deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/L1Trigger/L1TCalorimeter/data/egIsoLUT_PU40bx25.txt b/L1Trigger/L1TCalorimeter/data/egIsoLUT_PU40bx25.txt deleted file mode 100644 index 33e986d191472..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/egIsoLUT_PU40bx25.txt +++ /dev/null @@ -1,32318 +0,0 @@ -#generated with nuGun_Pt2to20_PU40bx25 Fall13dr MC -#uses #towers in +/- 4 in eta with a 1 tower granularity -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-file is : "address payload" and for debuging I've added iEta and #towers after that in a comment -#
V1 32 8
-0 0 # -28 0 -1 0 # -28 1 -2 0 # -28 2 -3 0 # -28 3 -4 3 # -28 4 -5 0 # -28 5 -6 3 # -28 6 -7 9 # -28 7 -8 3 # -28 8 -9 2 # -28 9 -10 4 # -28 10 -11 4 # -28 11 -12 4 # -28 12 -13 5 # -28 13 -14 4 # -28 14 -15 4 # -28 15 -16 4 # -28 16 -17 4 # -28 17 -18 5 # -28 18 -19 4 # -28 19 -20 5 # -28 20 -21 4 # -28 21 -22 5 # -28 22 -23 5 # -28 23 -24 5 # -28 24 -25 5 # -28 25 -26 5 # -28 26 -27 5 # -28 27 -28 6 # -28 28 -29 6 # -28 29 -30 6 # -28 30 -31 6 # -28 31 -32 7 # -28 32 -33 6 # -28 33 -34 6 # -28 34 -35 7 # -28 35 -36 7 # -28 36 -37 7 # -28 37 -38 7 # -28 38 -39 7 # -28 39 -40 7 # -28 40 -41 7 # -28 41 -42 8 # -28 42 -43 8 # -28 43 -44 7 # -28 44 -45 8 # -28 45 -46 8 # -28 46 -47 7 # -28 47 -48 8 # -28 48 -49 8 # -28 49 -50 9 # -28 50 -51 8 # -28 51 -52 8 # -28 52 -53 8 # -28 53 -54 11 # -28 54 -55 9 # -28 55 -56 9 # -28 56 -57 10 # -28 57 -58 10 # -28 58 -59 11 # -28 59 -60 11 # -28 60 -61 10 # -28 61 -62 10 # -28 62 -63 10 # -28 63 -64 13 # -28 64 -65 9 # -28 65 -66 11 # -28 66 -67 10 # -28 67 -68 10 # -28 68 -69 8 # -28 69 -70 8 # -28 70 -71 7 # -28 71 -72 12 # -28 72 -73 9 # -28 73 -74 7 # -28 74 -75 14 # -28 75 -76 8 # -28 76 -77 10 # -28 77 -78 5 # -28 78 -79 12 # -28 79 -80 6 # -28 80 -81 11 # -28 81 -82 0 # -28 82 -83 18 # -28 83 -84 0 # -28 84 -85 1 # -28 85 -86 0 # -28 86 -87 0 # -28 87 -88 5 # -28 88 -89 11 # -28 89 -90 13 # -28 90 -91 7 # -28 91 -92 0 # -28 92 -93 3 # -28 93 -94 0 # -28 94 -95 0 # -28 95 -96 0 # -28 96 -97 0 # -28 97 -98 0 # -28 98 -99 0 # -28 99 -100 0 # -28 100 -101 0 # -28 101 -102 0 # -28 102 -103 0 # -28 103 -104 0 # -28 104 -105 0 # -28 105 -106 0 # -28 106 -107 0 # -28 107 -108 0 # -28 108 -109 0 # -28 109 -110 0 # -28 110 -111 0 # -28 111 -112 0 # -28 112 -113 0 # -28 113 -114 0 # -28 114 -115 0 # -28 115 -116 0 # -28 116 -117 0 # -28 117 -118 0 # -28 118 -119 0 # -28 119 -120 0 # -28 120 -121 0 # -28 121 -122 0 # -28 122 -123 0 # -28 123 -124 0 # -28 124 -125 0 # -28 125 -126 0 # -28 126 -127 0 # -28 127 -128 0 # -28 128 -129 0 # -28 129 -130 0 # -28 130 -131 0 # -28 131 -132 0 # -28 132 -133 0 # -28 133 -134 0 # -28 134 -135 0 # -28 135 -136 0 # -28 136 -137 0 # -28 137 -138 0 # -28 138 -139 0 # -28 139 -140 0 # -28 140 -141 0 # -28 141 -142 0 # -28 142 -143 0 # -28 143 -144 0 # -28 144 -145 0 # -28 145 -146 0 # -28 146 -147 0 # -28 147 -148 0 # -28 148 -149 0 # -28 149 -150 0 # -28 150 -151 0 # -28 151 -152 0 # -28 152 -153 0 # -28 153 -154 0 # -28 154 -155 0 # -28 155 -156 0 # -28 156 -157 0 # -28 157 -158 0 # -28 158 -159 0 # -28 159 -160 0 # -28 160 -161 0 # -28 161 -162 0 # -28 162 -163 0 # -28 163 -164 0 # -28 164 -165 0 # -28 165 -166 0 # -28 166 -167 0 # -28 167 -168 0 # -28 168 -169 0 # -28 169 -170 0 # -28 170 -171 0 # -28 171 -172 0 # -28 172 -173 0 # -28 173 -174 0 # -28 174 -175 0 # -28 175 -176 0 # -28 176 -177 0 # -28 177 -178 0 # -28 178 -179 0 # -28 179 -180 0 # -28 180 -181 0 # -28 181 -182 0 # -28 182 -183 0 # -28 183 -184 0 # -28 184 -185 0 # -28 185 -186 0 # -28 186 -187 0 # -28 187 -188 0 # -28 188 -189 0 # -28 189 -190 0 # -28 190 -191 0 # -28 191 -192 0 # -28 192 -193 0 # -28 193 -194 0 # -28 194 -195 0 # -28 195 -196 0 # -28 196 -197 0 # -28 197 -198 0 # -28 198 -199 0 # -28 199 -200 0 # -28 200 -201 0 # -28 201 -202 0 # -28 202 -203 0 # -28 203 -204 0 # -28 204 -205 0 # -28 205 -206 0 # -28 206 -207 0 # -28 207 -208 0 # -28 208 -209 0 # -28 209 -210 0 # -28 210 -211 0 # -28 211 -212 0 # -28 212 -213 0 # -28 213 -214 0 # -28 214 -215 0 # -28 215 -216 0 # -28 216 -217 0 # -28 217 -218 0 # -28 218 -219 0 # -28 219 -220 0 # -28 220 -221 0 # -28 221 -222 0 # -28 222 -223 0 # -28 223 -224 0 # -28 224 -225 0 # -28 225 -226 0 # -28 226 -227 0 # -28 227 -228 0 # -28 228 -229 0 # -28 229 -230 0 # -28 230 -231 0 # -28 231 -232 0 # -28 232 -233 0 # -28 233 -234 0 # -28 234 -235 0 # -28 235 -236 0 # -28 236 -237 0 # -28 237 -238 0 # -28 238 -239 0 # -28 239 -240 0 # -28 240 -241 0 # -28 241 -242 0 # -28 242 -243 0 # -28 243 -244 0 # -28 244 -245 0 # -28 245 -246 0 # -28 246 -247 0 # -28 247 -248 0 # -28 248 -249 0 # -28 249 -250 0 # -28 250 -251 0 # -28 251 -252 0 # -28 252 -253 0 # -28 253 -254 0 # -28 254 -255 0 # -28 255 -256 0 # -28 256 -257 0 # -28 257 -258 0 # -28 258 -259 0 # -28 259 -260 0 # -28 260 -261 0 # -28 261 -262 0 # -28 262 -263 0 # -28 263 -264 0 # -28 264 -265 0 # -28 265 -266 0 # -28 266 -267 0 # -28 267 -268 0 # -28 268 -269 0 # -28 269 -270 0 # -28 270 -271 0 # -28 271 -272 0 # -28 272 -273 0 # -28 273 -274 0 # -28 274 -275 0 # -28 275 -276 0 # -28 276 -277 0 # -28 277 -278 0 # -28 278 -279 0 # -28 279 -280 0 # -28 280 -281 0 # -28 281 -282 0 # -28 282 -283 0 # -28 283 -284 0 # -28 284 -285 0 # -28 285 -286 0 # -28 286 -287 0 # -28 287 -288 0 # -28 288 -289 0 # -28 289 -290 0 # -28 290 -291 0 # -28 291 -292 0 # -28 292 -293 0 # -28 293 -294 0 # -28 294 -295 0 # -28 295 -296 0 # -28 296 -297 0 # -28 297 -298 0 # -28 298 -299 0 # -28 299 -300 0 # -28 300 -301 0 # -28 301 -302 0 # -28 302 -303 0 # -28 303 -304 0 # -28 304 -305 0 # -28 305 -306 0 # -28 306 -307 0 # -28 307 -308 0 # -28 308 -309 0 # -28 309 -310 0 # -28 310 -311 0 # -28 311 -312 0 # -28 312 -313 0 # -28 313 -314 0 # -28 314 -315 0 # -28 315 -316 0 # -28 316 -317 0 # -28 317 -318 0 # -28 318 -319 0 # -28 319 -320 0 # -28 320 -321 0 # -28 321 -322 0 # -28 322 -323 0 # -28 323 -324 0 # -28 324 -325 0 # -28 325 -326 0 # -28 326 -327 0 # -28 327 -328 0 # -28 328 -329 0 # -28 329 -330 0 # -28 330 -331 0 # -28 331 -332 0 # -28 332 -333 0 # -28 333 -334 0 # -28 334 -335 0 # -28 335 -336 0 # -28 336 -337 0 # -28 337 -338 0 # -28 338 -339 0 # -28 339 -340 0 # -28 340 -341 0 # -28 341 -342 0 # -28 342 -343 0 # -28 343 -344 0 # -28 344 -345 0 # -28 345 -346 0 # -28 346 -347 0 # -28 347 -348 0 # -28 348 -349 0 # -28 349 -350 0 # -28 350 -351 0 # -28 351 -352 0 # -28 352 -353 0 # -28 353 -354 0 # -28 354 -355 0 # -28 355 -356 0 # -28 356 -357 0 # -28 357 -358 0 # -28 358 -359 0 # -28 359 -360 0 # -28 360 -361 0 # -28 361 -362 0 # -28 362 -363 0 # -28 363 -364 0 # -28 364 -365 0 # -28 365 -366 0 # -28 366 -367 0 # -28 367 -368 0 # -28 368 -369 0 # -28 369 -370 0 # -28 370 -371 0 # -28 371 -372 0 # -28 372 -373 0 # -28 373 -374 0 # -28 374 -375 0 # -28 375 -376 0 # -28 376 -377 0 # -28 377 -378 0 # -28 378 -379 0 # -28 379 -380 0 # -28 380 -381 0 # -28 381 -382 0 # -28 382 -383 0 # -28 383 -384 0 # -28 384 -385 0 # -28 385 -386 0 # -28 386 -387 0 # -28 387 -388 0 # -28 388 -389 0 # -28 389 -390 0 # -28 390 -391 0 # -28 391 -392 0 # -28 392 -393 0 # -28 393 -394 0 # -28 394 -395 0 # -28 395 -396 0 # -28 396 -397 0 # -28 397 -398 0 # -28 398 -399 0 # -28 399 -400 0 # -28 400 -401 0 # -28 401 -402 0 # -28 402 -403 0 # -28 403 -404 0 # -28 404 -405 0 # -28 405 -406 0 # -28 406 -407 0 # -28 407 -408 0 # -28 408 -409 0 # -28 409 -410 0 # -28 410 -411 0 # -28 411 -412 0 # -28 412 -413 0 # -28 413 -414 0 # -28 414 -415 0 # -28 415 -416 0 # -28 416 -417 0 # -28 417 -418 0 # -28 418 -419 0 # -28 419 -420 0 # -28 420 -421 0 # -28 421 -422 0 # -28 422 -423 0 # -28 423 -424 0 # -28 424 -425 0 # -28 425 -426 0 # -28 426 -427 0 # -28 427 -428 0 # -28 428 -429 0 # -28 429 -430 0 # -28 430 -431 0 # -28 431 -432 0 # -28 432 -433 0 # -28 433 -434 0 # -28 434 -435 0 # -28 435 -436 0 # -28 436 -437 0 # -28 437 -438 0 # -28 438 -439 0 # -28 439 -440 0 # -28 440 -441 0 # -28 441 -442 0 # -28 442 -443 0 # -28 443 -444 0 # -28 444 -445 0 # -28 445 -446 0 # -28 446 -447 0 # -28 447 -448 0 # -28 448 -449 0 # -28 449 -450 0 # -28 450 -451 0 # -28 451 -452 0 # -28 452 -453 0 # -28 453 -454 0 # -28 454 -455 0 # -28 455 -456 0 # -28 456 -457 0 # -28 457 -458 0 # -28 458 -459 0 # -28 459 -460 0 # -28 460 -461 0 # -28 461 -462 0 # -28 462 -463 0 # -28 463 -464 0 # -28 464 -465 0 # -28 465 -466 0 # -28 466 -467 0 # -28 467 -468 0 # -28 468 -469 0 # -28 469 -470 0 # -28 470 -471 0 # -28 471 -472 0 # -28 472 -473 0 # -28 473 -474 0 # -28 474 -475 0 # -28 475 -476 0 # -28 476 -477 0 # -28 477 -478 0 # -28 478 -479 0 # -28 479 -480 0 # -28 480 -481 0 # -28 481 -482 0 # -28 482 -483 0 # -28 483 -484 0 # -28 484 -485 0 # -28 485 -486 0 # -28 486 -487 0 # -28 487 -488 0 # -28 488 -489 0 # -28 489 -490 0 # -28 490 -491 0 # -28 491 -492 0 # -28 492 -493 0 # -28 493 -494 0 # -28 494 -495 0 # -28 495 -496 0 # -28 496 -497 0 # -28 497 -498 0 # -28 498 -499 0 # -28 499 -500 0 # -28 500 -501 0 # -28 501 -502 0 # -28 502 -503 0 # -28 503 -504 0 # -28 504 -505 0 # -28 505 -506 0 # -28 506 -507 0 # -28 507 -508 0 # -28 508 -509 0 # -28 509 -510 0 # -28 510 -511 0 # -28 511 -512 0 # -28 512 -513 0 # -28 513 -514 0 # -28 514 -515 0 # -28 515 -516 0 # -28 516 -517 0 # -28 517 -518 0 # -28 518 -519 0 # -28 519 -520 0 # -28 520 -521 0 # -28 521 -522 0 # -28 522 -523 0 # -28 523 -524 0 # -28 524 -525 0 # -28 525 -526 0 # -28 526 -527 0 # -28 527 -528 0 # -28 528 -529 0 # -28 529 -530 0 # -28 530 -531 0 # -28 531 -532 0 # -28 532 -533 0 # -28 533 -534 0 # -28 534 -535 0 # -28 535 -536 0 # -28 536 -537 0 # -28 537 -538 0 # -28 538 -539 0 # -28 539 -540 0 # -28 540 -541 0 # -28 541 -542 0 # -28 542 -543 0 # -28 543 -544 0 # -28 544 -545 0 # -28 545 -546 0 # -28 546 -547 0 # -28 547 -548 0 # -28 548 -549 0 # -28 549 -550 0 # -28 550 -551 0 # -28 551 -552 0 # -28 552 -553 0 # -28 553 -554 0 # -28 554 -555 0 # -28 555 -556 0 # -28 556 -557 0 # -28 557 -558 0 # -28 558 -559 0 # -28 559 -560 0 # -28 560 -561 0 # -28 561 -562 0 # -28 562 -563 0 # -28 563 -564 0 # -28 564 -565 0 # -28 565 -566 0 # -28 566 -567 0 # -28 567 -568 0 # -28 568 -569 0 # -28 569 -570 0 # -28 570 -571 0 # -28 571 -572 0 # -28 572 -573 0 # -28 573 -574 0 # -28 574 -575 0 # -28 575 -576 0 # -28 576 -577 0 # -27 0 -578 0 # -27 1 -579 0 # -27 2 -580 0 # -27 3 -581 4 # -27 4 -582 0 # -27 5 -583 2 # -27 6 -584 6 # -27 7 -585 2 # -27 8 -586 4 # -27 9 -587 4 # -27 10 -588 4 # -27 11 -589 4 # -27 12 -590 6 # -27 13 -591 5 # -27 14 -592 4 # -27 15 -593 6 # -27 16 -594 5 # -27 17 -595 5 # -27 18 -596 6 # -27 19 -597 6 # -27 20 -598 6 # -27 21 -599 6 # -27 22 -600 6 # -27 23 -601 7 # -27 24 -602 6 # -27 25 -603 6 # -27 26 -604 7 # -27 27 -605 7 # -27 28 -606 7 # -27 29 -607 7 # -27 30 -608 7 # -27 31 -609 8 # -27 32 -610 8 # -27 33 -611 8 # -27 34 -612 8 # -27 35 -613 8 # -27 36 -614 9 # -27 37 -615 8 # -27 38 -616 10 # -27 39 -617 9 # -27 40 -618 9 # -27 41 -619 9 # -27 42 -620 9 # -27 43 -621 9 # -27 44 -622 10 # -27 45 -623 10 # -27 46 -624 9 # -27 47 -625 10 # -27 48 -626 10 # -27 49 -627 10 # -27 50 -628 11 # -27 51 -629 9 # -27 52 -630 12 # -27 53 -631 11 # -27 54 -632 12 # -27 55 -633 10 # -27 56 -634 12 # -27 57 -635 11 # -27 58 -636 12 # -27 59 -637 12 # -27 60 -638 14 # -27 61 -639 12 # -27 62 -640 12 # -27 63 -641 15 # -27 64 -642 12 # -27 65 -643 14 # -27 66 -644 13 # -27 67 -645 12 # -27 68 -646 11 # -27 69 -647 10 # -27 70 -648 10 # -27 71 -649 13 # -27 72 -650 14 # -27 73 -651 10 # -27 74 -652 15 # -27 75 -653 9 # -27 76 -654 19 # -27 77 -655 7 # -27 78 -656 18 # -27 79 -657 7 # -27 80 -658 10 # -27 81 -659 2 # -27 82 -660 26 # -27 83 -661 0 # -27 84 -662 3 # -27 85 -663 0 # -27 86 -664 0 # -27 87 -665 3 # -27 88 -666 13 # -27 89 -667 14 # -27 90 -668 10 # -27 91 -669 0 # -27 92 -670 2 # -27 93 -671 0 # -27 94 -672 0 # -27 95 -673 0 # -27 96 -674 0 # -27 97 -675 0 # -27 98 -676 0 # -27 99 -677 0 # -27 100 -678 0 # -27 101 -679 0 # -27 102 -680 0 # -27 103 -681 0 # -27 104 -682 0 # -27 105 -683 0 # -27 106 -684 0 # -27 107 -685 0 # -27 108 -686 0 # -27 109 -687 0 # -27 110 -688 0 # -27 111 -689 0 # -27 112 -690 0 # -27 113 -691 0 # -27 114 -692 0 # -27 115 -693 0 # -27 116 -694 0 # -27 117 -695 0 # -27 118 -696 0 # -27 119 -697 0 # -27 120 -698 0 # -27 121 -699 0 # -27 122 -700 0 # -27 123 -701 0 # -27 124 -702 0 # -27 125 -703 0 # -27 126 -704 0 # -27 127 -705 0 # -27 128 -706 0 # -27 129 -707 0 # -27 130 -708 0 # -27 131 -709 0 # -27 132 -710 0 # -27 133 -711 0 # -27 134 -712 0 # -27 135 -713 0 # -27 136 -714 0 # -27 137 -715 0 # -27 138 -716 0 # -27 139 -717 0 # -27 140 -718 0 # -27 141 -719 0 # -27 142 -720 0 # -27 143 -721 0 # -27 144 -722 0 # -27 145 -723 0 # -27 146 -724 0 # -27 147 -725 0 # -27 148 -726 0 # -27 149 -727 0 # -27 150 -728 0 # -27 151 -729 0 # -27 152 -730 0 # -27 153 -731 0 # -27 154 -732 0 # -27 155 -733 0 # -27 156 -734 0 # -27 157 -735 0 # -27 158 -736 0 # -27 159 -737 0 # -27 160 -738 0 # -27 161 -739 0 # -27 162 -740 0 # -27 163 -741 0 # -27 164 -742 0 # -27 165 -743 0 # -27 166 -744 0 # -27 167 -745 0 # -27 168 -746 0 # -27 169 -747 0 # -27 170 -748 0 # -27 171 -749 0 # -27 172 -750 0 # -27 173 -751 0 # -27 174 -752 0 # -27 175 -753 0 # -27 176 -754 0 # -27 177 -755 0 # -27 178 -756 0 # -27 179 -757 0 # -27 180 -758 0 # -27 181 -759 0 # -27 182 -760 0 # -27 183 -761 0 # -27 184 -762 0 # -27 185 -763 0 # -27 186 -764 0 # -27 187 -765 0 # -27 188 -766 0 # -27 189 -767 0 # -27 190 -768 0 # -27 191 -769 0 # -27 192 -770 0 # -27 193 -771 0 # -27 194 -772 0 # -27 195 -773 0 # -27 196 -774 0 # -27 197 -775 0 # -27 198 -776 0 # -27 199 -777 0 # -27 200 -778 0 # -27 201 -779 0 # -27 202 -780 0 # -27 203 -781 0 # -27 204 -782 0 # -27 205 -783 0 # -27 206 -784 0 # -27 207 -785 0 # -27 208 -786 0 # -27 209 -787 0 # -27 210 -788 0 # -27 211 -789 0 # -27 212 -790 0 # -27 213 -791 0 # -27 214 -792 0 # -27 215 -793 0 # -27 216 -794 0 # -27 217 -795 0 # -27 218 -796 0 # -27 219 -797 0 # -27 220 -798 0 # -27 221 -799 0 # -27 222 -800 0 # -27 223 -801 0 # -27 224 -802 0 # -27 225 -803 0 # -27 226 -804 0 # -27 227 -805 0 # -27 228 -806 0 # -27 229 -807 0 # -27 230 -808 0 # -27 231 -809 0 # -27 232 -810 0 # -27 233 -811 0 # -27 234 -812 0 # -27 235 -813 0 # -27 236 -814 0 # -27 237 -815 0 # -27 238 -816 0 # -27 239 -817 0 # -27 240 -818 0 # -27 241 -819 0 # -27 242 -820 0 # -27 243 -821 0 # -27 244 -822 0 # -27 245 -823 0 # -27 246 -824 0 # -27 247 -825 0 # -27 248 -826 0 # -27 249 -827 0 # -27 250 -828 0 # -27 251 -829 0 # -27 252 -830 0 # -27 253 -831 0 # -27 254 -832 0 # -27 255 -833 0 # -27 256 -834 0 # -27 257 -835 0 # -27 258 -836 0 # -27 259 -837 0 # -27 260 -838 0 # -27 261 -839 0 # -27 262 -840 0 # -27 263 -841 0 # -27 264 -842 0 # -27 265 -843 0 # -27 266 -844 0 # -27 267 -845 0 # -27 268 -846 0 # -27 269 -847 0 # -27 270 -848 0 # -27 271 -849 0 # -27 272 -850 0 # -27 273 -851 0 # -27 274 -852 0 # -27 275 -853 0 # -27 276 -854 0 # -27 277 -855 0 # -27 278 -856 0 # -27 279 -857 0 # -27 280 -858 0 # -27 281 -859 0 # -27 282 -860 0 # -27 283 -861 0 # -27 284 -862 0 # -27 285 -863 0 # -27 286 -864 0 # -27 287 -865 0 # -27 288 -866 0 # -27 289 -867 0 # -27 290 -868 0 # -27 291 -869 0 # -27 292 -870 0 # -27 293 -871 0 # -27 294 -872 0 # -27 295 -873 0 # -27 296 -874 0 # -27 297 -875 0 # -27 298 -876 0 # -27 299 -877 0 # -27 300 -878 0 # -27 301 -879 0 # -27 302 -880 0 # -27 303 -881 0 # -27 304 -882 0 # -27 305 -883 0 # -27 306 -884 0 # -27 307 -885 0 # -27 308 -886 0 # -27 309 -887 0 # -27 310 -888 0 # -27 311 -889 0 # -27 312 -890 0 # -27 313 -891 0 # -27 314 -892 0 # -27 315 -893 0 # -27 316 -894 0 # -27 317 -895 0 # -27 318 -896 0 # -27 319 -897 0 # -27 320 -898 0 # -27 321 -899 0 # -27 322 -900 0 # -27 323 -901 0 # -27 324 -902 0 # -27 325 -903 0 # -27 326 -904 0 # -27 327 -905 0 # -27 328 -906 0 # -27 329 -907 0 # -27 330 -908 0 # -27 331 -909 0 # -27 332 -910 0 # -27 333 -911 0 # -27 334 -912 0 # -27 335 -913 0 # -27 336 -914 0 # -27 337 -915 0 # -27 338 -916 0 # -27 339 -917 0 # -27 340 -918 0 # -27 341 -919 0 # -27 342 -920 0 # -27 343 -921 0 # -27 344 -922 0 # -27 345 -923 0 # -27 346 -924 0 # -27 347 -925 0 # -27 348 -926 0 # -27 349 -927 0 # -27 350 -928 0 # -27 351 -929 0 # -27 352 -930 0 # -27 353 -931 0 # -27 354 -932 0 # -27 355 -933 0 # -27 356 -934 0 # -27 357 -935 0 # -27 358 -936 0 # -27 359 -937 0 # -27 360 -938 0 # -27 361 -939 0 # -27 362 -940 0 # -27 363 -941 0 # -27 364 -942 0 # -27 365 -943 0 # -27 366 -944 0 # -27 367 -945 0 # -27 368 -946 0 # -27 369 -947 0 # -27 370 -948 0 # -27 371 -949 0 # -27 372 -950 0 # -27 373 -951 0 # -27 374 -952 0 # -27 375 -953 0 # -27 376 -954 0 # -27 377 -955 0 # -27 378 -956 0 # -27 379 -957 0 # -27 380 -958 0 # -27 381 -959 0 # -27 382 -960 0 # -27 383 -961 0 # -27 384 -962 0 # -27 385 -963 0 # -27 386 -964 0 # -27 387 -965 0 # -27 388 -966 0 # -27 389 -967 0 # -27 390 -968 0 # -27 391 -969 0 # -27 392 -970 0 # -27 393 -971 0 # -27 394 -972 0 # -27 395 -973 0 # -27 396 -974 0 # -27 397 -975 0 # -27 398 -976 0 # -27 399 -977 0 # -27 400 -978 0 # -27 401 -979 0 # -27 402 -980 0 # -27 403 -981 0 # -27 404 -982 0 # -27 405 -983 0 # -27 406 -984 0 # -27 407 -985 0 # -27 408 -986 0 # -27 409 -987 0 # -27 410 -988 0 # -27 411 -989 0 # -27 412 -990 0 # -27 413 -991 0 # -27 414 -992 0 # -27 415 -993 0 # -27 416 -994 0 # -27 417 -995 0 # -27 418 -996 0 # -27 419 -997 0 # -27 420 -998 0 # -27 421 -999 0 # -27 422 -1000 0 # -27 423 -1001 0 # -27 424 -1002 0 # -27 425 -1003 0 # -27 426 -1004 0 # -27 427 -1005 0 # -27 428 -1006 0 # -27 429 -1007 0 # -27 430 -1008 0 # -27 431 -1009 0 # -27 432 -1010 0 # -27 433 -1011 0 # -27 434 -1012 0 # -27 435 -1013 0 # -27 436 -1014 0 # -27 437 -1015 0 # -27 438 -1016 0 # -27 439 -1017 0 # -27 440 -1018 0 # -27 441 -1019 0 # -27 442 -1020 0 # -27 443 -1021 0 # -27 444 -1022 0 # -27 445 -1023 0 # -27 446 -1024 0 # -27 447 -1025 0 # -27 448 -1026 0 # -27 449 -1027 0 # -27 450 -1028 0 # -27 451 -1029 0 # -27 452 -1030 0 # -27 453 -1031 0 # -27 454 -1032 0 # -27 455 -1033 0 # -27 456 -1034 0 # -27 457 -1035 0 # -27 458 -1036 0 # -27 459 -1037 0 # -27 460 -1038 0 # -27 461 -1039 0 # -27 462 -1040 0 # -27 463 -1041 0 # -27 464 -1042 0 # -27 465 -1043 0 # -27 466 -1044 0 # -27 467 -1045 0 # -27 468 -1046 0 # -27 469 -1047 0 # -27 470 -1048 0 # -27 471 -1049 0 # -27 472 -1050 0 # -27 473 -1051 0 # -27 474 -1052 0 # -27 475 -1053 0 # -27 476 -1054 0 # -27 477 -1055 0 # -27 478 -1056 0 # -27 479 -1057 0 # -27 480 -1058 0 # -27 481 -1059 0 # -27 482 -1060 0 # -27 483 -1061 0 # -27 484 -1062 0 # -27 485 -1063 0 # -27 486 -1064 0 # -27 487 -1065 0 # -27 488 -1066 0 # -27 489 -1067 0 # -27 490 -1068 0 # -27 491 -1069 0 # -27 492 -1070 0 # -27 493 -1071 0 # -27 494 -1072 0 # -27 495 -1073 0 # -27 496 -1074 0 # -27 497 -1075 0 # -27 498 -1076 0 # -27 499 -1077 0 # -27 500 -1078 0 # -27 501 -1079 0 # -27 502 -1080 0 # -27 503 -1081 0 # -27 504 -1082 0 # -27 505 -1083 0 # -27 506 -1084 0 # -27 507 -1085 0 # -27 508 -1086 0 # -27 509 -1087 0 # -27 510 -1088 0 # -27 511 -1089 0 # -27 512 -1090 0 # -27 513 -1091 0 # -27 514 -1092 0 # -27 515 -1093 0 # -27 516 -1094 0 # -27 517 -1095 0 # -27 518 -1096 0 # -27 519 -1097 0 # -27 520 -1098 0 # -27 521 -1099 0 # -27 522 -1100 0 # -27 523 -1101 0 # -27 524 -1102 0 # -27 525 -1103 0 # -27 526 -1104 0 # -27 527 -1105 0 # -27 528 -1106 0 # -27 529 -1107 0 # -27 530 -1108 0 # -27 531 -1109 0 # -27 532 -1110 0 # -27 533 -1111 0 # -27 534 -1112 0 # -27 535 -1113 0 # -27 536 -1114 0 # -27 537 -1115 0 # -27 538 -1116 0 # -27 539 -1117 0 # -27 540 -1118 0 # -27 541 -1119 0 # -27 542 -1120 0 # -27 543 -1121 0 # -27 544 -1122 0 # -27 545 -1123 0 # -27 546 -1124 0 # -27 547 -1125 0 # -27 548 -1126 0 # -27 549 -1127 0 # -27 550 -1128 0 # -27 551 -1129 0 # -27 552 -1130 0 # -27 553 -1131 0 # -27 554 -1132 0 # -27 555 -1133 0 # -27 556 -1134 0 # -27 557 -1135 0 # -27 558 -1136 0 # -27 559 -1137 0 # -27 560 -1138 0 # -27 561 -1139 0 # -27 562 -1140 0 # -27 563 -1141 0 # -27 564 -1142 0 # -27 565 -1143 0 # -27 566 -1144 0 # -27 567 -1145 0 # -27 568 -1146 0 # -27 569 -1147 0 # -27 570 -1148 0 # -27 571 -1149 0 # -27 572 -1150 0 # -27 573 -1151 0 # -27 574 -1152 0 # -27 575 -1153 0 # -27 576 -1154 0 # -26 0 -1155 0 # -26 1 -1156 0 # -26 2 -1157 0 # -26 3 -1158 2 # -26 4 -1159 0 # -26 5 -1160 2 # -26 6 -1161 2 # -26 7 -1162 3 # -26 8 -1163 4 # -26 9 -1164 6 # -26 10 -1165 4 # -26 11 -1166 6 # -26 12 -1167 8 # -26 13 -1168 6 # -26 14 -1169 6 # -26 15 -1170 6 # -26 16 -1171 6 # -26 17 -1172 7 # -26 18 -1173 7 # -26 19 -1174 6 # -26 20 -1175 6 # -26 21 -1176 7 # -26 22 -1177 6 # -26 23 -1178 8 # -26 24 -1179 7 # -26 25 -1180 8 # -26 26 -1181 8 # -26 27 -1182 8 # -26 28 -1183 8 # -26 29 -1184 8 # -26 30 -1185 8 # -26 31 -1186 9 # -26 32 -1187 9 # -26 33 -1188 9 # -26 34 -1189 10 # -26 35 -1190 9 # -26 36 -1191 10 # -26 37 -1192 10 # -26 38 -1193 10 # -26 39 -1194 10 # -26 40 -1195 10 # -26 41 -1196 10 # -26 42 -1197 11 # -26 43 -1198 10 # -26 44 -1199 11 # -26 45 -1200 11 # -26 46 -1201 12 # -26 47 -1202 11 # -26 48 -1203 11 # -26 49 -1204 13 # -26 50 -1205 12 # -26 51 -1206 12 # -26 52 -1207 13 # -26 53 -1208 14 # -26 54 -1209 14 # -26 55 -1210 12 # -26 56 -1211 13 # -26 57 -1212 13 # -26 58 -1213 13 # -26 59 -1214 16 # -26 60 -1215 14 # -26 61 -1216 16 # -26 62 -1217 15 # -26 63 -1218 16 # -26 64 -1219 10 # -26 65 -1220 15 # -26 66 -1221 11 # -26 67 -1222 15 # -26 68 -1223 13 # -26 69 -1224 9 # -26 70 -1225 8 # -26 71 -1226 14 # -26 72 -1227 13 # -26 73 -1228 12 # -26 74 -1229 12 # -26 75 -1230 13 # -26 76 -1231 26 # -26 77 -1232 13 # -26 78 -1233 18 # -26 79 -1234 8 # -26 80 -1235 12 # -26 81 -1236 3 # -26 82 -1237 36 # -26 83 -1238 0 # -26 84 -1239 0 # -26 85 -1240 0 # -26 86 -1241 0 # -26 87 -1242 4 # -26 88 -1243 9 # -26 89 -1244 11 # -26 90 -1245 7 # -26 91 -1246 0 # -26 92 -1247 2 # -26 93 -1248 0 # -26 94 -1249 0 # -26 95 -1250 0 # -26 96 -1251 0 # -26 97 -1252 0 # -26 98 -1253 0 # -26 99 -1254 0 # -26 100 -1255 0 # -26 101 -1256 0 # -26 102 -1257 0 # -26 103 -1258 0 # -26 104 -1259 0 # -26 105 -1260 0 # -26 106 -1261 0 # -26 107 -1262 0 # -26 108 -1263 0 # -26 109 -1264 0 # -26 110 -1265 0 # -26 111 -1266 0 # -26 112 -1267 0 # -26 113 -1268 0 # -26 114 -1269 0 # -26 115 -1270 0 # -26 116 -1271 0 # -26 117 -1272 0 # -26 118 -1273 0 # -26 119 -1274 0 # -26 120 -1275 0 # -26 121 -1276 0 # -26 122 -1277 0 # -26 123 -1278 0 # -26 124 -1279 0 # -26 125 -1280 0 # -26 126 -1281 0 # -26 127 -1282 0 # -26 128 -1283 0 # -26 129 -1284 0 # -26 130 -1285 0 # -26 131 -1286 0 # -26 132 -1287 0 # -26 133 -1288 0 # -26 134 -1289 0 # -26 135 -1290 0 # -26 136 -1291 0 # -26 137 -1292 0 # -26 138 -1293 0 # -26 139 -1294 0 # -26 140 -1295 0 # -26 141 -1296 0 # -26 142 -1297 0 # -26 143 -1298 0 # -26 144 -1299 0 # -26 145 -1300 0 # -26 146 -1301 0 # -26 147 -1302 0 # -26 148 -1303 0 # -26 149 -1304 0 # -26 150 -1305 0 # -26 151 -1306 0 # -26 152 -1307 0 # -26 153 -1308 0 # -26 154 -1309 0 # -26 155 -1310 0 # -26 156 -1311 0 # -26 157 -1312 0 # -26 158 -1313 0 # -26 159 -1314 0 # -26 160 -1315 0 # -26 161 -1316 0 # -26 162 -1317 0 # -26 163 -1318 0 # -26 164 -1319 0 # -26 165 -1320 0 # -26 166 -1321 0 # -26 167 -1322 0 # -26 168 -1323 0 # -26 169 -1324 0 # -26 170 -1325 0 # -26 171 -1326 0 # -26 172 -1327 0 # -26 173 -1328 0 # -26 174 -1329 0 # -26 175 -1330 0 # -26 176 -1331 0 # -26 177 -1332 0 # -26 178 -1333 0 # -26 179 -1334 0 # -26 180 -1335 0 # -26 181 -1336 0 # -26 182 -1337 0 # -26 183 -1338 0 # -26 184 -1339 0 # -26 185 -1340 0 # -26 186 -1341 0 # -26 187 -1342 0 # -26 188 -1343 0 # -26 189 -1344 0 # -26 190 -1345 0 # -26 191 -1346 0 # -26 192 -1347 0 # -26 193 -1348 0 # -26 194 -1349 0 # -26 195 -1350 0 # -26 196 -1351 0 # -26 197 -1352 0 # -26 198 -1353 0 # -26 199 -1354 0 # -26 200 -1355 0 # -26 201 -1356 0 # -26 202 -1357 0 # -26 203 -1358 0 # -26 204 -1359 0 # -26 205 -1360 0 # -26 206 -1361 0 # -26 207 -1362 0 # -26 208 -1363 0 # -26 209 -1364 0 # -26 210 -1365 0 # -26 211 -1366 0 # -26 212 -1367 0 # -26 213 -1368 0 # -26 214 -1369 0 # -26 215 -1370 0 # -26 216 -1371 0 # -26 217 -1372 0 # -26 218 -1373 0 # -26 219 -1374 0 # -26 220 -1375 0 # -26 221 -1376 0 # -26 222 -1377 0 # -26 223 -1378 0 # -26 224 -1379 0 # -26 225 -1380 0 # -26 226 -1381 0 # -26 227 -1382 0 # -26 228 -1383 0 # -26 229 -1384 0 # -26 230 -1385 0 # -26 231 -1386 0 # -26 232 -1387 0 # -26 233 -1388 0 # -26 234 -1389 0 # -26 235 -1390 0 # -26 236 -1391 0 # -26 237 -1392 0 # -26 238 -1393 0 # -26 239 -1394 0 # -26 240 -1395 0 # -26 241 -1396 0 # -26 242 -1397 0 # -26 243 -1398 0 # -26 244 -1399 0 # -26 245 -1400 0 # -26 246 -1401 0 # -26 247 -1402 0 # -26 248 -1403 0 # -26 249 -1404 0 # -26 250 -1405 0 # -26 251 -1406 0 # -26 252 -1407 0 # -26 253 -1408 0 # -26 254 -1409 0 # -26 255 -1410 0 # -26 256 -1411 0 # -26 257 -1412 0 # -26 258 -1413 0 # -26 259 -1414 0 # -26 260 -1415 0 # -26 261 -1416 0 # -26 262 -1417 0 # -26 263 -1418 0 # -26 264 -1419 0 # -26 265 -1420 0 # -26 266 -1421 0 # -26 267 -1422 0 # -26 268 -1423 0 # -26 269 -1424 0 # -26 270 -1425 0 # -26 271 -1426 0 # -26 272 -1427 0 # -26 273 -1428 0 # -26 274 -1429 0 # -26 275 -1430 0 # -26 276 -1431 0 # -26 277 -1432 0 # -26 278 -1433 0 # -26 279 -1434 0 # -26 280 -1435 0 # -26 281 -1436 0 # -26 282 -1437 0 # -26 283 -1438 0 # -26 284 -1439 0 # -26 285 -1440 0 # -26 286 -1441 0 # -26 287 -1442 0 # -26 288 -1443 0 # -26 289 -1444 0 # -26 290 -1445 0 # -26 291 -1446 0 # -26 292 -1447 0 # -26 293 -1448 0 # -26 294 -1449 0 # -26 295 -1450 0 # -26 296 -1451 0 # -26 297 -1452 0 # -26 298 -1453 0 # -26 299 -1454 0 # -26 300 -1455 0 # -26 301 -1456 0 # -26 302 -1457 0 # -26 303 -1458 0 # -26 304 -1459 0 # -26 305 -1460 0 # -26 306 -1461 0 # -26 307 -1462 0 # -26 308 -1463 0 # -26 309 -1464 0 # -26 310 -1465 0 # -26 311 -1466 0 # -26 312 -1467 0 # -26 313 -1468 0 # -26 314 -1469 0 # -26 315 -1470 0 # -26 316 -1471 0 # -26 317 -1472 0 # -26 318 -1473 0 # -26 319 -1474 0 # -26 320 -1475 0 # -26 321 -1476 0 # -26 322 -1477 0 # -26 323 -1478 0 # -26 324 -1479 0 # -26 325 -1480 0 # -26 326 -1481 0 # -26 327 -1482 0 # -26 328 -1483 0 # -26 329 -1484 0 # -26 330 -1485 0 # -26 331 -1486 0 # -26 332 -1487 0 # -26 333 -1488 0 # -26 334 -1489 0 # -26 335 -1490 0 # -26 336 -1491 0 # -26 337 -1492 0 # -26 338 -1493 0 # -26 339 -1494 0 # -26 340 -1495 0 # -26 341 -1496 0 # -26 342 -1497 0 # -26 343 -1498 0 # -26 344 -1499 0 # -26 345 -1500 0 # -26 346 -1501 0 # -26 347 -1502 0 # -26 348 -1503 0 # -26 349 -1504 0 # -26 350 -1505 0 # -26 351 -1506 0 # -26 352 -1507 0 # -26 353 -1508 0 # -26 354 -1509 0 # -26 355 -1510 0 # -26 356 -1511 0 # -26 357 -1512 0 # -26 358 -1513 0 # -26 359 -1514 0 # -26 360 -1515 0 # -26 361 -1516 0 # -26 362 -1517 0 # -26 363 -1518 0 # -26 364 -1519 0 # -26 365 -1520 0 # -26 366 -1521 0 # -26 367 -1522 0 # -26 368 -1523 0 # -26 369 -1524 0 # -26 370 -1525 0 # -26 371 -1526 0 # -26 372 -1527 0 # -26 373 -1528 0 # -26 374 -1529 0 # -26 375 -1530 0 # -26 376 -1531 0 # -26 377 -1532 0 # -26 378 -1533 0 # -26 379 -1534 0 # -26 380 -1535 0 # -26 381 -1536 0 # -26 382 -1537 0 # -26 383 -1538 0 # -26 384 -1539 0 # -26 385 -1540 0 # -26 386 -1541 0 # -26 387 -1542 0 # -26 388 -1543 0 # -26 389 -1544 0 # -26 390 -1545 0 # -26 391 -1546 0 # -26 392 -1547 0 # -26 393 -1548 0 # -26 394 -1549 0 # -26 395 -1550 0 # -26 396 -1551 0 # -26 397 -1552 0 # -26 398 -1553 0 # -26 399 -1554 0 # -26 400 -1555 0 # -26 401 -1556 0 # -26 402 -1557 0 # -26 403 -1558 0 # -26 404 -1559 0 # -26 405 -1560 0 # -26 406 -1561 0 # -26 407 -1562 0 # -26 408 -1563 0 # -26 409 -1564 0 # -26 410 -1565 0 # -26 411 -1566 0 # -26 412 -1567 0 # -26 413 -1568 0 # -26 414 -1569 0 # -26 415 -1570 0 # -26 416 -1571 0 # -26 417 -1572 0 # -26 418 -1573 0 # -26 419 -1574 0 # -26 420 -1575 0 # -26 421 -1576 0 # -26 422 -1577 0 # -26 423 -1578 0 # -26 424 -1579 0 # -26 425 -1580 0 # -26 426 -1581 0 # -26 427 -1582 0 # -26 428 -1583 0 # -26 429 -1584 0 # -26 430 -1585 0 # -26 431 -1586 0 # -26 432 -1587 0 # -26 433 -1588 0 # -26 434 -1589 0 # -26 435 -1590 0 # -26 436 -1591 0 # -26 437 -1592 0 # -26 438 -1593 0 # -26 439 -1594 0 # -26 440 -1595 0 # -26 441 -1596 0 # -26 442 -1597 0 # -26 443 -1598 0 # -26 444 -1599 0 # -26 445 -1600 0 # -26 446 -1601 0 # -26 447 -1602 0 # -26 448 -1603 0 # -26 449 -1604 0 # -26 450 -1605 0 # -26 451 -1606 0 # -26 452 -1607 0 # -26 453 -1608 0 # -26 454 -1609 0 # -26 455 -1610 0 # -26 456 -1611 0 # -26 457 -1612 0 # -26 458 -1613 0 # -26 459 -1614 0 # -26 460 -1615 0 # -26 461 -1616 0 # -26 462 -1617 0 # -26 463 -1618 0 # -26 464 -1619 0 # -26 465 -1620 0 # -26 466 -1621 0 # -26 467 -1622 0 # -26 468 -1623 0 # -26 469 -1624 0 # -26 470 -1625 0 # -26 471 -1626 0 # -26 472 -1627 0 # -26 473 -1628 0 # -26 474 -1629 0 # -26 475 -1630 0 # -26 476 -1631 0 # -26 477 -1632 0 # -26 478 -1633 0 # -26 479 -1634 0 # -26 480 -1635 0 # -26 481 -1636 0 # -26 482 -1637 0 # -26 483 -1638 0 # -26 484 -1639 0 # -26 485 -1640 0 # -26 486 -1641 0 # -26 487 -1642 0 # -26 488 -1643 0 # -26 489 -1644 0 # -26 490 -1645 0 # -26 491 -1646 0 # -26 492 -1647 0 # -26 493 -1648 0 # -26 494 -1649 0 # -26 495 -1650 0 # -26 496 -1651 0 # -26 497 -1652 0 # -26 498 -1653 0 # -26 499 -1654 0 # -26 500 -1655 0 # -26 501 -1656 0 # -26 502 -1657 0 # -26 503 -1658 0 # -26 504 -1659 0 # -26 505 -1660 0 # -26 506 -1661 0 # -26 507 -1662 0 # -26 508 -1663 0 # -26 509 -1664 0 # -26 510 -1665 0 # -26 511 -1666 0 # -26 512 -1667 0 # -26 513 -1668 0 # -26 514 -1669 0 # -26 515 -1670 0 # -26 516 -1671 0 # -26 517 -1672 0 # -26 518 -1673 0 # -26 519 -1674 0 # -26 520 -1675 0 # -26 521 -1676 0 # -26 522 -1677 0 # -26 523 -1678 0 # -26 524 -1679 0 # -26 525 -1680 0 # -26 526 -1681 0 # -26 527 -1682 0 # -26 528 -1683 0 # -26 529 -1684 0 # -26 530 -1685 0 # -26 531 -1686 0 # -26 532 -1687 0 # -26 533 -1688 0 # -26 534 -1689 0 # -26 535 -1690 0 # -26 536 -1691 0 # -26 537 -1692 0 # -26 538 -1693 0 # -26 539 -1694 0 # -26 540 -1695 0 # -26 541 -1696 0 # -26 542 -1697 0 # -26 543 -1698 0 # -26 544 -1699 0 # -26 545 -1700 0 # -26 546 -1701 0 # -26 547 -1702 0 # -26 548 -1703 0 # -26 549 -1704 0 # -26 550 -1705 0 # -26 551 -1706 0 # -26 552 -1707 0 # -26 553 -1708 0 # -26 554 -1709 0 # -26 555 -1710 0 # -26 556 -1711 0 # -26 557 -1712 0 # -26 558 -1713 0 # -26 559 -1714 0 # -26 560 -1715 0 # -26 561 -1716 0 # -26 562 -1717 0 # -26 563 -1718 0 # -26 564 -1719 0 # -26 565 -1720 0 # -26 566 -1721 0 # -26 567 -1722 0 # -26 568 -1723 0 # -26 569 -1724 0 # -26 570 -1725 0 # -26 571 -1726 0 # -26 572 -1727 0 # -26 573 -1728 0 # -26 574 -1729 0 # -26 575 -1730 0 # -26 576 -1731 0 # -25 0 -1732 0 # -25 1 -1733 0 # -25 2 -1734 0 # -25 3 -1735 5 # -25 4 -1736 0 # -25 5 -1737 3 # -25 6 -1738 15 # -25 7 -1739 7 # -25 8 -1740 7 # -25 9 -1741 7 # -25 10 -1742 5 # -25 11 -1743 6 # -25 12 -1744 8 # -25 13 -1745 6 # -25 14 -1746 6 # -25 15 -1747 7 # -25 16 -1748 7 # -25 17 -1749 8 # -25 18 -1750 8 # -25 19 -1751 8 # -25 20 -1752 8 # -25 21 -1753 8 # -25 22 -1754 8 # -25 23 -1755 9 # -25 24 -1756 8 # -25 25 -1757 9 # -25 26 -1758 9 # -25 27 -1759 9 # -25 28 -1760 10 # -25 29 -1761 10 # -25 30 -1762 10 # -25 31 -1763 11 # -25 32 -1764 11 # -25 33 -1765 11 # -25 34 -1766 12 # -25 35 -1767 11 # -25 36 -1768 11 # -25 37 -1769 11 # -25 38 -1770 12 # -25 39 -1771 12 # -25 40 -1772 12 # -25 41 -1773 12 # -25 42 -1774 13 # -25 43 -1775 13 # -25 44 -1776 13 # -25 45 -1777 14 # -25 46 -1778 13 # -25 47 -1779 13 # -25 48 -1780 14 # -25 49 -1781 15 # -25 50 -1782 14 # -25 51 -1783 13 # -25 52 -1784 16 # -25 53 -1785 17 # -25 54 -1786 17 # -25 55 -1787 14 # -25 56 -1788 16 # -25 57 -1789 15 # -25 58 -1790 16 # -25 59 -1791 19 # -25 60 -1792 18 # -25 61 -1793 18 # -25 62 -1794 16 # -25 63 -1795 20 # -25 64 -1796 13 # -25 65 -1797 15 # -25 66 -1798 17 # -25 67 -1799 19 # -25 68 -1800 16 # -25 69 -1801 9 # -25 70 -1802 12 # -25 71 -1803 18 # -25 72 -1804 16 # -25 73 -1805 21 # -25 74 -1806 21 # -25 75 -1807 16 # -25 76 -1808 28 # -25 77 -1809 16 # -25 78 -1810 16 # -25 79 -1811 10 # -25 80 -1812 18 # -25 81 -1813 3 # -25 82 -1814 40 # -25 83 -1815 0 # -25 84 -1816 1 # -25 85 -1817 0 # -25 86 -1818 0 # -25 87 -1819 6 # -25 88 -1820 19 # -25 89 -1821 15 # -25 90 -1822 9 # -25 91 -1823 0 # -25 92 -1824 5 # -25 93 -1825 0 # -25 94 -1826 0 # -25 95 -1827 0 # -25 96 -1828 0 # -25 97 -1829 0 # -25 98 -1830 0 # -25 99 -1831 0 # -25 100 -1832 0 # -25 101 -1833 0 # -25 102 -1834 0 # -25 103 -1835 0 # -25 104 -1836 0 # -25 105 -1837 0 # -25 106 -1838 0 # -25 107 -1839 0 # -25 108 -1840 0 # -25 109 -1841 0 # -25 110 -1842 0 # -25 111 -1843 0 # -25 112 -1844 0 # -25 113 -1845 0 # -25 114 -1846 0 # -25 115 -1847 0 # -25 116 -1848 0 # -25 117 -1849 0 # -25 118 -1850 0 # -25 119 -1851 0 # -25 120 -1852 0 # -25 121 -1853 0 # -25 122 -1854 0 # -25 123 -1855 0 # -25 124 -1856 0 # -25 125 -1857 0 # -25 126 -1858 0 # -25 127 -1859 0 # -25 128 -1860 0 # -25 129 -1861 0 # -25 130 -1862 0 # -25 131 -1863 0 # -25 132 -1864 0 # -25 133 -1865 0 # -25 134 -1866 0 # -25 135 -1867 0 # -25 136 -1868 0 # -25 137 -1869 0 # -25 138 -1870 0 # -25 139 -1871 0 # -25 140 -1872 0 # -25 141 -1873 0 # -25 142 -1874 0 # -25 143 -1875 0 # -25 144 -1876 0 # -25 145 -1877 0 # -25 146 -1878 0 # -25 147 -1879 0 # -25 148 -1880 0 # -25 149 -1881 0 # -25 150 -1882 0 # -25 151 -1883 0 # -25 152 -1884 0 # -25 153 -1885 0 # -25 154 -1886 0 # -25 155 -1887 0 # -25 156 -1888 0 # -25 157 -1889 0 # -25 158 -1890 0 # -25 159 -1891 0 # -25 160 -1892 0 # -25 161 -1893 0 # -25 162 -1894 0 # -25 163 -1895 0 # -25 164 -1896 0 # -25 165 -1897 0 # -25 166 -1898 0 # -25 167 -1899 0 # -25 168 -1900 0 # -25 169 -1901 0 # -25 170 -1902 0 # -25 171 -1903 0 # -25 172 -1904 0 # -25 173 -1905 0 # -25 174 -1906 0 # -25 175 -1907 0 # -25 176 -1908 0 # -25 177 -1909 0 # -25 178 -1910 0 # -25 179 -1911 0 # -25 180 -1912 0 # -25 181 -1913 0 # -25 182 -1914 0 # -25 183 -1915 0 # -25 184 -1916 0 # -25 185 -1917 0 # -25 186 -1918 0 # -25 187 -1919 0 # -25 188 -1920 0 # -25 189 -1921 0 # -25 190 -1922 0 # -25 191 -1923 0 # -25 192 -1924 0 # -25 193 -1925 0 # -25 194 -1926 0 # -25 195 -1927 0 # -25 196 -1928 0 # -25 197 -1929 0 # -25 198 -1930 0 # -25 199 -1931 0 # -25 200 -1932 0 # -25 201 -1933 0 # -25 202 -1934 0 # -25 203 -1935 0 # -25 204 -1936 0 # -25 205 -1937 0 # -25 206 -1938 0 # -25 207 -1939 0 # -25 208 -1940 0 # -25 209 -1941 0 # -25 210 -1942 0 # -25 211 -1943 0 # -25 212 -1944 0 # -25 213 -1945 0 # -25 214 -1946 0 # -25 215 -1947 0 # -25 216 -1948 0 # -25 217 -1949 0 # -25 218 -1950 0 # -25 219 -1951 0 # -25 220 -1952 0 # -25 221 -1953 0 # -25 222 -1954 0 # -25 223 -1955 0 # -25 224 -1956 0 # -25 225 -1957 0 # -25 226 -1958 0 # -25 227 -1959 0 # -25 228 -1960 0 # -25 229 -1961 0 # -25 230 -1962 0 # -25 231 -1963 0 # -25 232 -1964 0 # -25 233 -1965 0 # -25 234 -1966 0 # -25 235 -1967 0 # -25 236 -1968 0 # -25 237 -1969 0 # -25 238 -1970 0 # -25 239 -1971 0 # -25 240 -1972 0 # -25 241 -1973 0 # -25 242 -1974 0 # -25 243 -1975 0 # -25 244 -1976 0 # -25 245 -1977 0 # -25 246 -1978 0 # -25 247 -1979 0 # -25 248 -1980 0 # -25 249 -1981 0 # -25 250 -1982 0 # -25 251 -1983 0 # -25 252 -1984 0 # -25 253 -1985 0 # -25 254 -1986 0 # -25 255 -1987 0 # -25 256 -1988 0 # -25 257 -1989 0 # -25 258 -1990 0 # -25 259 -1991 0 # -25 260 -1992 0 # -25 261 -1993 0 # -25 262 -1994 0 # -25 263 -1995 0 # -25 264 -1996 0 # -25 265 -1997 0 # -25 266 -1998 0 # -25 267 -1999 0 # -25 268 -2000 0 # -25 269 -2001 0 # -25 270 -2002 0 # -25 271 -2003 0 # -25 272 -2004 0 # -25 273 -2005 0 # -25 274 -2006 0 # -25 275 -2007 0 # -25 276 -2008 0 # -25 277 -2009 0 # -25 278 -2010 0 # -25 279 -2011 0 # -25 280 -2012 0 # -25 281 -2013 0 # -25 282 -2014 0 # -25 283 -2015 0 # -25 284 -2016 0 # -25 285 -2017 0 # -25 286 -2018 0 # -25 287 -2019 0 # -25 288 -2020 0 # -25 289 -2021 0 # -25 290 -2022 0 # -25 291 -2023 0 # -25 292 -2024 0 # -25 293 -2025 0 # -25 294 -2026 0 # -25 295 -2027 0 # -25 296 -2028 0 # -25 297 -2029 0 # -25 298 -2030 0 # -25 299 -2031 0 # -25 300 -2032 0 # -25 301 -2033 0 # -25 302 -2034 0 # -25 303 -2035 0 # -25 304 -2036 0 # -25 305 -2037 0 # -25 306 -2038 0 # -25 307 -2039 0 # -25 308 -2040 0 # -25 309 -2041 0 # -25 310 -2042 0 # -25 311 -2043 0 # -25 312 -2044 0 # -25 313 -2045 0 # -25 314 -2046 0 # -25 315 -2047 0 # -25 316 -2048 0 # -25 317 -2049 0 # -25 318 -2050 0 # -25 319 -2051 0 # -25 320 -2052 0 # -25 321 -2053 0 # -25 322 -2054 0 # -25 323 -2055 0 # -25 324 -2056 0 # -25 325 -2057 0 # -25 326 -2058 0 # -25 327 -2059 0 # -25 328 -2060 0 # -25 329 -2061 0 # -25 330 -2062 0 # -25 331 -2063 0 # -25 332 -2064 0 # -25 333 -2065 0 # -25 334 -2066 0 # -25 335 -2067 0 # -25 336 -2068 0 # -25 337 -2069 0 # -25 338 -2070 0 # -25 339 -2071 0 # -25 340 -2072 0 # -25 341 -2073 0 # -25 342 -2074 0 # -25 343 -2075 0 # -25 344 -2076 0 # -25 345 -2077 0 # -25 346 -2078 0 # -25 347 -2079 0 # -25 348 -2080 0 # -25 349 -2081 0 # -25 350 -2082 0 # -25 351 -2083 0 # -25 352 -2084 0 # -25 353 -2085 0 # -25 354 -2086 0 # -25 355 -2087 0 # -25 356 -2088 0 # -25 357 -2089 0 # -25 358 -2090 0 # -25 359 -2091 0 # -25 360 -2092 0 # -25 361 -2093 0 # -25 362 -2094 0 # -25 363 -2095 0 # -25 364 -2096 0 # -25 365 -2097 0 # -25 366 -2098 0 # -25 367 -2099 0 # -25 368 -2100 0 # -25 369 -2101 0 # -25 370 -2102 0 # -25 371 -2103 0 # -25 372 -2104 0 # -25 373 -2105 0 # -25 374 -2106 0 # -25 375 -2107 0 # -25 376 -2108 0 # -25 377 -2109 0 # -25 378 -2110 0 # -25 379 -2111 0 # -25 380 -2112 0 # -25 381 -2113 0 # -25 382 -2114 0 # -25 383 -2115 0 # -25 384 -2116 0 # -25 385 -2117 0 # -25 386 -2118 0 # -25 387 -2119 0 # -25 388 -2120 0 # -25 389 -2121 0 # -25 390 -2122 0 # -25 391 -2123 0 # -25 392 -2124 0 # -25 393 -2125 0 # -25 394 -2126 0 # -25 395 -2127 0 # -25 396 -2128 0 # -25 397 -2129 0 # -25 398 -2130 0 # -25 399 -2131 0 # -25 400 -2132 0 # -25 401 -2133 0 # -25 402 -2134 0 # -25 403 -2135 0 # -25 404 -2136 0 # -25 405 -2137 0 # -25 406 -2138 0 # -25 407 -2139 0 # -25 408 -2140 0 # -25 409 -2141 0 # -25 410 -2142 0 # -25 411 -2143 0 # -25 412 -2144 0 # -25 413 -2145 0 # -25 414 -2146 0 # -25 415 -2147 0 # -25 416 -2148 0 # -25 417 -2149 0 # -25 418 -2150 0 # -25 419 -2151 0 # -25 420 -2152 0 # -25 421 -2153 0 # -25 422 -2154 0 # -25 423 -2155 0 # -25 424 -2156 0 # -25 425 -2157 0 # -25 426 -2158 0 # -25 427 -2159 0 # -25 428 -2160 0 # -25 429 -2161 0 # -25 430 -2162 0 # -25 431 -2163 0 # -25 432 -2164 0 # -25 433 -2165 0 # -25 434 -2166 0 # -25 435 -2167 0 # -25 436 -2168 0 # -25 437 -2169 0 # -25 438 -2170 0 # -25 439 -2171 0 # -25 440 -2172 0 # -25 441 -2173 0 # -25 442 -2174 0 # -25 443 -2175 0 # -25 444 -2176 0 # -25 445 -2177 0 # -25 446 -2178 0 # -25 447 -2179 0 # -25 448 -2180 0 # -25 449 -2181 0 # -25 450 -2182 0 # -25 451 -2183 0 # -25 452 -2184 0 # -25 453 -2185 0 # -25 454 -2186 0 # -25 455 -2187 0 # -25 456 -2188 0 # -25 457 -2189 0 # -25 458 -2190 0 # -25 459 -2191 0 # -25 460 -2192 0 # -25 461 -2193 0 # -25 462 -2194 0 # -25 463 -2195 0 # -25 464 -2196 0 # -25 465 -2197 0 # -25 466 -2198 0 # -25 467 -2199 0 # -25 468 -2200 0 # -25 469 -2201 0 # -25 470 -2202 0 # -25 471 -2203 0 # -25 472 -2204 0 # -25 473 -2205 0 # -25 474 -2206 0 # -25 475 -2207 0 # -25 476 -2208 0 # -25 477 -2209 0 # -25 478 -2210 0 # -25 479 -2211 0 # -25 480 -2212 0 # -25 481 -2213 0 # -25 482 -2214 0 # -25 483 -2215 0 # -25 484 -2216 0 # -25 485 -2217 0 # -25 486 -2218 0 # -25 487 -2219 0 # -25 488 -2220 0 # -25 489 -2221 0 # -25 490 -2222 0 # -25 491 -2223 0 # -25 492 -2224 0 # -25 493 -2225 0 # -25 494 -2226 0 # -25 495 -2227 0 # -25 496 -2228 0 # -25 497 -2229 0 # -25 498 -2230 0 # -25 499 -2231 0 # -25 500 -2232 0 # -25 501 -2233 0 # -25 502 -2234 0 # -25 503 -2235 0 # -25 504 -2236 0 # -25 505 -2237 0 # -25 506 -2238 0 # -25 507 -2239 0 # -25 508 -2240 0 # -25 509 -2241 0 # -25 510 -2242 0 # -25 511 -2243 0 # -25 512 -2244 0 # -25 513 -2245 0 # -25 514 -2246 0 # -25 515 -2247 0 # -25 516 -2248 0 # -25 517 -2249 0 # -25 518 -2250 0 # -25 519 -2251 0 # -25 520 -2252 0 # -25 521 -2253 0 # -25 522 -2254 0 # -25 523 -2255 0 # -25 524 -2256 0 # -25 525 -2257 0 # -25 526 -2258 0 # -25 527 -2259 0 # -25 528 -2260 0 # -25 529 -2261 0 # -25 530 -2262 0 # -25 531 -2263 0 # -25 532 -2264 0 # -25 533 -2265 0 # -25 534 -2266 0 # -25 535 -2267 0 # -25 536 -2268 0 # -25 537 -2269 0 # -25 538 -2270 0 # -25 539 -2271 0 # -25 540 -2272 0 # -25 541 -2273 0 # -25 542 -2274 0 # -25 543 -2275 0 # -25 544 -2276 0 # -25 545 -2277 0 # -25 546 -2278 0 # -25 547 -2279 0 # -25 548 -2280 0 # -25 549 -2281 0 # -25 550 -2282 0 # -25 551 -2283 0 # -25 552 -2284 0 # -25 553 -2285 0 # -25 554 -2286 0 # -25 555 -2287 0 # -25 556 -2288 0 # -25 557 -2289 0 # -25 558 -2290 0 # -25 559 -2291 0 # -25 560 -2292 0 # -25 561 -2293 0 # -25 562 -2294 0 # -25 563 -2295 0 # -25 564 -2296 0 # -25 565 -2297 0 # -25 566 -2298 0 # -25 567 -2299 0 # -25 568 -2300 0 # -25 569 -2301 0 # -25 570 -2302 0 # -25 571 -2303 0 # -25 572 -2304 0 # -25 573 -2305 0 # -25 574 -2306 0 # -25 575 -2307 0 # -25 576 -2308 0 # -24 0 -2309 0 # -24 1 -2310 0 # -24 2 -2311 0 # -24 3 -2312 5 # -24 4 -2313 0 # -24 5 -2314 4 # -24 6 -2315 13 # -24 7 -2316 7 # -24 8 -2317 4 # -24 9 -2318 6 # -24 10 -2319 6 # -24 11 -2320 7 # -24 12 -2321 7 # -24 13 -2322 6 # -24 14 -2323 6 # -24 15 -2324 7 # -24 16 -2325 7 # -24 17 -2326 9 # -24 18 -2327 8 # -24 19 -2328 8 # -24 20 -2329 8 # -24 21 -2330 8 # -24 22 -2331 8 # -24 23 -2332 9 # -24 24 -2333 9 # -24 25 -2334 8 # -24 26 -2335 9 # -24 27 -2336 9 # -24 28 -2337 10 # -24 29 -2338 10 # -24 30 -2339 10 # -24 31 -2340 11 # -24 32 -2341 11 # -24 33 -2342 10 # -24 34 -2343 12 # -24 35 -2344 12 # -24 36 -2345 11 # -24 37 -2346 11 # -24 38 -2347 12 # -24 39 -2348 12 # -24 40 -2349 12 # -24 41 -2350 12 # -24 42 -2351 13 # -24 43 -2352 12 # -24 44 -2353 13 # -24 45 -2354 13 # -24 46 -2355 12 # -24 47 -2356 13 # -24 48 -2357 13 # -24 49 -2358 16 # -24 50 -2359 14 # -24 51 -2360 13 # -24 52 -2361 15 # -24 53 -2362 17 # -24 54 -2363 15 # -24 55 -2364 13 # -24 56 -2365 17 # -24 57 -2366 17 # -24 58 -2367 16 # -24 59 -2368 14 # -24 60 -2369 18 # -24 61 -2370 14 # -24 62 -2371 16 # -24 63 -2372 18 # -24 64 -2373 14 # -24 65 -2374 17 # -24 66 -2375 16 # -24 67 -2376 17 # -24 68 -2377 15 # -24 69 -2378 12 # -24 70 -2379 14 # -24 71 -2380 19 # -24 72 -2381 13 # -24 73 -2382 19 # -24 74 -2383 28 # -24 75 -2384 11 # -24 76 -2385 28 # -24 77 -2386 14 # -24 78 -2387 22 # -24 79 -2388 12 # -24 80 -2389 16 # -24 81 -2390 4 # -24 82 -2391 33 # -24 83 -2392 0 # -24 84 -2393 4 # -24 85 -2394 0 # -24 86 -2395 0 # -24 87 -2396 3 # -24 88 -2397 20 # -24 89 -2398 13 # -24 90 -2399 12 # -24 91 -2400 0 # -24 92 -2401 8 # -24 93 -2402 0 # -24 94 -2403 0 # -24 95 -2404 0 # -24 96 -2405 0 # -24 97 -2406 0 # -24 98 -2407 0 # -24 99 -2408 0 # -24 100 -2409 0 # -24 101 -2410 0 # -24 102 -2411 0 # -24 103 -2412 0 # -24 104 -2413 0 # -24 105 -2414 0 # -24 106 -2415 0 # -24 107 -2416 0 # -24 108 -2417 0 # -24 109 -2418 0 # -24 110 -2419 0 # -24 111 -2420 0 # -24 112 -2421 0 # -24 113 -2422 0 # -24 114 -2423 0 # -24 115 -2424 0 # -24 116 -2425 0 # -24 117 -2426 0 # -24 118 -2427 0 # -24 119 -2428 0 # -24 120 -2429 0 # -24 121 -2430 0 # -24 122 -2431 0 # -24 123 -2432 0 # -24 124 -2433 0 # -24 125 -2434 0 # -24 126 -2435 0 # -24 127 -2436 0 # -24 128 -2437 0 # -24 129 -2438 0 # -24 130 -2439 0 # -24 131 -2440 0 # -24 132 -2441 0 # -24 133 -2442 0 # -24 134 -2443 0 # -24 135 -2444 0 # -24 136 -2445 0 # -24 137 -2446 0 # -24 138 -2447 0 # -24 139 -2448 0 # -24 140 -2449 0 # -24 141 -2450 0 # -24 142 -2451 0 # -24 143 -2452 0 # -24 144 -2453 0 # -24 145 -2454 0 # -24 146 -2455 0 # -24 147 -2456 0 # -24 148 -2457 0 # -24 149 -2458 0 # -24 150 -2459 0 # -24 151 -2460 0 # -24 152 -2461 0 # -24 153 -2462 0 # -24 154 -2463 0 # -24 155 -2464 0 # -24 156 -2465 0 # -24 157 -2466 0 # -24 158 -2467 0 # -24 159 -2468 0 # -24 160 -2469 0 # -24 161 -2470 0 # -24 162 -2471 0 # -24 163 -2472 0 # -24 164 -2473 0 # -24 165 -2474 0 # -24 166 -2475 0 # -24 167 -2476 0 # -24 168 -2477 0 # -24 169 -2478 0 # -24 170 -2479 0 # -24 171 -2480 0 # -24 172 -2481 0 # -24 173 -2482 0 # -24 174 -2483 0 # -24 175 -2484 0 # -24 176 -2485 0 # -24 177 -2486 0 # -24 178 -2487 0 # -24 179 -2488 0 # -24 180 -2489 0 # -24 181 -2490 0 # -24 182 -2491 0 # -24 183 -2492 0 # -24 184 -2493 0 # -24 185 -2494 0 # -24 186 -2495 0 # -24 187 -2496 0 # -24 188 -2497 0 # -24 189 -2498 0 # -24 190 -2499 0 # -24 191 -2500 0 # -24 192 -2501 0 # -24 193 -2502 0 # -24 194 -2503 0 # -24 195 -2504 0 # -24 196 -2505 0 # -24 197 -2506 0 # -24 198 -2507 0 # -24 199 -2508 0 # -24 200 -2509 0 # -24 201 -2510 0 # -24 202 -2511 0 # -24 203 -2512 0 # -24 204 -2513 0 # -24 205 -2514 0 # -24 206 -2515 0 # -24 207 -2516 0 # -24 208 -2517 0 # -24 209 -2518 0 # -24 210 -2519 0 # -24 211 -2520 0 # -24 212 -2521 0 # -24 213 -2522 0 # -24 214 -2523 0 # -24 215 -2524 0 # -24 216 -2525 0 # -24 217 -2526 0 # -24 218 -2527 0 # -24 219 -2528 0 # -24 220 -2529 0 # -24 221 -2530 0 # -24 222 -2531 0 # -24 223 -2532 0 # -24 224 -2533 0 # -24 225 -2534 0 # -24 226 -2535 0 # -24 227 -2536 0 # -24 228 -2537 0 # -24 229 -2538 0 # -24 230 -2539 0 # -24 231 -2540 0 # -24 232 -2541 0 # -24 233 -2542 0 # -24 234 -2543 0 # -24 235 -2544 0 # -24 236 -2545 0 # -24 237 -2546 0 # -24 238 -2547 0 # -24 239 -2548 0 # -24 240 -2549 0 # -24 241 -2550 0 # -24 242 -2551 0 # -24 243 -2552 0 # -24 244 -2553 0 # -24 245 -2554 0 # -24 246 -2555 0 # -24 247 -2556 0 # -24 248 -2557 0 # -24 249 -2558 0 # -24 250 -2559 0 # -24 251 -2560 0 # -24 252 -2561 0 # -24 253 -2562 0 # -24 254 -2563 0 # -24 255 -2564 0 # -24 256 -2565 0 # -24 257 -2566 0 # -24 258 -2567 0 # -24 259 -2568 0 # -24 260 -2569 0 # -24 261 -2570 0 # -24 262 -2571 0 # -24 263 -2572 0 # -24 264 -2573 0 # -24 265 -2574 0 # -24 266 -2575 0 # -24 267 -2576 0 # -24 268 -2577 0 # -24 269 -2578 0 # -24 270 -2579 0 # -24 271 -2580 0 # -24 272 -2581 0 # -24 273 -2582 0 # -24 274 -2583 0 # -24 275 -2584 0 # -24 276 -2585 0 # -24 277 -2586 0 # -24 278 -2587 0 # -24 279 -2588 0 # -24 280 -2589 0 # -24 281 -2590 0 # -24 282 -2591 0 # -24 283 -2592 0 # -24 284 -2593 0 # -24 285 -2594 0 # -24 286 -2595 0 # -24 287 -2596 0 # -24 288 -2597 0 # -24 289 -2598 0 # -24 290 -2599 0 # -24 291 -2600 0 # -24 292 -2601 0 # -24 293 -2602 0 # -24 294 -2603 0 # -24 295 -2604 0 # -24 296 -2605 0 # -24 297 -2606 0 # -24 298 -2607 0 # -24 299 -2608 0 # -24 300 -2609 0 # -24 301 -2610 0 # -24 302 -2611 0 # -24 303 -2612 0 # -24 304 -2613 0 # -24 305 -2614 0 # -24 306 -2615 0 # -24 307 -2616 0 # -24 308 -2617 0 # -24 309 -2618 0 # -24 310 -2619 0 # -24 311 -2620 0 # -24 312 -2621 0 # -24 313 -2622 0 # -24 314 -2623 0 # -24 315 -2624 0 # -24 316 -2625 0 # -24 317 -2626 0 # -24 318 -2627 0 # -24 319 -2628 0 # -24 320 -2629 0 # -24 321 -2630 0 # -24 322 -2631 0 # -24 323 -2632 0 # -24 324 -2633 0 # -24 325 -2634 0 # -24 326 -2635 0 # -24 327 -2636 0 # -24 328 -2637 0 # -24 329 -2638 0 # -24 330 -2639 0 # -24 331 -2640 0 # -24 332 -2641 0 # -24 333 -2642 0 # -24 334 -2643 0 # -24 335 -2644 0 # -24 336 -2645 0 # -24 337 -2646 0 # -24 338 -2647 0 # -24 339 -2648 0 # -24 340 -2649 0 # -24 341 -2650 0 # -24 342 -2651 0 # -24 343 -2652 0 # -24 344 -2653 0 # -24 345 -2654 0 # -24 346 -2655 0 # -24 347 -2656 0 # -24 348 -2657 0 # -24 349 -2658 0 # -24 350 -2659 0 # -24 351 -2660 0 # -24 352 -2661 0 # -24 353 -2662 0 # -24 354 -2663 0 # -24 355 -2664 0 # -24 356 -2665 0 # -24 357 -2666 0 # -24 358 -2667 0 # -24 359 -2668 0 # -24 360 -2669 0 # -24 361 -2670 0 # -24 362 -2671 0 # -24 363 -2672 0 # -24 364 -2673 0 # -24 365 -2674 0 # -24 366 -2675 0 # -24 367 -2676 0 # -24 368 -2677 0 # -24 369 -2678 0 # -24 370 -2679 0 # -24 371 -2680 0 # -24 372 -2681 0 # -24 373 -2682 0 # -24 374 -2683 0 # -24 375 -2684 0 # -24 376 -2685 0 # -24 377 -2686 0 # -24 378 -2687 0 # -24 379 -2688 0 # -24 380 -2689 0 # -24 381 -2690 0 # -24 382 -2691 0 # -24 383 -2692 0 # -24 384 -2693 0 # -24 385 -2694 0 # -24 386 -2695 0 # -24 387 -2696 0 # -24 388 -2697 0 # -24 389 -2698 0 # -24 390 -2699 0 # -24 391 -2700 0 # -24 392 -2701 0 # -24 393 -2702 0 # -24 394 -2703 0 # -24 395 -2704 0 # -24 396 -2705 0 # -24 397 -2706 0 # -24 398 -2707 0 # -24 399 -2708 0 # -24 400 -2709 0 # -24 401 -2710 0 # -24 402 -2711 0 # -24 403 -2712 0 # -24 404 -2713 0 # -24 405 -2714 0 # -24 406 -2715 0 # -24 407 -2716 0 # -24 408 -2717 0 # -24 409 -2718 0 # -24 410 -2719 0 # -24 411 -2720 0 # -24 412 -2721 0 # -24 413 -2722 0 # -24 414 -2723 0 # -24 415 -2724 0 # -24 416 -2725 0 # -24 417 -2726 0 # -24 418 -2727 0 # -24 419 -2728 0 # -24 420 -2729 0 # -24 421 -2730 0 # -24 422 -2731 0 # -24 423 -2732 0 # -24 424 -2733 0 # -24 425 -2734 0 # -24 426 -2735 0 # -24 427 -2736 0 # -24 428 -2737 0 # -24 429 -2738 0 # -24 430 -2739 0 # -24 431 -2740 0 # -24 432 -2741 0 # -24 433 -2742 0 # -24 434 -2743 0 # -24 435 -2744 0 # -24 436 -2745 0 # -24 437 -2746 0 # -24 438 -2747 0 # -24 439 -2748 0 # -24 440 -2749 0 # -24 441 -2750 0 # -24 442 -2751 0 # -24 443 -2752 0 # -24 444 -2753 0 # -24 445 -2754 0 # -24 446 -2755 0 # -24 447 -2756 0 # -24 448 -2757 0 # -24 449 -2758 0 # -24 450 -2759 0 # -24 451 -2760 0 # -24 452 -2761 0 # -24 453 -2762 0 # -24 454 -2763 0 # -24 455 -2764 0 # -24 456 -2765 0 # -24 457 -2766 0 # -24 458 -2767 0 # -24 459 -2768 0 # -24 460 -2769 0 # -24 461 -2770 0 # -24 462 -2771 0 # -24 463 -2772 0 # -24 464 -2773 0 # -24 465 -2774 0 # -24 466 -2775 0 # -24 467 -2776 0 # -24 468 -2777 0 # -24 469 -2778 0 # -24 470 -2779 0 # -24 471 -2780 0 # -24 472 -2781 0 # -24 473 -2782 0 # -24 474 -2783 0 # -24 475 -2784 0 # -24 476 -2785 0 # -24 477 -2786 0 # -24 478 -2787 0 # -24 479 -2788 0 # -24 480 -2789 0 # -24 481 -2790 0 # -24 482 -2791 0 # -24 483 -2792 0 # -24 484 -2793 0 # -24 485 -2794 0 # -24 486 -2795 0 # -24 487 -2796 0 # -24 488 -2797 0 # -24 489 -2798 0 # -24 490 -2799 0 # -24 491 -2800 0 # -24 492 -2801 0 # -24 493 -2802 0 # -24 494 -2803 0 # -24 495 -2804 0 # -24 496 -2805 0 # -24 497 -2806 0 # -24 498 -2807 0 # -24 499 -2808 0 # -24 500 -2809 0 # -24 501 -2810 0 # -24 502 -2811 0 # -24 503 -2812 0 # -24 504 -2813 0 # -24 505 -2814 0 # -24 506 -2815 0 # -24 507 -2816 0 # -24 508 -2817 0 # -24 509 -2818 0 # -24 510 -2819 0 # -24 511 -2820 0 # -24 512 -2821 0 # -24 513 -2822 0 # -24 514 -2823 0 # -24 515 -2824 0 # -24 516 -2825 0 # -24 517 -2826 0 # -24 518 -2827 0 # -24 519 -2828 0 # -24 520 -2829 0 # -24 521 -2830 0 # -24 522 -2831 0 # -24 523 -2832 0 # -24 524 -2833 0 # -24 525 -2834 0 # -24 526 -2835 0 # -24 527 -2836 0 # -24 528 -2837 0 # -24 529 -2838 0 # -24 530 -2839 0 # -24 531 -2840 0 # -24 532 -2841 0 # -24 533 -2842 0 # -24 534 -2843 0 # -24 535 -2844 0 # -24 536 -2845 0 # -24 537 -2846 0 # -24 538 -2847 0 # -24 539 -2848 0 # -24 540 -2849 0 # -24 541 -2850 0 # -24 542 -2851 0 # -24 543 -2852 0 # -24 544 -2853 0 # -24 545 -2854 0 # -24 546 -2855 0 # -24 547 -2856 0 # -24 548 -2857 0 # -24 549 -2858 0 # -24 550 -2859 0 # -24 551 -2860 0 # -24 552 -2861 0 # -24 553 -2862 0 # -24 554 -2863 0 # -24 555 -2864 0 # -24 556 -2865 0 # -24 557 -2866 0 # -24 558 -2867 0 # -24 559 -2868 0 # -24 560 -2869 0 # -24 561 -2870 0 # -24 562 -2871 0 # -24 563 -2872 0 # -24 564 -2873 0 # -24 565 -2874 0 # -24 566 -2875 0 # -24 567 -2876 0 # -24 568 -2877 0 # -24 569 -2878 0 # -24 570 -2879 0 # -24 571 -2880 0 # -24 572 -2881 0 # -24 573 -2882 0 # -24 574 -2883 0 # -24 575 -2884 0 # -24 576 -2885 0 # -23 0 -2886 0 # -23 1 -2887 0 # -23 2 -2888 0 # -23 3 -2889 2 # -23 4 -2890 0 # -23 5 -2891 1 # -23 6 -2892 4 # -23 7 -2893 5 # -23 8 -2894 4 # -23 9 -2895 3 # -23 10 -2896 5 # -23 11 -2897 5 # -23 12 -2898 5 # -23 13 -2899 5 # -23 14 -2900 5 # -23 15 -2901 5 # -23 16 -2902 6 # -23 17 -2903 6 # -23 18 -2904 7 # -23 19 -2905 6 # -23 20 -2906 6 # -23 21 -2907 6 # -23 22 -2908 5 # -23 23 -2909 6 # -23 24 -2910 6 # -23 25 -2911 7 # -23 26 -2912 7 # -23 27 -2913 8 # -23 28 -2914 8 # -23 29 -2915 8 # -23 30 -2916 8 # -23 31 -2917 8 # -23 32 -2918 8 # -23 33 -2919 8 # -23 34 -2920 8 # -23 35 -2921 9 # -23 36 -2922 8 # -23 37 -2923 8 # -23 38 -2924 9 # -23 39 -2925 8 # -23 40 -2926 8 # -23 41 -2927 9 # -23 42 -2928 9 # -23 43 -2929 9 # -23 44 -2930 9 # -23 45 -2931 10 # -23 46 -2932 9 # -23 47 -2933 10 # -23 48 -2934 10 # -23 49 -2935 10 # -23 50 -2936 10 # -23 51 -2937 11 # -23 52 -2938 11 # -23 53 -2939 11 # -23 54 -2940 10 # -23 55 -2941 10 # -23 56 -2942 12 # -23 57 -2943 11 # -23 58 -2944 9 # -23 59 -2945 11 # -23 60 -2946 12 # -23 61 -2947 13 # -23 62 -2948 14 # -23 63 -2949 11 # -23 64 -2950 9 # -23 65 -2951 12 # -23 66 -2952 11 # -23 67 -2953 11 # -23 68 -2954 13 # -23 69 -2955 8 # -23 70 -2956 8 # -23 71 -2957 14 # -23 72 -2958 13 # -23 73 -2959 14 # -23 74 -2960 18 # -23 75 -2961 5 # -23 76 -2962 28 # -23 77 -2963 12 # -23 78 -2964 10 # -23 79 -2965 10 # -23 80 -2966 9 # -23 81 -2967 3 # -23 82 -2968 27 # -23 83 -2969 0 # -23 84 -2970 3 # -23 85 -2971 0 # -23 86 -2972 0 # -23 87 -2973 2 # -23 88 -2974 14 # -23 89 -2975 5 # -23 90 -2976 5 # -23 91 -2977 0 # -23 92 -2978 4 # -23 93 -2979 0 # -23 94 -2980 0 # -23 95 -2981 0 # -23 96 -2982 0 # -23 97 -2983 0 # -23 98 -2984 0 # -23 99 -2985 0 # -23 100 -2986 0 # -23 101 -2987 0 # -23 102 -2988 0 # -23 103 -2989 0 # -23 104 -2990 0 # -23 105 -2991 0 # -23 106 -2992 0 # -23 107 -2993 0 # -23 108 -2994 0 # -23 109 -2995 0 # -23 110 -2996 0 # -23 111 -2997 0 # -23 112 -2998 0 # -23 113 -2999 0 # -23 114 -3000 0 # -23 115 -3001 0 # -23 116 -3002 0 # -23 117 -3003 0 # -23 118 -3004 0 # -23 119 -3005 0 # -23 120 -3006 0 # -23 121 -3007 0 # -23 122 -3008 0 # -23 123 -3009 0 # -23 124 -3010 0 # -23 125 -3011 0 # -23 126 -3012 0 # -23 127 -3013 0 # -23 128 -3014 0 # -23 129 -3015 0 # -23 130 -3016 0 # -23 131 -3017 0 # -23 132 -3018 0 # -23 133 -3019 0 # -23 134 -3020 0 # -23 135 -3021 0 # -23 136 -3022 0 # -23 137 -3023 0 # -23 138 -3024 0 # -23 139 -3025 0 # -23 140 -3026 0 # -23 141 -3027 0 # -23 142 -3028 0 # -23 143 -3029 0 # -23 144 -3030 0 # -23 145 -3031 0 # -23 146 -3032 0 # -23 147 -3033 0 # -23 148 -3034 0 # -23 149 -3035 0 # -23 150 -3036 0 # -23 151 -3037 0 # -23 152 -3038 0 # -23 153 -3039 0 # -23 154 -3040 0 # -23 155 -3041 0 # -23 156 -3042 0 # -23 157 -3043 0 # -23 158 -3044 0 # -23 159 -3045 0 # -23 160 -3046 0 # -23 161 -3047 0 # -23 162 -3048 0 # -23 163 -3049 0 # -23 164 -3050 0 # -23 165 -3051 0 # -23 166 -3052 0 # -23 167 -3053 0 # -23 168 -3054 0 # -23 169 -3055 0 # -23 170 -3056 0 # -23 171 -3057 0 # -23 172 -3058 0 # -23 173 -3059 0 # -23 174 -3060 0 # -23 175 -3061 0 # -23 176 -3062 0 # -23 177 -3063 0 # -23 178 -3064 0 # -23 179 -3065 0 # -23 180 -3066 0 # -23 181 -3067 0 # -23 182 -3068 0 # -23 183 -3069 0 # -23 184 -3070 0 # -23 185 -3071 0 # -23 186 -3072 0 # -23 187 -3073 0 # -23 188 -3074 0 # -23 189 -3075 0 # -23 190 -3076 0 # -23 191 -3077 0 # -23 192 -3078 0 # -23 193 -3079 0 # -23 194 -3080 0 # -23 195 -3081 0 # -23 196 -3082 0 # -23 197 -3083 0 # -23 198 -3084 0 # -23 199 -3085 0 # -23 200 -3086 0 # -23 201 -3087 0 # -23 202 -3088 0 # -23 203 -3089 0 # -23 204 -3090 0 # -23 205 -3091 0 # -23 206 -3092 0 # -23 207 -3093 0 # -23 208 -3094 0 # -23 209 -3095 0 # -23 210 -3096 0 # -23 211 -3097 0 # -23 212 -3098 0 # -23 213 -3099 0 # -23 214 -3100 0 # -23 215 -3101 0 # -23 216 -3102 0 # -23 217 -3103 0 # -23 218 -3104 0 # -23 219 -3105 0 # -23 220 -3106 0 # -23 221 -3107 0 # -23 222 -3108 0 # -23 223 -3109 0 # -23 224 -3110 0 # -23 225 -3111 0 # -23 226 -3112 0 # -23 227 -3113 0 # -23 228 -3114 0 # -23 229 -3115 0 # -23 230 -3116 0 # -23 231 -3117 0 # -23 232 -3118 0 # -23 233 -3119 0 # -23 234 -3120 0 # -23 235 -3121 0 # -23 236 -3122 0 # -23 237 -3123 0 # -23 238 -3124 0 # -23 239 -3125 0 # -23 240 -3126 0 # -23 241 -3127 0 # -23 242 -3128 0 # -23 243 -3129 0 # -23 244 -3130 0 # -23 245 -3131 0 # -23 246 -3132 0 # -23 247 -3133 0 # -23 248 -3134 0 # -23 249 -3135 0 # -23 250 -3136 0 # -23 251 -3137 0 # -23 252 -3138 0 # -23 253 -3139 0 # -23 254 -3140 0 # -23 255 -3141 0 # -23 256 -3142 0 # -23 257 -3143 0 # -23 258 -3144 0 # -23 259 -3145 0 # -23 260 -3146 0 # -23 261 -3147 0 # -23 262 -3148 0 # -23 263 -3149 0 # -23 264 -3150 0 # -23 265 -3151 0 # -23 266 -3152 0 # -23 267 -3153 0 # -23 268 -3154 0 # -23 269 -3155 0 # -23 270 -3156 0 # -23 271 -3157 0 # -23 272 -3158 0 # -23 273 -3159 0 # -23 274 -3160 0 # -23 275 -3161 0 # -23 276 -3162 0 # -23 277 -3163 0 # -23 278 -3164 0 # -23 279 -3165 0 # -23 280 -3166 0 # -23 281 -3167 0 # -23 282 -3168 0 # -23 283 -3169 0 # -23 284 -3170 0 # -23 285 -3171 0 # -23 286 -3172 0 # -23 287 -3173 0 # -23 288 -3174 0 # -23 289 -3175 0 # -23 290 -3176 0 # -23 291 -3177 0 # -23 292 -3178 0 # -23 293 -3179 0 # -23 294 -3180 0 # -23 295 -3181 0 # -23 296 -3182 0 # -23 297 -3183 0 # -23 298 -3184 0 # -23 299 -3185 0 # -23 300 -3186 0 # -23 301 -3187 0 # -23 302 -3188 0 # -23 303 -3189 0 # -23 304 -3190 0 # -23 305 -3191 0 # -23 306 -3192 0 # -23 307 -3193 0 # -23 308 -3194 0 # -23 309 -3195 0 # -23 310 -3196 0 # -23 311 -3197 0 # -23 312 -3198 0 # -23 313 -3199 0 # -23 314 -3200 0 # -23 315 -3201 0 # -23 316 -3202 0 # -23 317 -3203 0 # -23 318 -3204 0 # -23 319 -3205 0 # -23 320 -3206 0 # -23 321 -3207 0 # -23 322 -3208 0 # -23 323 -3209 0 # -23 324 -3210 0 # -23 325 -3211 0 # -23 326 -3212 0 # -23 327 -3213 0 # -23 328 -3214 0 # -23 329 -3215 0 # -23 330 -3216 0 # -23 331 -3217 0 # -23 332 -3218 0 # -23 333 -3219 0 # -23 334 -3220 0 # -23 335 -3221 0 # -23 336 -3222 0 # -23 337 -3223 0 # -23 338 -3224 0 # -23 339 -3225 0 # -23 340 -3226 0 # -23 341 -3227 0 # -23 342 -3228 0 # -23 343 -3229 0 # -23 344 -3230 0 # -23 345 -3231 0 # -23 346 -3232 0 # -23 347 -3233 0 # -23 348 -3234 0 # -23 349 -3235 0 # -23 350 -3236 0 # -23 351 -3237 0 # -23 352 -3238 0 # -23 353 -3239 0 # -23 354 -3240 0 # -23 355 -3241 0 # -23 356 -3242 0 # -23 357 -3243 0 # -23 358 -3244 0 # -23 359 -3245 0 # -23 360 -3246 0 # -23 361 -3247 0 # -23 362 -3248 0 # -23 363 -3249 0 # -23 364 -3250 0 # -23 365 -3251 0 # -23 366 -3252 0 # -23 367 -3253 0 # -23 368 -3254 0 # -23 369 -3255 0 # -23 370 -3256 0 # -23 371 -3257 0 # -23 372 -3258 0 # -23 373 -3259 0 # -23 374 -3260 0 # -23 375 -3261 0 # -23 376 -3262 0 # -23 377 -3263 0 # -23 378 -3264 0 # -23 379 -3265 0 # -23 380 -3266 0 # -23 381 -3267 0 # -23 382 -3268 0 # -23 383 -3269 0 # -23 384 -3270 0 # -23 385 -3271 0 # -23 386 -3272 0 # -23 387 -3273 0 # -23 388 -3274 0 # -23 389 -3275 0 # -23 390 -3276 0 # -23 391 -3277 0 # -23 392 -3278 0 # -23 393 -3279 0 # -23 394 -3280 0 # -23 395 -3281 0 # -23 396 -3282 0 # -23 397 -3283 0 # -23 398 -3284 0 # -23 399 -3285 0 # -23 400 -3286 0 # -23 401 -3287 0 # -23 402 -3288 0 # -23 403 -3289 0 # -23 404 -3290 0 # -23 405 -3291 0 # -23 406 -3292 0 # -23 407 -3293 0 # -23 408 -3294 0 # -23 409 -3295 0 # -23 410 -3296 0 # -23 411 -3297 0 # -23 412 -3298 0 # -23 413 -3299 0 # -23 414 -3300 0 # -23 415 -3301 0 # -23 416 -3302 0 # -23 417 -3303 0 # -23 418 -3304 0 # -23 419 -3305 0 # -23 420 -3306 0 # -23 421 -3307 0 # -23 422 -3308 0 # -23 423 -3309 0 # -23 424 -3310 0 # -23 425 -3311 0 # -23 426 -3312 0 # -23 427 -3313 0 # -23 428 -3314 0 # -23 429 -3315 0 # -23 430 -3316 0 # -23 431 -3317 0 # -23 432 -3318 0 # -23 433 -3319 0 # -23 434 -3320 0 # -23 435 -3321 0 # -23 436 -3322 0 # -23 437 -3323 0 # -23 438 -3324 0 # -23 439 -3325 0 # -23 440 -3326 0 # -23 441 -3327 0 # -23 442 -3328 0 # -23 443 -3329 0 # -23 444 -3330 0 # -23 445 -3331 0 # -23 446 -3332 0 # -23 447 -3333 0 # -23 448 -3334 0 # -23 449 -3335 0 # -23 450 -3336 0 # -23 451 -3337 0 # -23 452 -3338 0 # -23 453 -3339 0 # -23 454 -3340 0 # -23 455 -3341 0 # -23 456 -3342 0 # -23 457 -3343 0 # -23 458 -3344 0 # -23 459 -3345 0 # -23 460 -3346 0 # -23 461 -3347 0 # -23 462 -3348 0 # -23 463 -3349 0 # -23 464 -3350 0 # -23 465 -3351 0 # -23 466 -3352 0 # -23 467 -3353 0 # -23 468 -3354 0 # -23 469 -3355 0 # -23 470 -3356 0 # -23 471 -3357 0 # -23 472 -3358 0 # -23 473 -3359 0 # -23 474 -3360 0 # -23 475 -3361 0 # -23 476 -3362 0 # -23 477 -3363 0 # -23 478 -3364 0 # -23 479 -3365 0 # -23 480 -3366 0 # -23 481 -3367 0 # -23 482 -3368 0 # -23 483 -3369 0 # -23 484 -3370 0 # -23 485 -3371 0 # -23 486 -3372 0 # -23 487 -3373 0 # -23 488 -3374 0 # -23 489 -3375 0 # -23 490 -3376 0 # -23 491 -3377 0 # -23 492 -3378 0 # -23 493 -3379 0 # -23 494 -3380 0 # -23 495 -3381 0 # -23 496 -3382 0 # -23 497 -3383 0 # -23 498 -3384 0 # -23 499 -3385 0 # -23 500 -3386 0 # -23 501 -3387 0 # -23 502 -3388 0 # -23 503 -3389 0 # -23 504 -3390 0 # -23 505 -3391 0 # -23 506 -3392 0 # -23 507 -3393 0 # -23 508 -3394 0 # -23 509 -3395 0 # -23 510 -3396 0 # -23 511 -3397 0 # -23 512 -3398 0 # -23 513 -3399 0 # -23 514 -3400 0 # -23 515 -3401 0 # -23 516 -3402 0 # -23 517 -3403 0 # -23 518 -3404 0 # -23 519 -3405 0 # -23 520 -3406 0 # -23 521 -3407 0 # -23 522 -3408 0 # -23 523 -3409 0 # -23 524 -3410 0 # -23 525 -3411 0 # -23 526 -3412 0 # -23 527 -3413 0 # -23 528 -3414 0 # -23 529 -3415 0 # -23 530 -3416 0 # -23 531 -3417 0 # -23 532 -3418 0 # -23 533 -3419 0 # -23 534 -3420 0 # -23 535 -3421 0 # -23 536 -3422 0 # -23 537 -3423 0 # -23 538 -3424 0 # -23 539 -3425 0 # -23 540 -3426 0 # -23 541 -3427 0 # -23 542 -3428 0 # -23 543 -3429 0 # -23 544 -3430 0 # -23 545 -3431 0 # -23 546 -3432 0 # -23 547 -3433 0 # -23 548 -3434 0 # -23 549 -3435 0 # -23 550 -3436 0 # -23 551 -3437 0 # -23 552 -3438 0 # -23 553 -3439 0 # -23 554 -3440 0 # -23 555 -3441 0 # -23 556 -3442 0 # -23 557 -3443 0 # -23 558 -3444 0 # -23 559 -3445 0 # -23 560 -3446 0 # -23 561 -3447 0 # -23 562 -3448 0 # -23 563 -3449 0 # -23 564 -3450 0 # -23 565 -3451 0 # -23 566 -3452 0 # -23 567 -3453 0 # -23 568 -3454 0 # -23 569 -3455 0 # -23 570 -3456 0 # -23 571 -3457 0 # -23 572 -3458 0 # -23 573 -3459 0 # -23 574 -3460 0 # -23 575 -3461 0 # -23 576 -3462 0 # -22 0 -3463 0 # -22 1 -3464 0 # -22 2 -3465 0 # -22 3 -3466 1 # -22 4 -3467 0 # -22 5 -3468 0 # -22 6 -3469 4 # -22 7 -3470 4 # -22 8 -3471 4 # -22 9 -3472 3 # -22 10 -3473 4 # -22 11 -3474 4 # -22 12 -3475 5 # -22 13 -3476 4 # -22 14 -3477 4 # -22 15 -3478 4 # -22 16 -3479 5 # -22 17 -3480 5 # -22 18 -3481 5 # -22 19 -3482 6 # -22 20 -3483 5 # -22 21 -3484 5 # -22 22 -3485 5 # -22 23 -3486 6 # -22 24 -3487 6 # -22 25 -3488 5 # -22 26 -3489 6 # -22 27 -3490 6 # -22 28 -3491 6 # -22 29 -3492 6 # -22 30 -3493 7 # -22 31 -3494 7 # -22 32 -3495 6 # -22 33 -3496 6 # -22 34 -3497 7 # -22 35 -3498 8 # -22 36 -3499 7 # -22 37 -3500 7 # -22 38 -3501 7 # -22 39 -3502 7 # -22 40 -3503 7 # -22 41 -3504 7 # -22 42 -3505 7 # -22 43 -3506 7 # -22 44 -3507 8 # -22 45 -3508 8 # -22 46 -3509 8 # -22 47 -3510 8 # -22 48 -3511 8 # -22 49 -3512 9 # -22 50 -3513 9 # -22 51 -3514 9 # -22 52 -3515 9 # -22 53 -3516 9 # -22 54 -3517 9 # -22 55 -3518 9 # -22 56 -3519 12 # -22 57 -3520 9 # -22 58 -3521 7 # -22 59 -3522 10 # -22 60 -3523 10 # -22 61 -3524 6 # -22 62 -3525 10 # -22 63 -3526 6 # -22 64 -3527 8 # -22 65 -3528 9 # -22 66 -3529 12 # -22 67 -3530 9 # -22 68 -3531 12 # -22 69 -3532 7 # -22 70 -3533 9 # -22 71 -3534 9 # -22 72 -3535 8 # -22 73 -3536 15 # -22 74 -3537 11 # -22 75 -3538 6 # -22 76 -3539 11 # -22 77 -3540 10 # -22 78 -3541 7 # -22 79 -3542 11 # -22 80 -3543 7 # -22 81 -3544 3 # -22 82 -3545 25 # -22 83 -3546 0 # -22 84 -3547 0 # -22 85 -3548 0 # -22 86 -3549 0 # -22 87 -3550 1 # -22 88 -3551 10 # -22 89 -3552 4 # -22 90 -3553 0 # -22 91 -3554 0 # -22 92 -3555 5 # -22 93 -3556 0 # -22 94 -3557 0 # -22 95 -3558 0 # -22 96 -3559 0 # -22 97 -3560 0 # -22 98 -3561 0 # -22 99 -3562 0 # -22 100 -3563 0 # -22 101 -3564 0 # -22 102 -3565 0 # -22 103 -3566 0 # -22 104 -3567 0 # -22 105 -3568 0 # -22 106 -3569 0 # -22 107 -3570 0 # -22 108 -3571 0 # -22 109 -3572 0 # -22 110 -3573 0 # -22 111 -3574 0 # -22 112 -3575 0 # -22 113 -3576 0 # -22 114 -3577 0 # -22 115 -3578 0 # -22 116 -3579 0 # -22 117 -3580 0 # -22 118 -3581 0 # -22 119 -3582 0 # -22 120 -3583 0 # -22 121 -3584 0 # -22 122 -3585 0 # -22 123 -3586 0 # -22 124 -3587 0 # -22 125 -3588 0 # -22 126 -3589 0 # -22 127 -3590 0 # -22 128 -3591 0 # -22 129 -3592 0 # -22 130 -3593 0 # -22 131 -3594 0 # -22 132 -3595 0 # -22 133 -3596 0 # -22 134 -3597 0 # -22 135 -3598 0 # -22 136 -3599 0 # -22 137 -3600 0 # -22 138 -3601 0 # -22 139 -3602 0 # -22 140 -3603 0 # -22 141 -3604 0 # -22 142 -3605 0 # -22 143 -3606 0 # -22 144 -3607 0 # -22 145 -3608 0 # -22 146 -3609 0 # -22 147 -3610 0 # -22 148 -3611 0 # -22 149 -3612 0 # -22 150 -3613 0 # -22 151 -3614 0 # -22 152 -3615 0 # -22 153 -3616 0 # -22 154 -3617 0 # -22 155 -3618 0 # -22 156 -3619 0 # -22 157 -3620 0 # -22 158 -3621 0 # -22 159 -3622 0 # -22 160 -3623 0 # -22 161 -3624 0 # -22 162 -3625 0 # -22 163 -3626 0 # -22 164 -3627 0 # -22 165 -3628 0 # -22 166 -3629 0 # -22 167 -3630 0 # -22 168 -3631 0 # -22 169 -3632 0 # -22 170 -3633 0 # -22 171 -3634 0 # -22 172 -3635 0 # -22 173 -3636 0 # -22 174 -3637 0 # -22 175 -3638 0 # -22 176 -3639 0 # -22 177 -3640 0 # -22 178 -3641 0 # -22 179 -3642 0 # -22 180 -3643 0 # -22 181 -3644 0 # -22 182 -3645 0 # -22 183 -3646 0 # -22 184 -3647 0 # -22 185 -3648 0 # -22 186 -3649 0 # -22 187 -3650 0 # -22 188 -3651 0 # -22 189 -3652 0 # -22 190 -3653 0 # -22 191 -3654 0 # -22 192 -3655 0 # -22 193 -3656 0 # -22 194 -3657 0 # -22 195 -3658 0 # -22 196 -3659 0 # -22 197 -3660 0 # -22 198 -3661 0 # -22 199 -3662 0 # -22 200 -3663 0 # -22 201 -3664 0 # -22 202 -3665 0 # -22 203 -3666 0 # -22 204 -3667 0 # -22 205 -3668 0 # -22 206 -3669 0 # -22 207 -3670 0 # -22 208 -3671 0 # -22 209 -3672 0 # -22 210 -3673 0 # -22 211 -3674 0 # -22 212 -3675 0 # -22 213 -3676 0 # -22 214 -3677 0 # -22 215 -3678 0 # -22 216 -3679 0 # -22 217 -3680 0 # -22 218 -3681 0 # -22 219 -3682 0 # -22 220 -3683 0 # -22 221 -3684 0 # -22 222 -3685 0 # -22 223 -3686 0 # -22 224 -3687 0 # -22 225 -3688 0 # -22 226 -3689 0 # -22 227 -3690 0 # -22 228 -3691 0 # -22 229 -3692 0 # -22 230 -3693 0 # -22 231 -3694 0 # -22 232 -3695 0 # -22 233 -3696 0 # -22 234 -3697 0 # -22 235 -3698 0 # -22 236 -3699 0 # -22 237 -3700 0 # -22 238 -3701 0 # -22 239 -3702 0 # -22 240 -3703 0 # -22 241 -3704 0 # -22 242 -3705 0 # -22 243 -3706 0 # -22 244 -3707 0 # -22 245 -3708 0 # -22 246 -3709 0 # -22 247 -3710 0 # -22 248 -3711 0 # -22 249 -3712 0 # -22 250 -3713 0 # -22 251 -3714 0 # -22 252 -3715 0 # -22 253 -3716 0 # -22 254 -3717 0 # -22 255 -3718 0 # -22 256 -3719 0 # -22 257 -3720 0 # -22 258 -3721 0 # -22 259 -3722 0 # -22 260 -3723 0 # -22 261 -3724 0 # -22 262 -3725 0 # -22 263 -3726 0 # -22 264 -3727 0 # -22 265 -3728 0 # -22 266 -3729 0 # -22 267 -3730 0 # -22 268 -3731 0 # -22 269 -3732 0 # -22 270 -3733 0 # -22 271 -3734 0 # -22 272 -3735 0 # -22 273 -3736 0 # -22 274 -3737 0 # -22 275 -3738 0 # -22 276 -3739 0 # -22 277 -3740 0 # -22 278 -3741 0 # -22 279 -3742 0 # -22 280 -3743 0 # -22 281 -3744 0 # -22 282 -3745 0 # -22 283 -3746 0 # -22 284 -3747 0 # -22 285 -3748 0 # -22 286 -3749 0 # -22 287 -3750 0 # -22 288 -3751 0 # -22 289 -3752 0 # -22 290 -3753 0 # -22 291 -3754 0 # -22 292 -3755 0 # -22 293 -3756 0 # -22 294 -3757 0 # -22 295 -3758 0 # -22 296 -3759 0 # -22 297 -3760 0 # -22 298 -3761 0 # -22 299 -3762 0 # -22 300 -3763 0 # -22 301 -3764 0 # -22 302 -3765 0 # -22 303 -3766 0 # -22 304 -3767 0 # -22 305 -3768 0 # -22 306 -3769 0 # -22 307 -3770 0 # -22 308 -3771 0 # -22 309 -3772 0 # -22 310 -3773 0 # -22 311 -3774 0 # -22 312 -3775 0 # -22 313 -3776 0 # -22 314 -3777 0 # -22 315 -3778 0 # -22 316 -3779 0 # -22 317 -3780 0 # -22 318 -3781 0 # -22 319 -3782 0 # -22 320 -3783 0 # -22 321 -3784 0 # -22 322 -3785 0 # -22 323 -3786 0 # -22 324 -3787 0 # -22 325 -3788 0 # -22 326 -3789 0 # -22 327 -3790 0 # -22 328 -3791 0 # -22 329 -3792 0 # -22 330 -3793 0 # -22 331 -3794 0 # -22 332 -3795 0 # -22 333 -3796 0 # -22 334 -3797 0 # -22 335 -3798 0 # -22 336 -3799 0 # -22 337 -3800 0 # -22 338 -3801 0 # -22 339 -3802 0 # -22 340 -3803 0 # -22 341 -3804 0 # -22 342 -3805 0 # -22 343 -3806 0 # -22 344 -3807 0 # -22 345 -3808 0 # -22 346 -3809 0 # -22 347 -3810 0 # -22 348 -3811 0 # -22 349 -3812 0 # -22 350 -3813 0 # -22 351 -3814 0 # -22 352 -3815 0 # -22 353 -3816 0 # -22 354 -3817 0 # -22 355 -3818 0 # -22 356 -3819 0 # -22 357 -3820 0 # -22 358 -3821 0 # -22 359 -3822 0 # -22 360 -3823 0 # -22 361 -3824 0 # -22 362 -3825 0 # -22 363 -3826 0 # -22 364 -3827 0 # -22 365 -3828 0 # -22 366 -3829 0 # -22 367 -3830 0 # -22 368 -3831 0 # -22 369 -3832 0 # -22 370 -3833 0 # -22 371 -3834 0 # -22 372 -3835 0 # -22 373 -3836 0 # -22 374 -3837 0 # -22 375 -3838 0 # -22 376 -3839 0 # -22 377 -3840 0 # -22 378 -3841 0 # -22 379 -3842 0 # -22 380 -3843 0 # -22 381 -3844 0 # -22 382 -3845 0 # -22 383 -3846 0 # -22 384 -3847 0 # -22 385 -3848 0 # -22 386 -3849 0 # -22 387 -3850 0 # -22 388 -3851 0 # -22 389 -3852 0 # -22 390 -3853 0 # -22 391 -3854 0 # -22 392 -3855 0 # -22 393 -3856 0 # -22 394 -3857 0 # -22 395 -3858 0 # -22 396 -3859 0 # -22 397 -3860 0 # -22 398 -3861 0 # -22 399 -3862 0 # -22 400 -3863 0 # -22 401 -3864 0 # -22 402 -3865 0 # -22 403 -3866 0 # -22 404 -3867 0 # -22 405 -3868 0 # -22 406 -3869 0 # -22 407 -3870 0 # -22 408 -3871 0 # -22 409 -3872 0 # -22 410 -3873 0 # -22 411 -3874 0 # -22 412 -3875 0 # -22 413 -3876 0 # -22 414 -3877 0 # -22 415 -3878 0 # -22 416 -3879 0 # -22 417 -3880 0 # -22 418 -3881 0 # -22 419 -3882 0 # -22 420 -3883 0 # -22 421 -3884 0 # -22 422 -3885 0 # -22 423 -3886 0 # -22 424 -3887 0 # -22 425 -3888 0 # -22 426 -3889 0 # -22 427 -3890 0 # -22 428 -3891 0 # -22 429 -3892 0 # -22 430 -3893 0 # -22 431 -3894 0 # -22 432 -3895 0 # -22 433 -3896 0 # -22 434 -3897 0 # -22 435 -3898 0 # -22 436 -3899 0 # -22 437 -3900 0 # -22 438 -3901 0 # -22 439 -3902 0 # -22 440 -3903 0 # -22 441 -3904 0 # -22 442 -3905 0 # -22 443 -3906 0 # -22 444 -3907 0 # -22 445 -3908 0 # -22 446 -3909 0 # -22 447 -3910 0 # -22 448 -3911 0 # -22 449 -3912 0 # -22 450 -3913 0 # -22 451 -3914 0 # -22 452 -3915 0 # -22 453 -3916 0 # -22 454 -3917 0 # -22 455 -3918 0 # -22 456 -3919 0 # -22 457 -3920 0 # -22 458 -3921 0 # -22 459 -3922 0 # -22 460 -3923 0 # -22 461 -3924 0 # -22 462 -3925 0 # -22 463 -3926 0 # -22 464 -3927 0 # -22 465 -3928 0 # -22 466 -3929 0 # -22 467 -3930 0 # -22 468 -3931 0 # -22 469 -3932 0 # -22 470 -3933 0 # -22 471 -3934 0 # -22 472 -3935 0 # -22 473 -3936 0 # -22 474 -3937 0 # -22 475 -3938 0 # -22 476 -3939 0 # -22 477 -3940 0 # -22 478 -3941 0 # -22 479 -3942 0 # -22 480 -3943 0 # -22 481 -3944 0 # -22 482 -3945 0 # -22 483 -3946 0 # -22 484 -3947 0 # -22 485 -3948 0 # -22 486 -3949 0 # -22 487 -3950 0 # -22 488 -3951 0 # -22 489 -3952 0 # -22 490 -3953 0 # -22 491 -3954 0 # -22 492 -3955 0 # -22 493 -3956 0 # -22 494 -3957 0 # -22 495 -3958 0 # -22 496 -3959 0 # -22 497 -3960 0 # -22 498 -3961 0 # -22 499 -3962 0 # -22 500 -3963 0 # -22 501 -3964 0 # -22 502 -3965 0 # -22 503 -3966 0 # -22 504 -3967 0 # -22 505 -3968 0 # -22 506 -3969 0 # -22 507 -3970 0 # -22 508 -3971 0 # -22 509 -3972 0 # -22 510 -3973 0 # -22 511 -3974 0 # -22 512 -3975 0 # -22 513 -3976 0 # -22 514 -3977 0 # -22 515 -3978 0 # -22 516 -3979 0 # -22 517 -3980 0 # -22 518 -3981 0 # -22 519 -3982 0 # -22 520 -3983 0 # -22 521 -3984 0 # -22 522 -3985 0 # -22 523 -3986 0 # -22 524 -3987 0 # -22 525 -3988 0 # -22 526 -3989 0 # -22 527 -3990 0 # -22 528 -3991 0 # -22 529 -3992 0 # -22 530 -3993 0 # -22 531 -3994 0 # -22 532 -3995 0 # -22 533 -3996 0 # -22 534 -3997 0 # -22 535 -3998 0 # -22 536 -3999 0 # -22 537 -4000 0 # -22 538 -4001 0 # -22 539 -4002 0 # -22 540 -4003 0 # -22 541 -4004 0 # -22 542 -4005 0 # -22 543 -4006 0 # -22 544 -4007 0 # -22 545 -4008 0 # -22 546 -4009 0 # -22 547 -4010 0 # -22 548 -4011 0 # -22 549 -4012 0 # -22 550 -4013 0 # -22 551 -4014 0 # -22 552 -4015 0 # -22 553 -4016 0 # -22 554 -4017 0 # -22 555 -4018 0 # -22 556 -4019 0 # -22 557 -4020 0 # -22 558 -4021 0 # -22 559 -4022 0 # -22 560 -4023 0 # -22 561 -4024 0 # -22 562 -4025 0 # -22 563 -4026 0 # -22 564 -4027 0 # -22 565 -4028 0 # -22 566 -4029 0 # -22 567 -4030 0 # -22 568 -4031 0 # -22 569 -4032 0 # -22 570 -4033 0 # -22 571 -4034 0 # -22 572 -4035 0 # -22 573 -4036 0 # -22 574 -4037 0 # -22 575 -4038 0 # -22 576 -4039 0 # -21 0 -4040 0 # -21 1 -4041 0 # -21 2 -4042 0 # -21 3 -4043 1 # -21 4 -4044 0 # -21 5 -4045 1 # -21 6 -4046 4 # -21 7 -4047 3 # -21 8 -4048 2 # -21 9 -4049 3 # -21 10 -4050 4 # -21 11 -4051 4 # -21 12 -4052 4 # -21 13 -4053 3 # -21 14 -4054 4 # -21 15 -4055 4 # -21 16 -4056 4 # -21 17 -4057 5 # -21 18 -4058 4 # -21 19 -4059 5 # -21 20 -4060 4 # -21 21 -4061 4 # -21 22 -4062 5 # -21 23 -4063 5 # -21 24 -4064 5 # -21 25 -4065 5 # -21 26 -4066 5 # -21 27 -4067 5 # -21 28 -4068 6 # -21 29 -4069 6 # -21 30 -4070 6 # -21 31 -4071 7 # -21 32 -4072 6 # -21 33 -4073 6 # -21 34 -4074 7 # -21 35 -4075 7 # -21 36 -4076 6 # -21 37 -4077 6 # -21 38 -4078 6 # -21 39 -4079 6 # -21 40 -4080 7 # -21 41 -4081 6 # -21 42 -4082 7 # -21 43 -4083 7 # -21 44 -4084 7 # -21 45 -4085 7 # -21 46 -4086 7 # -21 47 -4087 8 # -21 48 -4088 8 # -21 49 -4089 7 # -21 50 -4090 8 # -21 51 -4091 8 # -21 52 -4092 9 # -21 53 -4093 8 # -21 54 -4094 8 # -21 55 -4095 7 # -21 56 -4096 9 # -21 57 -4097 8 # -21 58 -4098 7 # -21 59 -4099 8 # -21 60 -4100 9 # -21 61 -4101 9 # -21 62 -4102 6 # -21 63 -4103 9 # -21 64 -4104 10 # -21 65 -4105 9 # -21 66 -4106 10 # -21 67 -4107 7 # -21 68 -4108 10 # -21 69 -4109 11 # -21 70 -4110 7 # -21 71 -4111 7 # -21 72 -4112 5 # -21 73 -4113 14 # -21 74 -4114 12 # -21 75 -4115 6 # -21 76 -4116 8 # -21 77 -4117 6 # -21 78 -4118 7 # -21 79 -4119 9 # -21 80 -4120 8 # -21 81 -4121 3 # -21 82 -4122 14 # -21 83 -4123 0 # -21 84 -4124 0 # -21 85 -4125 0 # -21 86 -4126 0 # -21 87 -4127 1 # -21 88 -4128 13 # -21 89 -4129 7 # -21 90 -4130 0 # -21 91 -4131 0 # -21 92 -4132 5 # -21 93 -4133 0 # -21 94 -4134 0 # -21 95 -4135 0 # -21 96 -4136 0 # -21 97 -4137 0 # -21 98 -4138 0 # -21 99 -4139 0 # -21 100 -4140 0 # -21 101 -4141 0 # -21 102 -4142 0 # -21 103 -4143 0 # -21 104 -4144 0 # -21 105 -4145 0 # -21 106 -4146 0 # -21 107 -4147 0 # -21 108 -4148 0 # -21 109 -4149 0 # -21 110 -4150 0 # -21 111 -4151 0 # -21 112 -4152 0 # -21 113 -4153 0 # -21 114 -4154 0 # -21 115 -4155 0 # -21 116 -4156 0 # -21 117 -4157 0 # -21 118 -4158 0 # -21 119 -4159 0 # -21 120 -4160 0 # -21 121 -4161 0 # -21 122 -4162 0 # -21 123 -4163 0 # -21 124 -4164 0 # -21 125 -4165 0 # -21 126 -4166 0 # -21 127 -4167 0 # -21 128 -4168 0 # -21 129 -4169 0 # -21 130 -4170 0 # -21 131 -4171 0 # -21 132 -4172 0 # -21 133 -4173 0 # -21 134 -4174 0 # -21 135 -4175 0 # -21 136 -4176 0 # -21 137 -4177 0 # -21 138 -4178 0 # -21 139 -4179 0 # -21 140 -4180 0 # -21 141 -4181 0 # -21 142 -4182 0 # -21 143 -4183 0 # -21 144 -4184 0 # -21 145 -4185 0 # -21 146 -4186 0 # -21 147 -4187 0 # -21 148 -4188 0 # -21 149 -4189 0 # -21 150 -4190 0 # -21 151 -4191 0 # -21 152 -4192 0 # -21 153 -4193 0 # -21 154 -4194 0 # -21 155 -4195 0 # -21 156 -4196 0 # -21 157 -4197 0 # -21 158 -4198 0 # -21 159 -4199 0 # -21 160 -4200 0 # -21 161 -4201 0 # -21 162 -4202 0 # -21 163 -4203 0 # -21 164 -4204 0 # -21 165 -4205 0 # -21 166 -4206 0 # -21 167 -4207 0 # -21 168 -4208 0 # -21 169 -4209 0 # -21 170 -4210 0 # -21 171 -4211 0 # -21 172 -4212 0 # -21 173 -4213 0 # -21 174 -4214 0 # -21 175 -4215 0 # -21 176 -4216 0 # -21 177 -4217 0 # -21 178 -4218 0 # -21 179 -4219 0 # -21 180 -4220 0 # -21 181 -4221 0 # -21 182 -4222 0 # -21 183 -4223 0 # -21 184 -4224 0 # -21 185 -4225 0 # -21 186 -4226 0 # -21 187 -4227 0 # -21 188 -4228 0 # -21 189 -4229 0 # -21 190 -4230 0 # -21 191 -4231 0 # -21 192 -4232 0 # -21 193 -4233 0 # -21 194 -4234 0 # -21 195 -4235 0 # -21 196 -4236 0 # -21 197 -4237 0 # -21 198 -4238 0 # -21 199 -4239 0 # -21 200 -4240 0 # -21 201 -4241 0 # -21 202 -4242 0 # -21 203 -4243 0 # -21 204 -4244 0 # -21 205 -4245 0 # -21 206 -4246 0 # -21 207 -4247 0 # -21 208 -4248 0 # -21 209 -4249 0 # -21 210 -4250 0 # -21 211 -4251 0 # -21 212 -4252 0 # -21 213 -4253 0 # -21 214 -4254 0 # -21 215 -4255 0 # -21 216 -4256 0 # -21 217 -4257 0 # -21 218 -4258 0 # -21 219 -4259 0 # -21 220 -4260 0 # -21 221 -4261 0 # -21 222 -4262 0 # -21 223 -4263 0 # -21 224 -4264 0 # -21 225 -4265 0 # -21 226 -4266 0 # -21 227 -4267 0 # -21 228 -4268 0 # -21 229 -4269 0 # -21 230 -4270 0 # -21 231 -4271 0 # -21 232 -4272 0 # -21 233 -4273 0 # -21 234 -4274 0 # -21 235 -4275 0 # -21 236 -4276 0 # -21 237 -4277 0 # -21 238 -4278 0 # -21 239 -4279 0 # -21 240 -4280 0 # -21 241 -4281 0 # -21 242 -4282 0 # -21 243 -4283 0 # -21 244 -4284 0 # -21 245 -4285 0 # -21 246 -4286 0 # -21 247 -4287 0 # -21 248 -4288 0 # -21 249 -4289 0 # -21 250 -4290 0 # -21 251 -4291 0 # -21 252 -4292 0 # -21 253 -4293 0 # -21 254 -4294 0 # -21 255 -4295 0 # -21 256 -4296 0 # -21 257 -4297 0 # -21 258 -4298 0 # -21 259 -4299 0 # -21 260 -4300 0 # -21 261 -4301 0 # -21 262 -4302 0 # -21 263 -4303 0 # -21 264 -4304 0 # -21 265 -4305 0 # -21 266 -4306 0 # -21 267 -4307 0 # -21 268 -4308 0 # -21 269 -4309 0 # -21 270 -4310 0 # -21 271 -4311 0 # -21 272 -4312 0 # -21 273 -4313 0 # -21 274 -4314 0 # -21 275 -4315 0 # -21 276 -4316 0 # -21 277 -4317 0 # -21 278 -4318 0 # -21 279 -4319 0 # -21 280 -4320 0 # -21 281 -4321 0 # -21 282 -4322 0 # -21 283 -4323 0 # -21 284 -4324 0 # -21 285 -4325 0 # -21 286 -4326 0 # -21 287 -4327 0 # -21 288 -4328 0 # -21 289 -4329 0 # -21 290 -4330 0 # -21 291 -4331 0 # -21 292 -4332 0 # -21 293 -4333 0 # -21 294 -4334 0 # -21 295 -4335 0 # -21 296 -4336 0 # -21 297 -4337 0 # -21 298 -4338 0 # -21 299 -4339 0 # -21 300 -4340 0 # -21 301 -4341 0 # -21 302 -4342 0 # -21 303 -4343 0 # -21 304 -4344 0 # -21 305 -4345 0 # -21 306 -4346 0 # -21 307 -4347 0 # -21 308 -4348 0 # -21 309 -4349 0 # -21 310 -4350 0 # -21 311 -4351 0 # -21 312 -4352 0 # -21 313 -4353 0 # -21 314 -4354 0 # -21 315 -4355 0 # -21 316 -4356 0 # -21 317 -4357 0 # -21 318 -4358 0 # -21 319 -4359 0 # -21 320 -4360 0 # -21 321 -4361 0 # -21 322 -4362 0 # -21 323 -4363 0 # -21 324 -4364 0 # -21 325 -4365 0 # -21 326 -4366 0 # -21 327 -4367 0 # -21 328 -4368 0 # -21 329 -4369 0 # -21 330 -4370 0 # -21 331 -4371 0 # -21 332 -4372 0 # -21 333 -4373 0 # -21 334 -4374 0 # -21 335 -4375 0 # -21 336 -4376 0 # -21 337 -4377 0 # -21 338 -4378 0 # -21 339 -4379 0 # -21 340 -4380 0 # -21 341 -4381 0 # -21 342 -4382 0 # -21 343 -4383 0 # -21 344 -4384 0 # -21 345 -4385 0 # -21 346 -4386 0 # -21 347 -4387 0 # -21 348 -4388 0 # -21 349 -4389 0 # -21 350 -4390 0 # -21 351 -4391 0 # -21 352 -4392 0 # -21 353 -4393 0 # -21 354 -4394 0 # -21 355 -4395 0 # -21 356 -4396 0 # -21 357 -4397 0 # -21 358 -4398 0 # -21 359 -4399 0 # -21 360 -4400 0 # -21 361 -4401 0 # -21 362 -4402 0 # -21 363 -4403 0 # -21 364 -4404 0 # -21 365 -4405 0 # -21 366 -4406 0 # -21 367 -4407 0 # -21 368 -4408 0 # -21 369 -4409 0 # -21 370 -4410 0 # -21 371 -4411 0 # -21 372 -4412 0 # -21 373 -4413 0 # -21 374 -4414 0 # -21 375 -4415 0 # -21 376 -4416 0 # -21 377 -4417 0 # -21 378 -4418 0 # -21 379 -4419 0 # -21 380 -4420 0 # -21 381 -4421 0 # -21 382 -4422 0 # -21 383 -4423 0 # -21 384 -4424 0 # -21 385 -4425 0 # -21 386 -4426 0 # -21 387 -4427 0 # -21 388 -4428 0 # -21 389 -4429 0 # -21 390 -4430 0 # -21 391 -4431 0 # -21 392 -4432 0 # -21 393 -4433 0 # -21 394 -4434 0 # -21 395 -4435 0 # -21 396 -4436 0 # -21 397 -4437 0 # -21 398 -4438 0 # -21 399 -4439 0 # -21 400 -4440 0 # -21 401 -4441 0 # -21 402 -4442 0 # -21 403 -4443 0 # -21 404 -4444 0 # -21 405 -4445 0 # -21 406 -4446 0 # -21 407 -4447 0 # -21 408 -4448 0 # -21 409 -4449 0 # -21 410 -4450 0 # -21 411 -4451 0 # -21 412 -4452 0 # -21 413 -4453 0 # -21 414 -4454 0 # -21 415 -4455 0 # -21 416 -4456 0 # -21 417 -4457 0 # -21 418 -4458 0 # -21 419 -4459 0 # -21 420 -4460 0 # -21 421 -4461 0 # -21 422 -4462 0 # -21 423 -4463 0 # -21 424 -4464 0 # -21 425 -4465 0 # -21 426 -4466 0 # -21 427 -4467 0 # -21 428 -4468 0 # -21 429 -4469 0 # -21 430 -4470 0 # -21 431 -4471 0 # -21 432 -4472 0 # -21 433 -4473 0 # -21 434 -4474 0 # -21 435 -4475 0 # -21 436 -4476 0 # -21 437 -4477 0 # -21 438 -4478 0 # -21 439 -4479 0 # -21 440 -4480 0 # -21 441 -4481 0 # -21 442 -4482 0 # -21 443 -4483 0 # -21 444 -4484 0 # -21 445 -4485 0 # -21 446 -4486 0 # -21 447 -4487 0 # -21 448 -4488 0 # -21 449 -4489 0 # -21 450 -4490 0 # -21 451 -4491 0 # -21 452 -4492 0 # -21 453 -4493 0 # -21 454 -4494 0 # -21 455 -4495 0 # -21 456 -4496 0 # -21 457 -4497 0 # -21 458 -4498 0 # -21 459 -4499 0 # -21 460 -4500 0 # -21 461 -4501 0 # -21 462 -4502 0 # -21 463 -4503 0 # -21 464 -4504 0 # -21 465 -4505 0 # -21 466 -4506 0 # -21 467 -4507 0 # -21 468 -4508 0 # -21 469 -4509 0 # -21 470 -4510 0 # -21 471 -4511 0 # -21 472 -4512 0 # -21 473 -4513 0 # -21 474 -4514 0 # -21 475 -4515 0 # -21 476 -4516 0 # -21 477 -4517 0 # -21 478 -4518 0 # -21 479 -4519 0 # -21 480 -4520 0 # -21 481 -4521 0 # -21 482 -4522 0 # -21 483 -4523 0 # -21 484 -4524 0 # -21 485 -4525 0 # -21 486 -4526 0 # -21 487 -4527 0 # -21 488 -4528 0 # -21 489 -4529 0 # -21 490 -4530 0 # -21 491 -4531 0 # -21 492 -4532 0 # -21 493 -4533 0 # -21 494 -4534 0 # -21 495 -4535 0 # -21 496 -4536 0 # -21 497 -4537 0 # -21 498 -4538 0 # -21 499 -4539 0 # -21 500 -4540 0 # -21 501 -4541 0 # -21 502 -4542 0 # -21 503 -4543 0 # -21 504 -4544 0 # -21 505 -4545 0 # -21 506 -4546 0 # -21 507 -4547 0 # -21 508 -4548 0 # -21 509 -4549 0 # -21 510 -4550 0 # -21 511 -4551 0 # -21 512 -4552 0 # -21 513 -4553 0 # -21 514 -4554 0 # -21 515 -4555 0 # -21 516 -4556 0 # -21 517 -4557 0 # -21 518 -4558 0 # -21 519 -4559 0 # -21 520 -4560 0 # -21 521 -4561 0 # -21 522 -4562 0 # -21 523 -4563 0 # -21 524 -4564 0 # -21 525 -4565 0 # -21 526 -4566 0 # -21 527 -4567 0 # -21 528 -4568 0 # -21 529 -4569 0 # -21 530 -4570 0 # -21 531 -4571 0 # -21 532 -4572 0 # -21 533 -4573 0 # -21 534 -4574 0 # -21 535 -4575 0 # -21 536 -4576 0 # -21 537 -4577 0 # -21 538 -4578 0 # -21 539 -4579 0 # -21 540 -4580 0 # -21 541 -4581 0 # -21 542 -4582 0 # -21 543 -4583 0 # -21 544 -4584 0 # -21 545 -4585 0 # -21 546 -4586 0 # -21 547 -4587 0 # -21 548 -4588 0 # -21 549 -4589 0 # -21 550 -4590 0 # -21 551 -4591 0 # -21 552 -4592 0 # -21 553 -4593 0 # -21 554 -4594 0 # -21 555 -4595 0 # -21 556 -4596 0 # -21 557 -4597 0 # -21 558 -4598 0 # -21 559 -4599 0 # -21 560 -4600 0 # -21 561 -4601 0 # -21 562 -4602 0 # -21 563 -4603 0 # -21 564 -4604 0 # -21 565 -4605 0 # -21 566 -4606 0 # -21 567 -4607 0 # -21 568 -4608 0 # -21 569 -4609 0 # -21 570 -4610 0 # -21 571 -4611 0 # -21 572 -4612 0 # -21 573 -4613 0 # -21 574 -4614 0 # -21 575 -4615 0 # -21 576 -4616 0 # -20 0 -4617 0 # -20 1 -4618 0 # -20 2 -4619 0 # -20 3 -4620 3 # -20 4 -4621 0 # -20 5 -4622 2 # -20 6 -4623 3 # -20 7 -4624 2 # -20 8 -4625 2 # -20 9 -4626 2 # -20 10 -4627 3 # -20 11 -4628 4 # -20 12 -4629 4 # -20 13 -4630 3 # -20 14 -4631 4 # -20 15 -4632 4 # -20 16 -4633 4 # -20 17 -4634 4 # -20 18 -4635 4 # -20 19 -4636 5 # -20 20 -4637 5 # -20 21 -4638 4 # -20 22 -4639 4 # -20 23 -4640 5 # -20 24 -4641 5 # -20 25 -4642 5 # -20 26 -4643 5 # -20 27 -4644 6 # -20 28 -4645 5 # -20 29 -4646 6 # -20 30 -4647 6 # -20 31 -4648 6 # -20 32 -4649 5 # -20 33 -4650 6 # -20 34 -4651 6 # -20 35 -4652 6 # -20 36 -4653 6 # -20 37 -4654 6 # -20 38 -4655 6 # -20 39 -4656 6 # -20 40 -4657 6 # -20 41 -4658 6 # -20 42 -4659 7 # -20 43 -4660 6 # -20 44 -4661 7 # -20 45 -4662 7 # -20 46 -4663 6 # -20 47 -4664 6 # -20 48 -4665 7 # -20 49 -4666 7 # -20 50 -4667 6 # -20 51 -4668 7 # -20 52 -4669 8 # -20 53 -4670 7 # -20 54 -4671 7 # -20 55 -4672 8 # -20 56 -4673 8 # -20 57 -4674 7 # -20 58 -4675 6 # -20 59 -4676 6 # -20 60 -4677 9 # -20 61 -4678 9 # -20 62 -4679 11 # -20 63 -4680 9 # -20 64 -4681 8 # -20 65 -4682 8 # -20 66 -4683 14 # -20 67 -4684 7 # -20 68 -4685 9 # -20 69 -4686 10 # -20 70 -4687 8 # -20 71 -4688 7 # -20 72 -4689 5 # -20 73 -4690 11 # -20 74 -4691 6 # -20 75 -4692 5 # -20 76 -4693 6 # -20 77 -4694 9 # -20 78 -4695 12 # -20 79 -4696 7 # -20 80 -4697 4 # -20 81 -4698 4 # -20 82 -4699 10 # -20 83 -4700 0 # -20 84 -4701 0 # -20 85 -4702 0 # -20 86 -4703 0 # -20 87 -4704 0 # -20 88 -4705 5 # -20 89 -4706 8 # -20 90 -4707 2 # -20 91 -4708 0 # -20 92 -4709 7 # -20 93 -4710 0 # -20 94 -4711 0 # -20 95 -4712 0 # -20 96 -4713 0 # -20 97 -4714 0 # -20 98 -4715 0 # -20 99 -4716 0 # -20 100 -4717 0 # -20 101 -4718 0 # -20 102 -4719 0 # -20 103 -4720 0 # -20 104 -4721 0 # -20 105 -4722 0 # -20 106 -4723 0 # -20 107 -4724 0 # -20 108 -4725 0 # -20 109 -4726 0 # -20 110 -4727 0 # -20 111 -4728 0 # -20 112 -4729 0 # -20 113 -4730 0 # -20 114 -4731 0 # -20 115 -4732 0 # -20 116 -4733 0 # -20 117 -4734 0 # -20 118 -4735 0 # -20 119 -4736 0 # -20 120 -4737 0 # -20 121 -4738 0 # -20 122 -4739 0 # -20 123 -4740 0 # -20 124 -4741 0 # -20 125 -4742 0 # -20 126 -4743 0 # -20 127 -4744 0 # -20 128 -4745 0 # -20 129 -4746 0 # -20 130 -4747 0 # -20 131 -4748 0 # -20 132 -4749 0 # -20 133 -4750 0 # -20 134 -4751 0 # -20 135 -4752 0 # -20 136 -4753 0 # -20 137 -4754 0 # -20 138 -4755 0 # -20 139 -4756 0 # -20 140 -4757 0 # -20 141 -4758 0 # -20 142 -4759 0 # -20 143 -4760 0 # -20 144 -4761 0 # -20 145 -4762 0 # -20 146 -4763 0 # -20 147 -4764 0 # -20 148 -4765 0 # -20 149 -4766 0 # -20 150 -4767 0 # -20 151 -4768 0 # -20 152 -4769 0 # -20 153 -4770 0 # -20 154 -4771 0 # -20 155 -4772 0 # -20 156 -4773 0 # -20 157 -4774 0 # -20 158 -4775 0 # -20 159 -4776 0 # -20 160 -4777 0 # -20 161 -4778 0 # -20 162 -4779 0 # -20 163 -4780 0 # -20 164 -4781 0 # -20 165 -4782 0 # -20 166 -4783 0 # -20 167 -4784 0 # -20 168 -4785 0 # -20 169 -4786 0 # -20 170 -4787 0 # -20 171 -4788 0 # -20 172 -4789 0 # -20 173 -4790 0 # -20 174 -4791 0 # -20 175 -4792 0 # -20 176 -4793 0 # -20 177 -4794 0 # -20 178 -4795 0 # -20 179 -4796 0 # -20 180 -4797 0 # -20 181 -4798 0 # -20 182 -4799 0 # -20 183 -4800 0 # -20 184 -4801 0 # -20 185 -4802 0 # -20 186 -4803 0 # -20 187 -4804 0 # -20 188 -4805 0 # -20 189 -4806 0 # -20 190 -4807 0 # -20 191 -4808 0 # -20 192 -4809 0 # -20 193 -4810 0 # -20 194 -4811 0 # -20 195 -4812 0 # -20 196 -4813 0 # -20 197 -4814 0 # -20 198 -4815 0 # -20 199 -4816 0 # -20 200 -4817 0 # -20 201 -4818 0 # -20 202 -4819 0 # -20 203 -4820 0 # -20 204 -4821 0 # -20 205 -4822 0 # -20 206 -4823 0 # -20 207 -4824 0 # -20 208 -4825 0 # -20 209 -4826 0 # -20 210 -4827 0 # -20 211 -4828 0 # -20 212 -4829 0 # -20 213 -4830 0 # -20 214 -4831 0 # -20 215 -4832 0 # -20 216 -4833 0 # -20 217 -4834 0 # -20 218 -4835 0 # -20 219 -4836 0 # -20 220 -4837 0 # -20 221 -4838 0 # -20 222 -4839 0 # -20 223 -4840 0 # -20 224 -4841 0 # -20 225 -4842 0 # -20 226 -4843 0 # -20 227 -4844 0 # -20 228 -4845 0 # -20 229 -4846 0 # -20 230 -4847 0 # -20 231 -4848 0 # -20 232 -4849 0 # -20 233 -4850 0 # -20 234 -4851 0 # -20 235 -4852 0 # -20 236 -4853 0 # -20 237 -4854 0 # -20 238 -4855 0 # -20 239 -4856 0 # -20 240 -4857 0 # -20 241 -4858 0 # -20 242 -4859 0 # -20 243 -4860 0 # -20 244 -4861 0 # -20 245 -4862 0 # -20 246 -4863 0 # -20 247 -4864 0 # -20 248 -4865 0 # -20 249 -4866 0 # -20 250 -4867 0 # -20 251 -4868 0 # -20 252 -4869 0 # -20 253 -4870 0 # -20 254 -4871 0 # -20 255 -4872 0 # -20 256 -4873 0 # -20 257 -4874 0 # -20 258 -4875 0 # -20 259 -4876 0 # -20 260 -4877 0 # -20 261 -4878 0 # -20 262 -4879 0 # -20 263 -4880 0 # -20 264 -4881 0 # -20 265 -4882 0 # -20 266 -4883 0 # -20 267 -4884 0 # -20 268 -4885 0 # -20 269 -4886 0 # -20 270 -4887 0 # -20 271 -4888 0 # -20 272 -4889 0 # -20 273 -4890 0 # -20 274 -4891 0 # -20 275 -4892 0 # -20 276 -4893 0 # -20 277 -4894 0 # -20 278 -4895 0 # -20 279 -4896 0 # -20 280 -4897 0 # -20 281 -4898 0 # -20 282 -4899 0 # -20 283 -4900 0 # -20 284 -4901 0 # -20 285 -4902 0 # -20 286 -4903 0 # -20 287 -4904 0 # -20 288 -4905 0 # -20 289 -4906 0 # -20 290 -4907 0 # -20 291 -4908 0 # -20 292 -4909 0 # -20 293 -4910 0 # -20 294 -4911 0 # -20 295 -4912 0 # -20 296 -4913 0 # -20 297 -4914 0 # -20 298 -4915 0 # -20 299 -4916 0 # -20 300 -4917 0 # -20 301 -4918 0 # -20 302 -4919 0 # -20 303 -4920 0 # -20 304 -4921 0 # -20 305 -4922 0 # -20 306 -4923 0 # -20 307 -4924 0 # -20 308 -4925 0 # -20 309 -4926 0 # -20 310 -4927 0 # -20 311 -4928 0 # -20 312 -4929 0 # -20 313 -4930 0 # -20 314 -4931 0 # -20 315 -4932 0 # -20 316 -4933 0 # -20 317 -4934 0 # -20 318 -4935 0 # -20 319 -4936 0 # -20 320 -4937 0 # -20 321 -4938 0 # -20 322 -4939 0 # -20 323 -4940 0 # -20 324 -4941 0 # -20 325 -4942 0 # -20 326 -4943 0 # -20 327 -4944 0 # -20 328 -4945 0 # -20 329 -4946 0 # -20 330 -4947 0 # -20 331 -4948 0 # -20 332 -4949 0 # -20 333 -4950 0 # -20 334 -4951 0 # -20 335 -4952 0 # -20 336 -4953 0 # -20 337 -4954 0 # -20 338 -4955 0 # -20 339 -4956 0 # -20 340 -4957 0 # -20 341 -4958 0 # -20 342 -4959 0 # -20 343 -4960 0 # -20 344 -4961 0 # -20 345 -4962 0 # -20 346 -4963 0 # -20 347 -4964 0 # -20 348 -4965 0 # -20 349 -4966 0 # -20 350 -4967 0 # -20 351 -4968 0 # -20 352 -4969 0 # -20 353 -4970 0 # -20 354 -4971 0 # -20 355 -4972 0 # -20 356 -4973 0 # -20 357 -4974 0 # -20 358 -4975 0 # -20 359 -4976 0 # -20 360 -4977 0 # -20 361 -4978 0 # -20 362 -4979 0 # -20 363 -4980 0 # -20 364 -4981 0 # -20 365 -4982 0 # -20 366 -4983 0 # -20 367 -4984 0 # -20 368 -4985 0 # -20 369 -4986 0 # -20 370 -4987 0 # -20 371 -4988 0 # -20 372 -4989 0 # -20 373 -4990 0 # -20 374 -4991 0 # -20 375 -4992 0 # -20 376 -4993 0 # -20 377 -4994 0 # -20 378 -4995 0 # -20 379 -4996 0 # -20 380 -4997 0 # -20 381 -4998 0 # -20 382 -4999 0 # -20 383 -5000 0 # -20 384 -5001 0 # -20 385 -5002 0 # -20 386 -5003 0 # -20 387 -5004 0 # -20 388 -5005 0 # -20 389 -5006 0 # -20 390 -5007 0 # -20 391 -5008 0 # -20 392 -5009 0 # -20 393 -5010 0 # -20 394 -5011 0 # -20 395 -5012 0 # -20 396 -5013 0 # -20 397 -5014 0 # -20 398 -5015 0 # -20 399 -5016 0 # -20 400 -5017 0 # -20 401 -5018 0 # -20 402 -5019 0 # -20 403 -5020 0 # -20 404 -5021 0 # -20 405 -5022 0 # -20 406 -5023 0 # -20 407 -5024 0 # -20 408 -5025 0 # -20 409 -5026 0 # -20 410 -5027 0 # -20 411 -5028 0 # -20 412 -5029 0 # -20 413 -5030 0 # -20 414 -5031 0 # -20 415 -5032 0 # -20 416 -5033 0 # -20 417 -5034 0 # -20 418 -5035 0 # -20 419 -5036 0 # -20 420 -5037 0 # -20 421 -5038 0 # -20 422 -5039 0 # -20 423 -5040 0 # -20 424 -5041 0 # -20 425 -5042 0 # -20 426 -5043 0 # -20 427 -5044 0 # -20 428 -5045 0 # -20 429 -5046 0 # -20 430 -5047 0 # -20 431 -5048 0 # -20 432 -5049 0 # -20 433 -5050 0 # -20 434 -5051 0 # -20 435 -5052 0 # -20 436 -5053 0 # -20 437 -5054 0 # -20 438 -5055 0 # -20 439 -5056 0 # -20 440 -5057 0 # -20 441 -5058 0 # -20 442 -5059 0 # -20 443 -5060 0 # -20 444 -5061 0 # -20 445 -5062 0 # -20 446 -5063 0 # -20 447 -5064 0 # -20 448 -5065 0 # -20 449 -5066 0 # -20 450 -5067 0 # -20 451 -5068 0 # -20 452 -5069 0 # -20 453 -5070 0 # -20 454 -5071 0 # -20 455 -5072 0 # -20 456 -5073 0 # -20 457 -5074 0 # -20 458 -5075 0 # -20 459 -5076 0 # -20 460 -5077 0 # -20 461 -5078 0 # -20 462 -5079 0 # -20 463 -5080 0 # -20 464 -5081 0 # -20 465 -5082 0 # -20 466 -5083 0 # -20 467 -5084 0 # -20 468 -5085 0 # -20 469 -5086 0 # -20 470 -5087 0 # -20 471 -5088 0 # -20 472 -5089 0 # -20 473 -5090 0 # -20 474 -5091 0 # -20 475 -5092 0 # -20 476 -5093 0 # -20 477 -5094 0 # -20 478 -5095 0 # -20 479 -5096 0 # -20 480 -5097 0 # -20 481 -5098 0 # -20 482 -5099 0 # -20 483 -5100 0 # -20 484 -5101 0 # -20 485 -5102 0 # -20 486 -5103 0 # -20 487 -5104 0 # -20 488 -5105 0 # -20 489 -5106 0 # -20 490 -5107 0 # -20 491 -5108 0 # -20 492 -5109 0 # -20 493 -5110 0 # -20 494 -5111 0 # -20 495 -5112 0 # -20 496 -5113 0 # -20 497 -5114 0 # -20 498 -5115 0 # -20 499 -5116 0 # -20 500 -5117 0 # -20 501 -5118 0 # -20 502 -5119 0 # -20 503 -5120 0 # -20 504 -5121 0 # -20 505 -5122 0 # -20 506 -5123 0 # -20 507 -5124 0 # -20 508 -5125 0 # -20 509 -5126 0 # -20 510 -5127 0 # -20 511 -5128 0 # -20 512 -5129 0 # -20 513 -5130 0 # -20 514 -5131 0 # -20 515 -5132 0 # -20 516 -5133 0 # -20 517 -5134 0 # -20 518 -5135 0 # -20 519 -5136 0 # -20 520 -5137 0 # -20 521 -5138 0 # -20 522 -5139 0 # -20 523 -5140 0 # -20 524 -5141 0 # -20 525 -5142 0 # -20 526 -5143 0 # -20 527 -5144 0 # -20 528 -5145 0 # -20 529 -5146 0 # -20 530 -5147 0 # -20 531 -5148 0 # -20 532 -5149 0 # -20 533 -5150 0 # -20 534 -5151 0 # -20 535 -5152 0 # -20 536 -5153 0 # -20 537 -5154 0 # -20 538 -5155 0 # -20 539 -5156 0 # -20 540 -5157 0 # -20 541 -5158 0 # -20 542 -5159 0 # -20 543 -5160 0 # -20 544 -5161 0 # -20 545 -5162 0 # -20 546 -5163 0 # -20 547 -5164 0 # -20 548 -5165 0 # -20 549 -5166 0 # -20 550 -5167 0 # -20 551 -5168 0 # -20 552 -5169 0 # -20 553 -5170 0 # -20 554 -5171 0 # -20 555 -5172 0 # -20 556 -5173 0 # -20 557 -5174 0 # -20 558 -5175 0 # -20 559 -5176 0 # -20 560 -5177 0 # -20 561 -5178 0 # -20 562 -5179 0 # -20 563 -5180 0 # -20 564 -5181 0 # -20 565 -5182 0 # -20 566 -5183 0 # -20 567 -5184 0 # -20 568 -5185 0 # -20 569 -5186 0 # -20 570 -5187 0 # -20 571 -5188 0 # -20 572 -5189 0 # -20 573 -5190 0 # -20 574 -5191 0 # -20 575 -5192 0 # -20 576 -5193 0 # -19 0 -5194 0 # -19 1 -5195 0 # -19 2 -5196 0 # -19 3 -5197 5 # -19 4 -5198 0 # -19 5 -5199 2 # -19 6 -5200 1 # -19 7 -5201 2 # -19 8 -5202 2 # -19 9 -5203 4 # -19 10 -5204 4 # -19 11 -5205 3 # -19 12 -5206 4 # -19 13 -5207 4 # -19 14 -5208 4 # -19 15 -5209 4 # -19 16 -5210 4 # -19 17 -5211 4 # -19 18 -5212 5 # -19 19 -5213 5 # -19 20 -5214 5 # -19 21 -5215 5 # -19 22 -5216 5 # -19 23 -5217 5 # -19 24 -5218 5 # -19 25 -5219 6 # -19 26 -5220 5 # -19 27 -5221 6 # -19 28 -5222 6 # -19 29 -5223 6 # -19 30 -5224 6 # -19 31 -5225 6 # -19 32 -5226 6 # -19 33 -5227 6 # -19 34 -5228 6 # -19 35 -5229 6 # -19 36 -5230 6 # -19 37 -5231 6 # -19 38 -5232 6 # -19 39 -5233 6 # -19 40 -5234 6 # -19 41 -5235 6 # -19 42 -5236 6 # -19 43 -5237 7 # -19 44 -5238 7 # -19 45 -5239 7 # -19 46 -5240 7 # -19 47 -5241 7 # -19 48 -5242 7 # -19 49 -5243 6 # -19 50 -5244 7 # -19 51 -5245 7 # -19 52 -5246 8 # -19 53 -5247 7 # -19 54 -5248 7 # -19 55 -5249 7 # -19 56 -5250 7 # -19 57 -5251 7 # -19 58 -5252 6 # -19 59 -5253 7 # -19 60 -5254 8 # -19 61 -5255 9 # -19 62 -5256 9 # -19 63 -5257 7 # -19 64 -5258 7 # -19 65 -5259 7 # -19 66 -5260 9 # -19 67 -5261 8 # -19 68 -5262 9 # -19 69 -5263 7 # -19 70 -5264 8 # -19 71 -5265 5 # -19 72 -5266 7 # -19 73 -5267 13 # -19 74 -5268 4 # -19 75 -5269 5 # -19 76 -5270 3 # -19 77 -5271 14 # -19 78 -5272 8 # -19 79 -5273 7 # -19 80 -5274 5 # -19 81 -5275 4 # -19 82 -5276 9 # -19 83 -5277 0 # -19 84 -5278 0 # -19 85 -5279 0 # -19 86 -5280 0 # -19 87 -5281 1 # -19 88 -5282 4 # -19 89 -5283 8 # -19 90 -5284 2 # -19 91 -5285 0 # -19 92 -5286 7 # -19 93 -5287 0 # -19 94 -5288 0 # -19 95 -5289 0 # -19 96 -5290 0 # -19 97 -5291 0 # -19 98 -5292 0 # -19 99 -5293 0 # -19 100 -5294 0 # -19 101 -5295 0 # -19 102 -5296 0 # -19 103 -5297 0 # -19 104 -5298 0 # -19 105 -5299 0 # -19 106 -5300 0 # -19 107 -5301 0 # -19 108 -5302 0 # -19 109 -5303 0 # -19 110 -5304 0 # -19 111 -5305 0 # -19 112 -5306 0 # -19 113 -5307 0 # -19 114 -5308 0 # -19 115 -5309 0 # -19 116 -5310 0 # -19 117 -5311 0 # -19 118 -5312 0 # -19 119 -5313 0 # -19 120 -5314 0 # -19 121 -5315 0 # -19 122 -5316 0 # -19 123 -5317 0 # -19 124 -5318 0 # -19 125 -5319 0 # -19 126 -5320 0 # -19 127 -5321 0 # -19 128 -5322 0 # -19 129 -5323 0 # -19 130 -5324 0 # -19 131 -5325 0 # -19 132 -5326 0 # -19 133 -5327 0 # -19 134 -5328 0 # -19 135 -5329 0 # -19 136 -5330 0 # -19 137 -5331 0 # -19 138 -5332 0 # -19 139 -5333 0 # -19 140 -5334 0 # -19 141 -5335 0 # -19 142 -5336 0 # -19 143 -5337 0 # -19 144 -5338 0 # -19 145 -5339 0 # -19 146 -5340 0 # -19 147 -5341 0 # -19 148 -5342 0 # -19 149 -5343 0 # -19 150 -5344 0 # -19 151 -5345 0 # -19 152 -5346 0 # -19 153 -5347 0 # -19 154 -5348 0 # -19 155 -5349 0 # -19 156 -5350 0 # -19 157 -5351 0 # -19 158 -5352 0 # -19 159 -5353 0 # -19 160 -5354 0 # -19 161 -5355 0 # -19 162 -5356 0 # -19 163 -5357 0 # -19 164 -5358 0 # -19 165 -5359 0 # -19 166 -5360 0 # -19 167 -5361 0 # -19 168 -5362 0 # -19 169 -5363 0 # -19 170 -5364 0 # -19 171 -5365 0 # -19 172 -5366 0 # -19 173 -5367 0 # -19 174 -5368 0 # -19 175 -5369 0 # -19 176 -5370 0 # -19 177 -5371 0 # -19 178 -5372 0 # -19 179 -5373 0 # -19 180 -5374 0 # -19 181 -5375 0 # -19 182 -5376 0 # -19 183 -5377 0 # -19 184 -5378 0 # -19 185 -5379 0 # -19 186 -5380 0 # -19 187 -5381 0 # -19 188 -5382 0 # -19 189 -5383 0 # -19 190 -5384 0 # -19 191 -5385 0 # -19 192 -5386 0 # -19 193 -5387 0 # -19 194 -5388 0 # -19 195 -5389 0 # -19 196 -5390 0 # -19 197 -5391 0 # -19 198 -5392 0 # -19 199 -5393 0 # -19 200 -5394 0 # -19 201 -5395 0 # -19 202 -5396 0 # -19 203 -5397 0 # -19 204 -5398 0 # -19 205 -5399 0 # -19 206 -5400 0 # -19 207 -5401 0 # -19 208 -5402 0 # -19 209 -5403 0 # -19 210 -5404 0 # -19 211 -5405 0 # -19 212 -5406 0 # -19 213 -5407 0 # -19 214 -5408 0 # -19 215 -5409 0 # -19 216 -5410 0 # -19 217 -5411 0 # -19 218 -5412 0 # -19 219 -5413 0 # -19 220 -5414 0 # -19 221 -5415 0 # -19 222 -5416 0 # -19 223 -5417 0 # -19 224 -5418 0 # -19 225 -5419 0 # -19 226 -5420 0 # -19 227 -5421 0 # -19 228 -5422 0 # -19 229 -5423 0 # -19 230 -5424 0 # -19 231 -5425 0 # -19 232 -5426 0 # -19 233 -5427 0 # -19 234 -5428 0 # -19 235 -5429 0 # -19 236 -5430 0 # -19 237 -5431 0 # -19 238 -5432 0 # -19 239 -5433 0 # -19 240 -5434 0 # -19 241 -5435 0 # -19 242 -5436 0 # -19 243 -5437 0 # -19 244 -5438 0 # -19 245 -5439 0 # -19 246 -5440 0 # -19 247 -5441 0 # -19 248 -5442 0 # -19 249 -5443 0 # -19 250 -5444 0 # -19 251 -5445 0 # -19 252 -5446 0 # -19 253 -5447 0 # -19 254 -5448 0 # -19 255 -5449 0 # -19 256 -5450 0 # -19 257 -5451 0 # -19 258 -5452 0 # -19 259 -5453 0 # -19 260 -5454 0 # -19 261 -5455 0 # -19 262 -5456 0 # -19 263 -5457 0 # -19 264 -5458 0 # -19 265 -5459 0 # -19 266 -5460 0 # -19 267 -5461 0 # -19 268 -5462 0 # -19 269 -5463 0 # -19 270 -5464 0 # -19 271 -5465 0 # -19 272 -5466 0 # -19 273 -5467 0 # -19 274 -5468 0 # -19 275 -5469 0 # -19 276 -5470 0 # -19 277 -5471 0 # -19 278 -5472 0 # -19 279 -5473 0 # -19 280 -5474 0 # -19 281 -5475 0 # -19 282 -5476 0 # -19 283 -5477 0 # -19 284 -5478 0 # -19 285 -5479 0 # -19 286 -5480 0 # -19 287 -5481 0 # -19 288 -5482 0 # -19 289 -5483 0 # -19 290 -5484 0 # -19 291 -5485 0 # -19 292 -5486 0 # -19 293 -5487 0 # -19 294 -5488 0 # -19 295 -5489 0 # -19 296 -5490 0 # -19 297 -5491 0 # -19 298 -5492 0 # -19 299 -5493 0 # -19 300 -5494 0 # -19 301 -5495 0 # -19 302 -5496 0 # -19 303 -5497 0 # -19 304 -5498 0 # -19 305 -5499 0 # -19 306 -5500 0 # -19 307 -5501 0 # -19 308 -5502 0 # -19 309 -5503 0 # -19 310 -5504 0 # -19 311 -5505 0 # -19 312 -5506 0 # -19 313 -5507 0 # -19 314 -5508 0 # -19 315 -5509 0 # -19 316 -5510 0 # -19 317 -5511 0 # -19 318 -5512 0 # -19 319 -5513 0 # -19 320 -5514 0 # -19 321 -5515 0 # -19 322 -5516 0 # -19 323 -5517 0 # -19 324 -5518 0 # -19 325 -5519 0 # -19 326 -5520 0 # -19 327 -5521 0 # -19 328 -5522 0 # -19 329 -5523 0 # -19 330 -5524 0 # -19 331 -5525 0 # -19 332 -5526 0 # -19 333 -5527 0 # -19 334 -5528 0 # -19 335 -5529 0 # -19 336 -5530 0 # -19 337 -5531 0 # -19 338 -5532 0 # -19 339 -5533 0 # -19 340 -5534 0 # -19 341 -5535 0 # -19 342 -5536 0 # -19 343 -5537 0 # -19 344 -5538 0 # -19 345 -5539 0 # -19 346 -5540 0 # -19 347 -5541 0 # -19 348 -5542 0 # -19 349 -5543 0 # -19 350 -5544 0 # -19 351 -5545 0 # -19 352 -5546 0 # -19 353 -5547 0 # -19 354 -5548 0 # -19 355 -5549 0 # -19 356 -5550 0 # -19 357 -5551 0 # -19 358 -5552 0 # -19 359 -5553 0 # -19 360 -5554 0 # -19 361 -5555 0 # -19 362 -5556 0 # -19 363 -5557 0 # -19 364 -5558 0 # -19 365 -5559 0 # -19 366 -5560 0 # -19 367 -5561 0 # -19 368 -5562 0 # -19 369 -5563 0 # -19 370 -5564 0 # -19 371 -5565 0 # -19 372 -5566 0 # -19 373 -5567 0 # -19 374 -5568 0 # -19 375 -5569 0 # -19 376 -5570 0 # -19 377 -5571 0 # -19 378 -5572 0 # -19 379 -5573 0 # -19 380 -5574 0 # -19 381 -5575 0 # -19 382 -5576 0 # -19 383 -5577 0 # -19 384 -5578 0 # -19 385 -5579 0 # -19 386 -5580 0 # -19 387 -5581 0 # -19 388 -5582 0 # -19 389 -5583 0 # -19 390 -5584 0 # -19 391 -5585 0 # -19 392 -5586 0 # -19 393 -5587 0 # -19 394 -5588 0 # -19 395 -5589 0 # -19 396 -5590 0 # -19 397 -5591 0 # -19 398 -5592 0 # -19 399 -5593 0 # -19 400 -5594 0 # -19 401 -5595 0 # -19 402 -5596 0 # -19 403 -5597 0 # -19 404 -5598 0 # -19 405 -5599 0 # -19 406 -5600 0 # -19 407 -5601 0 # -19 408 -5602 0 # -19 409 -5603 0 # -19 410 -5604 0 # -19 411 -5605 0 # -19 412 -5606 0 # -19 413 -5607 0 # -19 414 -5608 0 # -19 415 -5609 0 # -19 416 -5610 0 # -19 417 -5611 0 # -19 418 -5612 0 # -19 419 -5613 0 # -19 420 -5614 0 # -19 421 -5615 0 # -19 422 -5616 0 # -19 423 -5617 0 # -19 424 -5618 0 # -19 425 -5619 0 # -19 426 -5620 0 # -19 427 -5621 0 # -19 428 -5622 0 # -19 429 -5623 0 # -19 430 -5624 0 # -19 431 -5625 0 # -19 432 -5626 0 # -19 433 -5627 0 # -19 434 -5628 0 # -19 435 -5629 0 # -19 436 -5630 0 # -19 437 -5631 0 # -19 438 -5632 0 # -19 439 -5633 0 # -19 440 -5634 0 # -19 441 -5635 0 # -19 442 -5636 0 # -19 443 -5637 0 # -19 444 -5638 0 # -19 445 -5639 0 # -19 446 -5640 0 # -19 447 -5641 0 # -19 448 -5642 0 # -19 449 -5643 0 # -19 450 -5644 0 # -19 451 -5645 0 # -19 452 -5646 0 # -19 453 -5647 0 # -19 454 -5648 0 # -19 455 -5649 0 # -19 456 -5650 0 # -19 457 -5651 0 # -19 458 -5652 0 # -19 459 -5653 0 # -19 460 -5654 0 # -19 461 -5655 0 # -19 462 -5656 0 # -19 463 -5657 0 # -19 464 -5658 0 # -19 465 -5659 0 # -19 466 -5660 0 # -19 467 -5661 0 # -19 468 -5662 0 # -19 469 -5663 0 # -19 470 -5664 0 # -19 471 -5665 0 # -19 472 -5666 0 # -19 473 -5667 0 # -19 474 -5668 0 # -19 475 -5669 0 # -19 476 -5670 0 # -19 477 -5671 0 # -19 478 -5672 0 # -19 479 -5673 0 # -19 480 -5674 0 # -19 481 -5675 0 # -19 482 -5676 0 # -19 483 -5677 0 # -19 484 -5678 0 # -19 485 -5679 0 # -19 486 -5680 0 # -19 487 -5681 0 # -19 488 -5682 0 # -19 489 -5683 0 # -19 490 -5684 0 # -19 491 -5685 0 # -19 492 -5686 0 # -19 493 -5687 0 # -19 494 -5688 0 # -19 495 -5689 0 # -19 496 -5690 0 # -19 497 -5691 0 # -19 498 -5692 0 # -19 499 -5693 0 # -19 500 -5694 0 # -19 501 -5695 0 # -19 502 -5696 0 # -19 503 -5697 0 # -19 504 -5698 0 # -19 505 -5699 0 # -19 506 -5700 0 # -19 507 -5701 0 # -19 508 -5702 0 # -19 509 -5703 0 # -19 510 -5704 0 # -19 511 -5705 0 # -19 512 -5706 0 # -19 513 -5707 0 # -19 514 -5708 0 # -19 515 -5709 0 # -19 516 -5710 0 # -19 517 -5711 0 # -19 518 -5712 0 # -19 519 -5713 0 # -19 520 -5714 0 # -19 521 -5715 0 # -19 522 -5716 0 # -19 523 -5717 0 # -19 524 -5718 0 # -19 525 -5719 0 # -19 526 -5720 0 # -19 527 -5721 0 # -19 528 -5722 0 # -19 529 -5723 0 # -19 530 -5724 0 # -19 531 -5725 0 # -19 532 -5726 0 # -19 533 -5727 0 # -19 534 -5728 0 # -19 535 -5729 0 # -19 536 -5730 0 # -19 537 -5731 0 # -19 538 -5732 0 # -19 539 -5733 0 # -19 540 -5734 0 # -19 541 -5735 0 # -19 542 -5736 0 # -19 543 -5737 0 # -19 544 -5738 0 # -19 545 -5739 0 # -19 546 -5740 0 # -19 547 -5741 0 # -19 548 -5742 0 # -19 549 -5743 0 # -19 550 -5744 0 # -19 551 -5745 0 # -19 552 -5746 0 # -19 553 -5747 0 # -19 554 -5748 0 # -19 555 -5749 0 # -19 556 -5750 0 # -19 557 -5751 0 # -19 558 -5752 0 # -19 559 -5753 0 # -19 560 -5754 0 # -19 561 -5755 0 # -19 562 -5756 0 # -19 563 -5757 0 # -19 564 -5758 0 # -19 565 -5759 0 # -19 566 -5760 0 # -19 567 -5761 0 # -19 568 -5762 0 # -19 569 -5763 0 # -19 570 -5764 0 # -19 571 -5765 0 # -19 572 -5766 0 # -19 573 -5767 0 # -19 574 -5768 0 # -19 575 -5769 0 # -19 576 -5770 0 # -18 0 -5771 0 # -18 1 -5772 0 # -18 2 -5773 3 # -18 3 -5774 4 # -18 4 -5775 0 # -18 5 -5776 4 # -18 6 -5777 3 # -18 7 -5778 2 # -18 8 -5779 5 # -18 9 -5780 3 # -18 10 -5781 4 # -18 11 -5782 4 # -18 12 -5783 5 # -18 13 -5784 4 # -18 14 -5785 4 # -18 15 -5786 5 # -18 16 -5787 5 # -18 17 -5788 5 # -18 18 -5789 5 # -18 19 -5790 5 # -18 20 -5791 5 # -18 21 -5792 5 # -18 22 -5793 5 # -18 23 -5794 5 # -18 24 -5795 5 # -18 25 -5796 6 # -18 26 -5797 5 # -18 27 -5798 6 # -18 28 -5799 6 # -18 29 -5800 6 # -18 30 -5801 6 # -18 31 -5802 7 # -18 32 -5803 6 # -18 33 -5804 6 # -18 34 -5805 7 # -18 35 -5806 7 # -18 36 -5807 6 # -18 37 -5808 7 # -18 38 -5809 6 # -18 39 -5810 7 # -18 40 -5811 7 # -18 41 -5812 7 # -18 42 -5813 7 # -18 43 -5814 7 # -18 44 -5815 7 # -18 45 -5816 7 # -18 46 -5817 7 # -18 47 -5818 7 # -18 48 -5819 8 # -18 49 -5820 7 # -18 50 -5821 8 # -18 51 -5822 7 # -18 52 -5823 9 # -18 53 -5824 8 # -18 54 -5825 9 # -18 55 -5826 8 # -18 56 -5827 8 # -18 57 -5828 8 # -18 58 -5829 8 # -18 59 -5830 8 # -18 60 -5831 10 # -18 61 -5832 10 # -18 62 -5833 11 # -18 63 -5834 9 # -18 64 -5835 6 # -18 65 -5836 10 # -18 66 -5837 10 # -18 67 -5838 9 # -18 68 -5839 11 # -18 69 -5840 9 # -18 70 -5841 11 # -18 71 -5842 6 # -18 72 -5843 5 # -18 73 -5844 9 # -18 74 -5845 4 # -18 75 -5846 5 # -18 76 -5847 8 # -18 77 -5848 12 # -18 78 -5849 10 # -18 79 -5850 9 # -18 80 -5851 8 # -18 81 -5852 4 # -18 82 -5853 8 # -18 83 -5854 0 # -18 84 -5855 2 # -18 85 -5856 0 # -18 86 -5857 0 # -18 87 -5858 6 # -18 88 -5859 6 # -18 89 -5860 11 # -18 90 -5861 4 # -18 91 -5862 0 # -18 92 -5863 7 # -18 93 -5864 0 # -18 94 -5865 0 # -18 95 -5866 0 # -18 96 -5867 0 # -18 97 -5868 0 # -18 98 -5869 0 # -18 99 -5870 0 # -18 100 -5871 0 # -18 101 -5872 0 # -18 102 -5873 0 # -18 103 -5874 0 # -18 104 -5875 0 # -18 105 -5876 0 # -18 106 -5877 0 # -18 107 -5878 0 # -18 108 -5879 0 # -18 109 -5880 0 # -18 110 -5881 0 # -18 111 -5882 0 # -18 112 -5883 0 # -18 113 -5884 0 # -18 114 -5885 0 # -18 115 -5886 0 # -18 116 -5887 0 # -18 117 -5888 0 # -18 118 -5889 0 # -18 119 -5890 0 # -18 120 -5891 0 # -18 121 -5892 0 # -18 122 -5893 0 # -18 123 -5894 0 # -18 124 -5895 0 # -18 125 -5896 0 # -18 126 -5897 0 # -18 127 -5898 0 # -18 128 -5899 0 # -18 129 -5900 0 # -18 130 -5901 0 # -18 131 -5902 0 # -18 132 -5903 0 # -18 133 -5904 0 # -18 134 -5905 0 # -18 135 -5906 0 # -18 136 -5907 0 # -18 137 -5908 0 # -18 138 -5909 0 # -18 139 -5910 0 # -18 140 -5911 0 # -18 141 -5912 0 # -18 142 -5913 0 # -18 143 -5914 0 # -18 144 -5915 0 # -18 145 -5916 0 # -18 146 -5917 0 # -18 147 -5918 0 # -18 148 -5919 0 # -18 149 -5920 0 # -18 150 -5921 0 # -18 151 -5922 0 # -18 152 -5923 0 # -18 153 -5924 0 # -18 154 -5925 0 # -18 155 -5926 0 # -18 156 -5927 0 # -18 157 -5928 0 # -18 158 -5929 0 # -18 159 -5930 0 # -18 160 -5931 0 # -18 161 -5932 0 # -18 162 -5933 0 # -18 163 -5934 0 # -18 164 -5935 0 # -18 165 -5936 0 # -18 166 -5937 0 # -18 167 -5938 0 # -18 168 -5939 0 # -18 169 -5940 0 # -18 170 -5941 0 # -18 171 -5942 0 # -18 172 -5943 0 # -18 173 -5944 0 # -18 174 -5945 0 # -18 175 -5946 0 # -18 176 -5947 0 # -18 177 -5948 0 # -18 178 -5949 0 # -18 179 -5950 0 # -18 180 -5951 0 # -18 181 -5952 0 # -18 182 -5953 0 # -18 183 -5954 0 # -18 184 -5955 0 # -18 185 -5956 0 # -18 186 -5957 0 # -18 187 -5958 0 # -18 188 -5959 0 # -18 189 -5960 0 # -18 190 -5961 0 # -18 191 -5962 0 # -18 192 -5963 0 # -18 193 -5964 0 # -18 194 -5965 0 # -18 195 -5966 0 # -18 196 -5967 0 # -18 197 -5968 0 # -18 198 -5969 0 # -18 199 -5970 0 # -18 200 -5971 0 # -18 201 -5972 0 # -18 202 -5973 0 # -18 203 -5974 0 # -18 204 -5975 0 # -18 205 -5976 0 # -18 206 -5977 0 # -18 207 -5978 0 # -18 208 -5979 0 # -18 209 -5980 0 # -18 210 -5981 0 # -18 211 -5982 0 # -18 212 -5983 0 # -18 213 -5984 0 # -18 214 -5985 0 # -18 215 -5986 0 # -18 216 -5987 0 # -18 217 -5988 0 # -18 218 -5989 0 # -18 219 -5990 0 # -18 220 -5991 0 # -18 221 -5992 0 # -18 222 -5993 0 # -18 223 -5994 0 # -18 224 -5995 0 # -18 225 -5996 0 # -18 226 -5997 0 # -18 227 -5998 0 # -18 228 -5999 0 # -18 229 -6000 0 # -18 230 -6001 0 # -18 231 -6002 0 # -18 232 -6003 0 # -18 233 -6004 0 # -18 234 -6005 0 # -18 235 -6006 0 # -18 236 -6007 0 # -18 237 -6008 0 # -18 238 -6009 0 # -18 239 -6010 0 # -18 240 -6011 0 # -18 241 -6012 0 # -18 242 -6013 0 # -18 243 -6014 0 # -18 244 -6015 0 # -18 245 -6016 0 # -18 246 -6017 0 # -18 247 -6018 0 # -18 248 -6019 0 # -18 249 -6020 0 # -18 250 -6021 0 # -18 251 -6022 0 # -18 252 -6023 0 # -18 253 -6024 0 # -18 254 -6025 0 # -18 255 -6026 0 # -18 256 -6027 0 # -18 257 -6028 0 # -18 258 -6029 0 # -18 259 -6030 0 # -18 260 -6031 0 # -18 261 -6032 0 # -18 262 -6033 0 # -18 263 -6034 0 # -18 264 -6035 0 # -18 265 -6036 0 # -18 266 -6037 0 # -18 267 -6038 0 # -18 268 -6039 0 # -18 269 -6040 0 # -18 270 -6041 0 # -18 271 -6042 0 # -18 272 -6043 0 # -18 273 -6044 0 # -18 274 -6045 0 # -18 275 -6046 0 # -18 276 -6047 0 # -18 277 -6048 0 # -18 278 -6049 0 # -18 279 -6050 0 # -18 280 -6051 0 # -18 281 -6052 0 # -18 282 -6053 0 # -18 283 -6054 0 # -18 284 -6055 0 # -18 285 -6056 0 # -18 286 -6057 0 # -18 287 -6058 0 # -18 288 -6059 0 # -18 289 -6060 0 # -18 290 -6061 0 # -18 291 -6062 0 # -18 292 -6063 0 # -18 293 -6064 0 # -18 294 -6065 0 # -18 295 -6066 0 # -18 296 -6067 0 # -18 297 -6068 0 # -18 298 -6069 0 # -18 299 -6070 0 # -18 300 -6071 0 # -18 301 -6072 0 # -18 302 -6073 0 # -18 303 -6074 0 # -18 304 -6075 0 # -18 305 -6076 0 # -18 306 -6077 0 # -18 307 -6078 0 # -18 308 -6079 0 # -18 309 -6080 0 # -18 310 -6081 0 # -18 311 -6082 0 # -18 312 -6083 0 # -18 313 -6084 0 # -18 314 -6085 0 # -18 315 -6086 0 # -18 316 -6087 0 # -18 317 -6088 0 # -18 318 -6089 0 # -18 319 -6090 0 # -18 320 -6091 0 # -18 321 -6092 0 # -18 322 -6093 0 # -18 323 -6094 0 # -18 324 -6095 0 # -18 325 -6096 0 # -18 326 -6097 0 # -18 327 -6098 0 # -18 328 -6099 0 # -18 329 -6100 0 # -18 330 -6101 0 # -18 331 -6102 0 # -18 332 -6103 0 # -18 333 -6104 0 # -18 334 -6105 0 # -18 335 -6106 0 # -18 336 -6107 0 # -18 337 -6108 0 # -18 338 -6109 0 # -18 339 -6110 0 # -18 340 -6111 0 # -18 341 -6112 0 # -18 342 -6113 0 # -18 343 -6114 0 # -18 344 -6115 0 # -18 345 -6116 0 # -18 346 -6117 0 # -18 347 -6118 0 # -18 348 -6119 0 # -18 349 -6120 0 # -18 350 -6121 0 # -18 351 -6122 0 # -18 352 -6123 0 # -18 353 -6124 0 # -18 354 -6125 0 # -18 355 -6126 0 # -18 356 -6127 0 # -18 357 -6128 0 # -18 358 -6129 0 # -18 359 -6130 0 # -18 360 -6131 0 # -18 361 -6132 0 # -18 362 -6133 0 # -18 363 -6134 0 # -18 364 -6135 0 # -18 365 -6136 0 # -18 366 -6137 0 # -18 367 -6138 0 # -18 368 -6139 0 # -18 369 -6140 0 # -18 370 -6141 0 # -18 371 -6142 0 # -18 372 -6143 0 # -18 373 -6144 0 # -18 374 -6145 0 # -18 375 -6146 0 # -18 376 -6147 0 # -18 377 -6148 0 # -18 378 -6149 0 # -18 379 -6150 0 # -18 380 -6151 0 # -18 381 -6152 0 # -18 382 -6153 0 # -18 383 -6154 0 # -18 384 -6155 0 # -18 385 -6156 0 # -18 386 -6157 0 # -18 387 -6158 0 # -18 388 -6159 0 # -18 389 -6160 0 # -18 390 -6161 0 # -18 391 -6162 0 # -18 392 -6163 0 # -18 393 -6164 0 # -18 394 -6165 0 # -18 395 -6166 0 # -18 396 -6167 0 # -18 397 -6168 0 # -18 398 -6169 0 # -18 399 -6170 0 # -18 400 -6171 0 # -18 401 -6172 0 # -18 402 -6173 0 # -18 403 -6174 0 # -18 404 -6175 0 # -18 405 -6176 0 # -18 406 -6177 0 # -18 407 -6178 0 # -18 408 -6179 0 # -18 409 -6180 0 # -18 410 -6181 0 # -18 411 -6182 0 # -18 412 -6183 0 # -18 413 -6184 0 # -18 414 -6185 0 # -18 415 -6186 0 # -18 416 -6187 0 # -18 417 -6188 0 # -18 418 -6189 0 # -18 419 -6190 0 # -18 420 -6191 0 # -18 421 -6192 0 # -18 422 -6193 0 # -18 423 -6194 0 # -18 424 -6195 0 # -18 425 -6196 0 # -18 426 -6197 0 # -18 427 -6198 0 # -18 428 -6199 0 # -18 429 -6200 0 # -18 430 -6201 0 # -18 431 -6202 0 # -18 432 -6203 0 # -18 433 -6204 0 # -18 434 -6205 0 # -18 435 -6206 0 # -18 436 -6207 0 # -18 437 -6208 0 # -18 438 -6209 0 # -18 439 -6210 0 # -18 440 -6211 0 # -18 441 -6212 0 # -18 442 -6213 0 # -18 443 -6214 0 # -18 444 -6215 0 # -18 445 -6216 0 # -18 446 -6217 0 # -18 447 -6218 0 # -18 448 -6219 0 # -18 449 -6220 0 # -18 450 -6221 0 # -18 451 -6222 0 # -18 452 -6223 0 # -18 453 -6224 0 # -18 454 -6225 0 # -18 455 -6226 0 # -18 456 -6227 0 # -18 457 -6228 0 # -18 458 -6229 0 # -18 459 -6230 0 # -18 460 -6231 0 # -18 461 -6232 0 # -18 462 -6233 0 # -18 463 -6234 0 # -18 464 -6235 0 # -18 465 -6236 0 # -18 466 -6237 0 # -18 467 -6238 0 # -18 468 -6239 0 # -18 469 -6240 0 # -18 470 -6241 0 # -18 471 -6242 0 # -18 472 -6243 0 # -18 473 -6244 0 # -18 474 -6245 0 # -18 475 -6246 0 # -18 476 -6247 0 # -18 477 -6248 0 # -18 478 -6249 0 # -18 479 -6250 0 # -18 480 -6251 0 # -18 481 -6252 0 # -18 482 -6253 0 # -18 483 -6254 0 # -18 484 -6255 0 # -18 485 -6256 0 # -18 486 -6257 0 # -18 487 -6258 0 # -18 488 -6259 0 # -18 489 -6260 0 # -18 490 -6261 0 # -18 491 -6262 0 # -18 492 -6263 0 # -18 493 -6264 0 # -18 494 -6265 0 # -18 495 -6266 0 # -18 496 -6267 0 # -18 497 -6268 0 # -18 498 -6269 0 # -18 499 -6270 0 # -18 500 -6271 0 # -18 501 -6272 0 # -18 502 -6273 0 # -18 503 -6274 0 # -18 504 -6275 0 # -18 505 -6276 0 # -18 506 -6277 0 # -18 507 -6278 0 # -18 508 -6279 0 # -18 509 -6280 0 # -18 510 -6281 0 # -18 511 -6282 0 # -18 512 -6283 0 # -18 513 -6284 0 # -18 514 -6285 0 # -18 515 -6286 0 # -18 516 -6287 0 # -18 517 -6288 0 # -18 518 -6289 0 # -18 519 -6290 0 # -18 520 -6291 0 # -18 521 -6292 0 # -18 522 -6293 0 # -18 523 -6294 0 # -18 524 -6295 0 # -18 525 -6296 0 # -18 526 -6297 0 # -18 527 -6298 0 # -18 528 -6299 0 # -18 529 -6300 0 # -18 530 -6301 0 # -18 531 -6302 0 # -18 532 -6303 0 # -18 533 -6304 0 # -18 534 -6305 0 # -18 535 -6306 0 # -18 536 -6307 0 # -18 537 -6308 0 # -18 538 -6309 0 # -18 539 -6310 0 # -18 540 -6311 0 # -18 541 -6312 0 # -18 542 -6313 0 # -18 543 -6314 0 # -18 544 -6315 0 # -18 545 -6316 0 # -18 546 -6317 0 # -18 547 -6318 0 # -18 548 -6319 0 # -18 549 -6320 0 # -18 550 -6321 0 # -18 551 -6322 0 # -18 552 -6323 0 # -18 553 -6324 0 # -18 554 -6325 0 # -18 555 -6326 0 # -18 556 -6327 0 # -18 557 -6328 0 # -18 558 -6329 0 # -18 559 -6330 0 # -18 560 -6331 0 # -18 561 -6332 0 # -18 562 -6333 0 # -18 563 -6334 0 # -18 564 -6335 0 # -18 565 -6336 0 # -18 566 -6337 0 # -18 567 -6338 0 # -18 568 -6339 0 # -18 569 -6340 0 # -18 570 -6341 0 # -18 571 -6342 0 # -18 572 -6343 0 # -18 573 -6344 0 # -18 574 -6345 0 # -18 575 -6346 0 # -18 576 -6347 0 # -17 0 -6348 0 # -17 1 -6349 0 # -17 2 -6350 5 # -17 3 -6351 4 # -17 4 -6352 1 # -17 5 -6353 4 # -17 6 -6354 4 # -17 7 -6355 3 # -17 8 -6356 5 # -17 9 -6357 3 # -17 10 -6358 5 # -17 11 -6359 5 # -17 12 -6360 5 # -17 13 -6361 5 # -17 14 -6362 4 # -17 15 -6363 5 # -17 16 -6364 5 # -17 17 -6365 5 # -17 18 -6366 5 # -17 19 -6367 5 # -17 20 -6368 5 # -17 21 -6369 5 # -17 22 -6370 5 # -17 23 -6371 6 # -17 24 -6372 6 # -17 25 -6373 6 # -17 26 -6374 6 # -17 27 -6375 6 # -17 28 -6376 6 # -17 29 -6377 6 # -17 30 -6378 7 # -17 31 -6379 7 # -17 32 -6380 6 # -17 33 -6381 6 # -17 34 -6382 7 # -17 35 -6383 6 # -17 36 -6384 7 # -17 37 -6385 7 # -17 38 -6386 6 # -17 39 -6387 7 # -17 40 -6388 7 # -17 41 -6389 7 # -17 42 -6390 7 # -17 43 -6391 8 # -17 44 -6392 8 # -17 45 -6393 7 # -17 46 -6394 7 # -17 47 -6395 8 # -17 48 -6396 7 # -17 49 -6397 8 # -17 50 -6398 7 # -17 51 -6399 8 # -17 52 -6400 8 # -17 53 -6401 8 # -17 54 -6402 8 # -17 55 -6403 8 # -17 56 -6404 8 # -17 57 -6405 8 # -17 58 -6406 9 # -17 59 -6407 7 # -17 60 -6408 9 # -17 61 -6409 10 # -17 62 -6410 11 # -17 63 -6411 10 # -17 64 -6412 9 # -17 65 -6413 10 # -17 66 -6414 13 # -17 67 -6415 9 # -17 68 -6416 8 # -17 69 -6417 11 # -17 70 -6418 8 # -17 71 -6419 6 # -17 72 -6420 7 # -17 73 -6421 7 # -17 74 -6422 12 # -17 75 -6423 4 # -17 76 -6424 9 # -17 77 -6425 14 # -17 78 -6426 9 # -17 79 -6427 9 # -17 80 -6428 7 # -17 81 -6429 3 # -17 82 -6430 6 # -17 83 -6431 0 # -17 84 -6432 2 # -17 85 -6433 0 # -17 86 -6434 0 # -17 87 -6435 8 # -17 88 -6436 6 # -17 89 -6437 7 # -17 90 -6438 5 # -17 91 -6439 0 # -17 92 -6440 3 # -17 93 -6441 0 # -17 94 -6442 0 # -17 95 -6443 0 # -17 96 -6444 0 # -17 97 -6445 0 # -17 98 -6446 0 # -17 99 -6447 0 # -17 100 -6448 0 # -17 101 -6449 0 # -17 102 -6450 0 # -17 103 -6451 0 # -17 104 -6452 0 # -17 105 -6453 0 # -17 106 -6454 0 # -17 107 -6455 0 # -17 108 -6456 0 # -17 109 -6457 0 # -17 110 -6458 0 # -17 111 -6459 0 # -17 112 -6460 0 # -17 113 -6461 0 # -17 114 -6462 0 # -17 115 -6463 0 # -17 116 -6464 0 # -17 117 -6465 0 # -17 118 -6466 0 # -17 119 -6467 0 # -17 120 -6468 0 # -17 121 -6469 0 # -17 122 -6470 0 # -17 123 -6471 0 # -17 124 -6472 0 # -17 125 -6473 0 # -17 126 -6474 0 # -17 127 -6475 0 # -17 128 -6476 0 # -17 129 -6477 0 # -17 130 -6478 0 # -17 131 -6479 0 # -17 132 -6480 0 # -17 133 -6481 0 # -17 134 -6482 0 # -17 135 -6483 0 # -17 136 -6484 0 # -17 137 -6485 0 # -17 138 -6486 0 # -17 139 -6487 0 # -17 140 -6488 0 # -17 141 -6489 0 # -17 142 -6490 0 # -17 143 -6491 0 # -17 144 -6492 0 # -17 145 -6493 0 # -17 146 -6494 0 # -17 147 -6495 0 # -17 148 -6496 0 # -17 149 -6497 0 # -17 150 -6498 0 # -17 151 -6499 0 # -17 152 -6500 0 # -17 153 -6501 0 # -17 154 -6502 0 # -17 155 -6503 0 # -17 156 -6504 0 # -17 157 -6505 0 # -17 158 -6506 0 # -17 159 -6507 0 # -17 160 -6508 0 # -17 161 -6509 0 # -17 162 -6510 0 # -17 163 -6511 0 # -17 164 -6512 0 # -17 165 -6513 0 # -17 166 -6514 0 # -17 167 -6515 0 # -17 168 -6516 0 # -17 169 -6517 0 # -17 170 -6518 0 # -17 171 -6519 0 # -17 172 -6520 0 # -17 173 -6521 0 # -17 174 -6522 0 # -17 175 -6523 0 # -17 176 -6524 0 # -17 177 -6525 0 # -17 178 -6526 0 # -17 179 -6527 0 # -17 180 -6528 0 # -17 181 -6529 0 # -17 182 -6530 0 # -17 183 -6531 0 # -17 184 -6532 0 # -17 185 -6533 0 # -17 186 -6534 0 # -17 187 -6535 0 # -17 188 -6536 0 # -17 189 -6537 0 # -17 190 -6538 0 # -17 191 -6539 0 # -17 192 -6540 0 # -17 193 -6541 0 # -17 194 -6542 0 # -17 195 -6543 0 # -17 196 -6544 0 # -17 197 -6545 0 # -17 198 -6546 0 # -17 199 -6547 0 # -17 200 -6548 0 # -17 201 -6549 0 # -17 202 -6550 0 # -17 203 -6551 0 # -17 204 -6552 0 # -17 205 -6553 0 # -17 206 -6554 0 # -17 207 -6555 0 # -17 208 -6556 0 # -17 209 -6557 0 # -17 210 -6558 0 # -17 211 -6559 0 # -17 212 -6560 0 # -17 213 -6561 0 # -17 214 -6562 0 # -17 215 -6563 0 # -17 216 -6564 0 # -17 217 -6565 0 # -17 218 -6566 0 # -17 219 -6567 0 # -17 220 -6568 0 # -17 221 -6569 0 # -17 222 -6570 0 # -17 223 -6571 0 # -17 224 -6572 0 # -17 225 -6573 0 # -17 226 -6574 0 # -17 227 -6575 0 # -17 228 -6576 0 # -17 229 -6577 0 # -17 230 -6578 0 # -17 231 -6579 0 # -17 232 -6580 0 # -17 233 -6581 0 # -17 234 -6582 0 # -17 235 -6583 0 # -17 236 -6584 0 # -17 237 -6585 0 # -17 238 -6586 0 # -17 239 -6587 0 # -17 240 -6588 0 # -17 241 -6589 0 # -17 242 -6590 0 # -17 243 -6591 0 # -17 244 -6592 0 # -17 245 -6593 0 # -17 246 -6594 0 # -17 247 -6595 0 # -17 248 -6596 0 # -17 249 -6597 0 # -17 250 -6598 0 # -17 251 -6599 0 # -17 252 -6600 0 # -17 253 -6601 0 # -17 254 -6602 0 # -17 255 -6603 0 # -17 256 -6604 0 # -17 257 -6605 0 # -17 258 -6606 0 # -17 259 -6607 0 # -17 260 -6608 0 # -17 261 -6609 0 # -17 262 -6610 0 # -17 263 -6611 0 # -17 264 -6612 0 # -17 265 -6613 0 # -17 266 -6614 0 # -17 267 -6615 0 # -17 268 -6616 0 # -17 269 -6617 0 # -17 270 -6618 0 # -17 271 -6619 0 # -17 272 -6620 0 # -17 273 -6621 0 # -17 274 -6622 0 # -17 275 -6623 0 # -17 276 -6624 0 # -17 277 -6625 0 # -17 278 -6626 0 # -17 279 -6627 0 # -17 280 -6628 0 # -17 281 -6629 0 # -17 282 -6630 0 # -17 283 -6631 0 # -17 284 -6632 0 # -17 285 -6633 0 # -17 286 -6634 0 # -17 287 -6635 0 # -17 288 -6636 0 # -17 289 -6637 0 # -17 290 -6638 0 # -17 291 -6639 0 # -17 292 -6640 0 # -17 293 -6641 0 # -17 294 -6642 0 # -17 295 -6643 0 # -17 296 -6644 0 # -17 297 -6645 0 # -17 298 -6646 0 # -17 299 -6647 0 # -17 300 -6648 0 # -17 301 -6649 0 # -17 302 -6650 0 # -17 303 -6651 0 # -17 304 -6652 0 # -17 305 -6653 0 # -17 306 -6654 0 # -17 307 -6655 0 # -17 308 -6656 0 # -17 309 -6657 0 # -17 310 -6658 0 # -17 311 -6659 0 # -17 312 -6660 0 # -17 313 -6661 0 # -17 314 -6662 0 # -17 315 -6663 0 # -17 316 -6664 0 # -17 317 -6665 0 # -17 318 -6666 0 # -17 319 -6667 0 # -17 320 -6668 0 # -17 321 -6669 0 # -17 322 -6670 0 # -17 323 -6671 0 # -17 324 -6672 0 # -17 325 -6673 0 # -17 326 -6674 0 # -17 327 -6675 0 # -17 328 -6676 0 # -17 329 -6677 0 # -17 330 -6678 0 # -17 331 -6679 0 # -17 332 -6680 0 # -17 333 -6681 0 # -17 334 -6682 0 # -17 335 -6683 0 # -17 336 -6684 0 # -17 337 -6685 0 # -17 338 -6686 0 # -17 339 -6687 0 # -17 340 -6688 0 # -17 341 -6689 0 # -17 342 -6690 0 # -17 343 -6691 0 # -17 344 -6692 0 # -17 345 -6693 0 # -17 346 -6694 0 # -17 347 -6695 0 # -17 348 -6696 0 # -17 349 -6697 0 # -17 350 -6698 0 # -17 351 -6699 0 # -17 352 -6700 0 # -17 353 -6701 0 # -17 354 -6702 0 # -17 355 -6703 0 # -17 356 -6704 0 # -17 357 -6705 0 # -17 358 -6706 0 # -17 359 -6707 0 # -17 360 -6708 0 # -17 361 -6709 0 # -17 362 -6710 0 # -17 363 -6711 0 # -17 364 -6712 0 # -17 365 -6713 0 # -17 366 -6714 0 # -17 367 -6715 0 # -17 368 -6716 0 # -17 369 -6717 0 # -17 370 -6718 0 # -17 371 -6719 0 # -17 372 -6720 0 # -17 373 -6721 0 # -17 374 -6722 0 # -17 375 -6723 0 # -17 376 -6724 0 # -17 377 -6725 0 # -17 378 -6726 0 # -17 379 -6727 0 # -17 380 -6728 0 # -17 381 -6729 0 # -17 382 -6730 0 # -17 383 -6731 0 # -17 384 -6732 0 # -17 385 -6733 0 # -17 386 -6734 0 # -17 387 -6735 0 # -17 388 -6736 0 # -17 389 -6737 0 # -17 390 -6738 0 # -17 391 -6739 0 # -17 392 -6740 0 # -17 393 -6741 0 # -17 394 -6742 0 # -17 395 -6743 0 # -17 396 -6744 0 # -17 397 -6745 0 # -17 398 -6746 0 # -17 399 -6747 0 # -17 400 -6748 0 # -17 401 -6749 0 # -17 402 -6750 0 # -17 403 -6751 0 # -17 404 -6752 0 # -17 405 -6753 0 # -17 406 -6754 0 # -17 407 -6755 0 # -17 408 -6756 0 # -17 409 -6757 0 # -17 410 -6758 0 # -17 411 -6759 0 # -17 412 -6760 0 # -17 413 -6761 0 # -17 414 -6762 0 # -17 415 -6763 0 # -17 416 -6764 0 # -17 417 -6765 0 # -17 418 -6766 0 # -17 419 -6767 0 # -17 420 -6768 0 # -17 421 -6769 0 # -17 422 -6770 0 # -17 423 -6771 0 # -17 424 -6772 0 # -17 425 -6773 0 # -17 426 -6774 0 # -17 427 -6775 0 # -17 428 -6776 0 # -17 429 -6777 0 # -17 430 -6778 0 # -17 431 -6779 0 # -17 432 -6780 0 # -17 433 -6781 0 # -17 434 -6782 0 # -17 435 -6783 0 # -17 436 -6784 0 # -17 437 -6785 0 # -17 438 -6786 0 # -17 439 -6787 0 # -17 440 -6788 0 # -17 441 -6789 0 # -17 442 -6790 0 # -17 443 -6791 0 # -17 444 -6792 0 # -17 445 -6793 0 # -17 446 -6794 0 # -17 447 -6795 0 # -17 448 -6796 0 # -17 449 -6797 0 # -17 450 -6798 0 # -17 451 -6799 0 # -17 452 -6800 0 # -17 453 -6801 0 # -17 454 -6802 0 # -17 455 -6803 0 # -17 456 -6804 0 # -17 457 -6805 0 # -17 458 -6806 0 # -17 459 -6807 0 # -17 460 -6808 0 # -17 461 -6809 0 # -17 462 -6810 0 # -17 463 -6811 0 # -17 464 -6812 0 # -17 465 -6813 0 # -17 466 -6814 0 # -17 467 -6815 0 # -17 468 -6816 0 # -17 469 -6817 0 # -17 470 -6818 0 # -17 471 -6819 0 # -17 472 -6820 0 # -17 473 -6821 0 # -17 474 -6822 0 # -17 475 -6823 0 # -17 476 -6824 0 # -17 477 -6825 0 # -17 478 -6826 0 # -17 479 -6827 0 # -17 480 -6828 0 # -17 481 -6829 0 # -17 482 -6830 0 # -17 483 -6831 0 # -17 484 -6832 0 # -17 485 -6833 0 # -17 486 -6834 0 # -17 487 -6835 0 # -17 488 -6836 0 # -17 489 -6837 0 # -17 490 -6838 0 # -17 491 -6839 0 # -17 492 -6840 0 # -17 493 -6841 0 # -17 494 -6842 0 # -17 495 -6843 0 # -17 496 -6844 0 # -17 497 -6845 0 # -17 498 -6846 0 # -17 499 -6847 0 # -17 500 -6848 0 # -17 501 -6849 0 # -17 502 -6850 0 # -17 503 -6851 0 # -17 504 -6852 0 # -17 505 -6853 0 # -17 506 -6854 0 # -17 507 -6855 0 # -17 508 -6856 0 # -17 509 -6857 0 # -17 510 -6858 0 # -17 511 -6859 0 # -17 512 -6860 0 # -17 513 -6861 0 # -17 514 -6862 0 # -17 515 -6863 0 # -17 516 -6864 0 # -17 517 -6865 0 # -17 518 -6866 0 # -17 519 -6867 0 # -17 520 -6868 0 # -17 521 -6869 0 # -17 522 -6870 0 # -17 523 -6871 0 # -17 524 -6872 0 # -17 525 -6873 0 # -17 526 -6874 0 # -17 527 -6875 0 # -17 528 -6876 0 # -17 529 -6877 0 # -17 530 -6878 0 # -17 531 -6879 0 # -17 532 -6880 0 # -17 533 -6881 0 # -17 534 -6882 0 # -17 535 -6883 0 # -17 536 -6884 0 # -17 537 -6885 0 # -17 538 -6886 0 # -17 539 -6887 0 # -17 540 -6888 0 # -17 541 -6889 0 # -17 542 -6890 0 # -17 543 -6891 0 # -17 544 -6892 0 # -17 545 -6893 0 # -17 546 -6894 0 # -17 547 -6895 0 # -17 548 -6896 0 # -17 549 -6897 0 # -17 550 -6898 0 # -17 551 -6899 0 # -17 552 -6900 0 # -17 553 -6901 0 # -17 554 -6902 0 # -17 555 -6903 0 # -17 556 -6904 0 # -17 557 -6905 0 # -17 558 -6906 0 # -17 559 -6907 0 # -17 560 -6908 0 # -17 561 -6909 0 # -17 562 -6910 0 # -17 563 -6911 0 # -17 564 -6912 0 # -17 565 -6913 0 # -17 566 -6914 0 # -17 567 -6915 0 # -17 568 -6916 0 # -17 569 -6917 0 # -17 570 -6918 0 # -17 571 -6919 0 # -17 572 -6920 0 # -17 573 -6921 0 # -17 574 -6922 0 # -17 575 -6923 0 # -17 576 -6924 0 # -16 0 -6925 0 # -16 1 -6926 0 # -16 2 -6927 5 # -16 3 -6928 4 # -16 4 -6929 0 # -16 5 -6930 5 # -16 6 -6931 4 # -16 7 -6932 2 # -16 8 -6933 5 # -16 9 -6934 4 # -16 10 -6935 5 # -16 11 -6936 4 # -16 12 -6937 5 # -16 13 -6938 4 # -16 14 -6939 5 # -16 15 -6940 5 # -16 16 -6941 4 # -16 17 -6942 5 # -16 18 -6943 5 # -16 19 -6944 5 # -16 20 -6945 5 # -16 21 -6946 5 # -16 22 -6947 5 # -16 23 -6948 5 # -16 24 -6949 6 # -16 25 -6950 6 # -16 26 -6951 5 # -16 27 -6952 6 # -16 28 -6953 6 # -16 29 -6954 6 # -16 30 -6955 6 # -16 31 -6956 6 # -16 32 -6957 6 # -16 33 -6958 6 # -16 34 -6959 7 # -16 35 -6960 6 # -16 36 -6961 7 # -16 37 -6962 6 # -16 38 -6963 6 # -16 39 -6964 7 # -16 40 -6965 7 # -16 41 -6966 7 # -16 42 -6967 7 # -16 43 -6968 7 # -16 44 -6969 7 # -16 45 -6970 7 # -16 46 -6971 7 # -16 47 -6972 8 # -16 48 -6973 7 # -16 49 -6974 7 # -16 50 -6975 7 # -16 51 -6976 8 # -16 52 -6977 7 # -16 53 -6978 8 # -16 54 -6979 7 # -16 55 -6980 6 # -16 56 -6981 8 # -16 57 -6982 8 # -16 58 -6983 8 # -16 59 -6984 7 # -16 60 -6985 8 # -16 61 -6986 11 # -16 62 -6987 11 # -16 63 -6988 9 # -16 64 -6989 9 # -16 65 -6990 8 # -16 66 -6991 10 # -16 67 -6992 5 # -16 68 -6993 11 # -16 69 -6994 7 # -16 70 -6995 5 # -16 71 -6996 8 # -16 72 -6997 5 # -16 73 -6998 8 # -16 74 -6999 13 # -16 75 -7000 4 # -16 76 -7001 5 # -16 77 -7002 17 # -16 78 -7003 8 # -16 79 -7004 7 # -16 80 -7005 5 # -16 81 -7006 1 # -16 82 -7007 7 # -16 83 -7008 0 # -16 84 -7009 2 # -16 85 -7010 0 # -16 86 -7011 0 # -16 87 -7012 7 # -16 88 -7013 5 # -16 89 -7014 9 # -16 90 -7015 6 # -16 91 -7016 0 # -16 92 -7017 5 # -16 93 -7018 0 # -16 94 -7019 0 # -16 95 -7020 0 # -16 96 -7021 0 # -16 97 -7022 0 # -16 98 -7023 0 # -16 99 -7024 0 # -16 100 -7025 0 # -16 101 -7026 0 # -16 102 -7027 0 # -16 103 -7028 0 # -16 104 -7029 0 # -16 105 -7030 0 # -16 106 -7031 0 # -16 107 -7032 0 # -16 108 -7033 0 # -16 109 -7034 0 # -16 110 -7035 0 # -16 111 -7036 0 # -16 112 -7037 0 # -16 113 -7038 0 # -16 114 -7039 0 # -16 115 -7040 0 # -16 116 -7041 0 # -16 117 -7042 0 # -16 118 -7043 0 # -16 119 -7044 0 # -16 120 -7045 0 # -16 121 -7046 0 # -16 122 -7047 0 # -16 123 -7048 0 # -16 124 -7049 0 # -16 125 -7050 0 # -16 126 -7051 0 # -16 127 -7052 0 # -16 128 -7053 0 # -16 129 -7054 0 # -16 130 -7055 0 # -16 131 -7056 0 # -16 132 -7057 0 # -16 133 -7058 0 # -16 134 -7059 0 # -16 135 -7060 0 # -16 136 -7061 0 # -16 137 -7062 0 # -16 138 -7063 0 # -16 139 -7064 0 # -16 140 -7065 0 # -16 141 -7066 0 # -16 142 -7067 0 # -16 143 -7068 0 # -16 144 -7069 0 # -16 145 -7070 0 # -16 146 -7071 0 # -16 147 -7072 0 # -16 148 -7073 0 # -16 149 -7074 0 # -16 150 -7075 0 # -16 151 -7076 0 # -16 152 -7077 0 # -16 153 -7078 0 # -16 154 -7079 0 # -16 155 -7080 0 # -16 156 -7081 0 # -16 157 -7082 0 # -16 158 -7083 0 # -16 159 -7084 0 # -16 160 -7085 0 # -16 161 -7086 0 # -16 162 -7087 0 # -16 163 -7088 0 # -16 164 -7089 0 # -16 165 -7090 0 # -16 166 -7091 0 # -16 167 -7092 0 # -16 168 -7093 0 # -16 169 -7094 0 # -16 170 -7095 0 # -16 171 -7096 0 # -16 172 -7097 0 # -16 173 -7098 0 # -16 174 -7099 0 # -16 175 -7100 0 # -16 176 -7101 0 # -16 177 -7102 0 # -16 178 -7103 0 # -16 179 -7104 0 # -16 180 -7105 0 # -16 181 -7106 0 # -16 182 -7107 0 # -16 183 -7108 0 # -16 184 -7109 0 # -16 185 -7110 0 # -16 186 -7111 0 # -16 187 -7112 0 # -16 188 -7113 0 # -16 189 -7114 0 # -16 190 -7115 0 # -16 191 -7116 0 # -16 192 -7117 0 # -16 193 -7118 0 # -16 194 -7119 0 # -16 195 -7120 0 # -16 196 -7121 0 # -16 197 -7122 0 # -16 198 -7123 0 # -16 199 -7124 0 # -16 200 -7125 0 # -16 201 -7126 0 # -16 202 -7127 0 # -16 203 -7128 0 # -16 204 -7129 0 # -16 205 -7130 0 # -16 206 -7131 0 # -16 207 -7132 0 # -16 208 -7133 0 # -16 209 -7134 0 # -16 210 -7135 0 # -16 211 -7136 0 # -16 212 -7137 0 # -16 213 -7138 0 # -16 214 -7139 0 # -16 215 -7140 0 # -16 216 -7141 0 # -16 217 -7142 0 # -16 218 -7143 0 # -16 219 -7144 0 # -16 220 -7145 0 # -16 221 -7146 0 # -16 222 -7147 0 # -16 223 -7148 0 # -16 224 -7149 0 # -16 225 -7150 0 # -16 226 -7151 0 # -16 227 -7152 0 # -16 228 -7153 0 # -16 229 -7154 0 # -16 230 -7155 0 # -16 231 -7156 0 # -16 232 -7157 0 # -16 233 -7158 0 # -16 234 -7159 0 # -16 235 -7160 0 # -16 236 -7161 0 # -16 237 -7162 0 # -16 238 -7163 0 # -16 239 -7164 0 # -16 240 -7165 0 # -16 241 -7166 0 # -16 242 -7167 0 # -16 243 -7168 0 # -16 244 -7169 0 # -16 245 -7170 0 # -16 246 -7171 0 # -16 247 -7172 0 # -16 248 -7173 0 # -16 249 -7174 0 # -16 250 -7175 0 # -16 251 -7176 0 # -16 252 -7177 0 # -16 253 -7178 0 # -16 254 -7179 0 # -16 255 -7180 0 # -16 256 -7181 0 # -16 257 -7182 0 # -16 258 -7183 0 # -16 259 -7184 0 # -16 260 -7185 0 # -16 261 -7186 0 # -16 262 -7187 0 # -16 263 -7188 0 # -16 264 -7189 0 # -16 265 -7190 0 # -16 266 -7191 0 # -16 267 -7192 0 # -16 268 -7193 0 # -16 269 -7194 0 # -16 270 -7195 0 # -16 271 -7196 0 # -16 272 -7197 0 # -16 273 -7198 0 # -16 274 -7199 0 # -16 275 -7200 0 # -16 276 -7201 0 # -16 277 -7202 0 # -16 278 -7203 0 # -16 279 -7204 0 # -16 280 -7205 0 # -16 281 -7206 0 # -16 282 -7207 0 # -16 283 -7208 0 # -16 284 -7209 0 # -16 285 -7210 0 # -16 286 -7211 0 # -16 287 -7212 0 # -16 288 -7213 0 # -16 289 -7214 0 # -16 290 -7215 0 # -16 291 -7216 0 # -16 292 -7217 0 # -16 293 -7218 0 # -16 294 -7219 0 # -16 295 -7220 0 # -16 296 -7221 0 # -16 297 -7222 0 # -16 298 -7223 0 # -16 299 -7224 0 # -16 300 -7225 0 # -16 301 -7226 0 # -16 302 -7227 0 # -16 303 -7228 0 # -16 304 -7229 0 # -16 305 -7230 0 # -16 306 -7231 0 # -16 307 -7232 0 # -16 308 -7233 0 # -16 309 -7234 0 # -16 310 -7235 0 # -16 311 -7236 0 # -16 312 -7237 0 # -16 313 -7238 0 # -16 314 -7239 0 # -16 315 -7240 0 # -16 316 -7241 0 # -16 317 -7242 0 # -16 318 -7243 0 # -16 319 -7244 0 # -16 320 -7245 0 # -16 321 -7246 0 # -16 322 -7247 0 # -16 323 -7248 0 # -16 324 -7249 0 # -16 325 -7250 0 # -16 326 -7251 0 # -16 327 -7252 0 # -16 328 -7253 0 # -16 329 -7254 0 # -16 330 -7255 0 # -16 331 -7256 0 # -16 332 -7257 0 # -16 333 -7258 0 # -16 334 -7259 0 # -16 335 -7260 0 # -16 336 -7261 0 # -16 337 -7262 0 # -16 338 -7263 0 # -16 339 -7264 0 # -16 340 -7265 0 # -16 341 -7266 0 # -16 342 -7267 0 # -16 343 -7268 0 # -16 344 -7269 0 # -16 345 -7270 0 # -16 346 -7271 0 # -16 347 -7272 0 # -16 348 -7273 0 # -16 349 -7274 0 # -16 350 -7275 0 # -16 351 -7276 0 # -16 352 -7277 0 # -16 353 -7278 0 # -16 354 -7279 0 # -16 355 -7280 0 # -16 356 -7281 0 # -16 357 -7282 0 # -16 358 -7283 0 # -16 359 -7284 0 # -16 360 -7285 0 # -16 361 -7286 0 # -16 362 -7287 0 # -16 363 -7288 0 # -16 364 -7289 0 # -16 365 -7290 0 # -16 366 -7291 0 # -16 367 -7292 0 # -16 368 -7293 0 # -16 369 -7294 0 # -16 370 -7295 0 # -16 371 -7296 0 # -16 372 -7297 0 # -16 373 -7298 0 # -16 374 -7299 0 # -16 375 -7300 0 # -16 376 -7301 0 # -16 377 -7302 0 # -16 378 -7303 0 # -16 379 -7304 0 # -16 380 -7305 0 # -16 381 -7306 0 # -16 382 -7307 0 # -16 383 -7308 0 # -16 384 -7309 0 # -16 385 -7310 0 # -16 386 -7311 0 # -16 387 -7312 0 # -16 388 -7313 0 # -16 389 -7314 0 # -16 390 -7315 0 # -16 391 -7316 0 # -16 392 -7317 0 # -16 393 -7318 0 # -16 394 -7319 0 # -16 395 -7320 0 # -16 396 -7321 0 # -16 397 -7322 0 # -16 398 -7323 0 # -16 399 -7324 0 # -16 400 -7325 0 # -16 401 -7326 0 # -16 402 -7327 0 # -16 403 -7328 0 # -16 404 -7329 0 # -16 405 -7330 0 # -16 406 -7331 0 # -16 407 -7332 0 # -16 408 -7333 0 # -16 409 -7334 0 # -16 410 -7335 0 # -16 411 -7336 0 # -16 412 -7337 0 # -16 413 -7338 0 # -16 414 -7339 0 # -16 415 -7340 0 # -16 416 -7341 0 # -16 417 -7342 0 # -16 418 -7343 0 # -16 419 -7344 0 # -16 420 -7345 0 # -16 421 -7346 0 # -16 422 -7347 0 # -16 423 -7348 0 # -16 424 -7349 0 # -16 425 -7350 0 # -16 426 -7351 0 # -16 427 -7352 0 # -16 428 -7353 0 # -16 429 -7354 0 # -16 430 -7355 0 # -16 431 -7356 0 # -16 432 -7357 0 # -16 433 -7358 0 # -16 434 -7359 0 # -16 435 -7360 0 # -16 436 -7361 0 # -16 437 -7362 0 # -16 438 -7363 0 # -16 439 -7364 0 # -16 440 -7365 0 # -16 441 -7366 0 # -16 442 -7367 0 # -16 443 -7368 0 # -16 444 -7369 0 # -16 445 -7370 0 # -16 446 -7371 0 # -16 447 -7372 0 # -16 448 -7373 0 # -16 449 -7374 0 # -16 450 -7375 0 # -16 451 -7376 0 # -16 452 -7377 0 # -16 453 -7378 0 # -16 454 -7379 0 # -16 455 -7380 0 # -16 456 -7381 0 # -16 457 -7382 0 # -16 458 -7383 0 # -16 459 -7384 0 # -16 460 -7385 0 # -16 461 -7386 0 # -16 462 -7387 0 # -16 463 -7388 0 # -16 464 -7389 0 # -16 465 -7390 0 # -16 466 -7391 0 # -16 467 -7392 0 # -16 468 -7393 0 # -16 469 -7394 0 # -16 470 -7395 0 # -16 471 -7396 0 # -16 472 -7397 0 # -16 473 -7398 0 # -16 474 -7399 0 # -16 475 -7400 0 # -16 476 -7401 0 # -16 477 -7402 0 # -16 478 -7403 0 # -16 479 -7404 0 # -16 480 -7405 0 # -16 481 -7406 0 # -16 482 -7407 0 # -16 483 -7408 0 # -16 484 -7409 0 # -16 485 -7410 0 # -16 486 -7411 0 # -16 487 -7412 0 # -16 488 -7413 0 # -16 489 -7414 0 # -16 490 -7415 0 # -16 491 -7416 0 # -16 492 -7417 0 # -16 493 -7418 0 # -16 494 -7419 0 # -16 495 -7420 0 # -16 496 -7421 0 # -16 497 -7422 0 # -16 498 -7423 0 # -16 499 -7424 0 # -16 500 -7425 0 # -16 501 -7426 0 # -16 502 -7427 0 # -16 503 -7428 0 # -16 504 -7429 0 # -16 505 -7430 0 # -16 506 -7431 0 # -16 507 -7432 0 # -16 508 -7433 0 # -16 509 -7434 0 # -16 510 -7435 0 # -16 511 -7436 0 # -16 512 -7437 0 # -16 513 -7438 0 # -16 514 -7439 0 # -16 515 -7440 0 # -16 516 -7441 0 # -16 517 -7442 0 # -16 518 -7443 0 # -16 519 -7444 0 # -16 520 -7445 0 # -16 521 -7446 0 # -16 522 -7447 0 # -16 523 -7448 0 # -16 524 -7449 0 # -16 525 -7450 0 # -16 526 -7451 0 # -16 527 -7452 0 # -16 528 -7453 0 # -16 529 -7454 0 # -16 530 -7455 0 # -16 531 -7456 0 # -16 532 -7457 0 # -16 533 -7458 0 # -16 534 -7459 0 # -16 535 -7460 0 # -16 536 -7461 0 # -16 537 -7462 0 # -16 538 -7463 0 # -16 539 -7464 0 # -16 540 -7465 0 # -16 541 -7466 0 # -16 542 -7467 0 # -16 543 -7468 0 # -16 544 -7469 0 # -16 545 -7470 0 # -16 546 -7471 0 # -16 547 -7472 0 # -16 548 -7473 0 # -16 549 -7474 0 # -16 550 -7475 0 # -16 551 -7476 0 # -16 552 -7477 0 # -16 553 -7478 0 # -16 554 -7479 0 # -16 555 -7480 0 # -16 556 -7481 0 # -16 557 -7482 0 # -16 558 -7483 0 # -16 559 -7484 0 # -16 560 -7485 0 # -16 561 -7486 0 # -16 562 -7487 0 # -16 563 -7488 0 # -16 564 -7489 0 # -16 565 -7490 0 # -16 566 -7491 0 # -16 567 -7492 0 # -16 568 -7493 0 # -16 569 -7494 0 # -16 570 -7495 0 # -16 571 -7496 0 # -16 572 -7497 0 # -16 573 -7498 0 # -16 574 -7499 0 # -16 575 -7500 0 # -16 576 -7501 0 # -15 0 -7502 0 # -15 1 -7503 0 # -15 2 -7504 3 # -15 3 -7505 6 # -15 4 -7506 0 # -15 5 -7507 4 # -15 6 -7508 4 # -15 7 -7509 3 # -15 8 -7510 6 # -15 9 -7511 3 # -15 10 -7512 4 # -15 11 -7513 3 # -15 12 -7514 4 # -15 13 -7515 4 # -15 14 -7516 4 # -15 15 -7517 4 # -15 16 -7518 5 # -15 17 -7519 4 # -15 18 -7520 5 # -15 19 -7521 5 # -15 20 -7522 5 # -15 21 -7523 5 # -15 22 -7524 5 # -15 23 -7525 5 # -15 24 -7526 6 # -15 25 -7527 5 # -15 26 -7528 5 # -15 27 -7529 5 # -15 28 -7530 6 # -15 29 -7531 6 # -15 30 -7532 6 # -15 31 -7533 6 # -15 32 -7534 6 # -15 33 -7535 6 # -15 34 -7536 7 # -15 35 -7537 7 # -15 36 -7538 7 # -15 37 -7539 7 # -15 38 -7540 6 # -15 39 -7541 7 # -15 40 -7542 7 # -15 41 -7543 6 # -15 42 -7544 6 # -15 43 -7545 7 # -15 44 -7546 7 # -15 45 -7547 7 # -15 46 -7548 7 # -15 47 -7549 7 # -15 48 -7550 7 # -15 49 -7551 7 # -15 50 -7552 8 # -15 51 -7553 8 # -15 52 -7554 6 # -15 53 -7555 7 # -15 54 -7556 7 # -15 55 -7557 8 # -15 56 -7558 8 # -15 57 -7559 9 # -15 58 -7560 9 # -15 59 -7561 7 # -15 60 -7562 8 # -15 61 -7563 10 # -15 62 -7564 7 # -15 63 -7565 11 # -15 64 -7566 8 # -15 65 -7567 9 # -15 66 -7568 10 # -15 67 -7569 6 # -15 68 -7570 11 # -15 69 -7571 6 # -15 70 -7572 5 # -15 71 -7573 9 # -15 72 -7574 6 # -15 73 -7575 8 # -15 74 -7576 11 # -15 75 -7577 5 # -15 76 -7578 11 # -15 77 -7579 12 # -15 78 -7580 5 # -15 79 -7581 5 # -15 80 -7582 8 # -15 81 -7583 0 # -15 82 -7584 4 # -15 83 -7585 0 # -15 84 -7586 4 # -15 85 -7587 0 # -15 86 -7588 0 # -15 87 -7589 9 # -15 88 -7590 4 # -15 89 -7591 7 # -15 90 -7592 4 # -15 91 -7593 0 # -15 92 -7594 3 # -15 93 -7595 0 # -15 94 -7596 0 # -15 95 -7597 0 # -15 96 -7598 0 # -15 97 -7599 0 # -15 98 -7600 0 # -15 99 -7601 0 # -15 100 -7602 0 # -15 101 -7603 0 # -15 102 -7604 0 # -15 103 -7605 0 # -15 104 -7606 0 # -15 105 -7607 0 # -15 106 -7608 0 # -15 107 -7609 0 # -15 108 -7610 0 # -15 109 -7611 0 # -15 110 -7612 0 # -15 111 -7613 0 # -15 112 -7614 0 # -15 113 -7615 0 # -15 114 -7616 0 # -15 115 -7617 0 # -15 116 -7618 0 # -15 117 -7619 0 # -15 118 -7620 0 # -15 119 -7621 0 # -15 120 -7622 0 # -15 121 -7623 0 # -15 122 -7624 0 # -15 123 -7625 0 # -15 124 -7626 0 # -15 125 -7627 0 # -15 126 -7628 0 # -15 127 -7629 0 # -15 128 -7630 0 # -15 129 -7631 0 # -15 130 -7632 0 # -15 131 -7633 0 # -15 132 -7634 0 # -15 133 -7635 0 # -15 134 -7636 0 # -15 135 -7637 0 # -15 136 -7638 0 # -15 137 -7639 0 # -15 138 -7640 0 # -15 139 -7641 0 # -15 140 -7642 0 # -15 141 -7643 0 # -15 142 -7644 0 # -15 143 -7645 0 # -15 144 -7646 0 # -15 145 -7647 0 # -15 146 -7648 0 # -15 147 -7649 0 # -15 148 -7650 0 # -15 149 -7651 0 # -15 150 -7652 0 # -15 151 -7653 0 # -15 152 -7654 0 # -15 153 -7655 0 # -15 154 -7656 0 # -15 155 -7657 0 # -15 156 -7658 0 # -15 157 -7659 0 # -15 158 -7660 0 # -15 159 -7661 0 # -15 160 -7662 0 # -15 161 -7663 0 # -15 162 -7664 0 # -15 163 -7665 0 # -15 164 -7666 0 # -15 165 -7667 0 # -15 166 -7668 0 # -15 167 -7669 0 # -15 168 -7670 0 # -15 169 -7671 0 # -15 170 -7672 0 # -15 171 -7673 0 # -15 172 -7674 0 # -15 173 -7675 0 # -15 174 -7676 0 # -15 175 -7677 0 # -15 176 -7678 0 # -15 177 -7679 0 # -15 178 -7680 0 # -15 179 -7681 0 # -15 180 -7682 0 # -15 181 -7683 0 # -15 182 -7684 0 # -15 183 -7685 0 # -15 184 -7686 0 # -15 185 -7687 0 # -15 186 -7688 0 # -15 187 -7689 0 # -15 188 -7690 0 # -15 189 -7691 0 # -15 190 -7692 0 # -15 191 -7693 0 # -15 192 -7694 0 # -15 193 -7695 0 # -15 194 -7696 0 # -15 195 -7697 0 # -15 196 -7698 0 # -15 197 -7699 0 # -15 198 -7700 0 # -15 199 -7701 0 # -15 200 -7702 0 # -15 201 -7703 0 # -15 202 -7704 0 # -15 203 -7705 0 # -15 204 -7706 0 # -15 205 -7707 0 # -15 206 -7708 0 # -15 207 -7709 0 # -15 208 -7710 0 # -15 209 -7711 0 # -15 210 -7712 0 # -15 211 -7713 0 # -15 212 -7714 0 # -15 213 -7715 0 # -15 214 -7716 0 # -15 215 -7717 0 # -15 216 -7718 0 # -15 217 -7719 0 # -15 218 -7720 0 # -15 219 -7721 0 # -15 220 -7722 0 # -15 221 -7723 0 # -15 222 -7724 0 # -15 223 -7725 0 # -15 224 -7726 0 # -15 225 -7727 0 # -15 226 -7728 0 # -15 227 -7729 0 # -15 228 -7730 0 # -15 229 -7731 0 # -15 230 -7732 0 # -15 231 -7733 0 # -15 232 -7734 0 # -15 233 -7735 0 # -15 234 -7736 0 # -15 235 -7737 0 # -15 236 -7738 0 # -15 237 -7739 0 # -15 238 -7740 0 # -15 239 -7741 0 # -15 240 -7742 0 # -15 241 -7743 0 # -15 242 -7744 0 # -15 243 -7745 0 # -15 244 -7746 0 # -15 245 -7747 0 # -15 246 -7748 0 # -15 247 -7749 0 # -15 248 -7750 0 # -15 249 -7751 0 # -15 250 -7752 0 # -15 251 -7753 0 # -15 252 -7754 0 # -15 253 -7755 0 # -15 254 -7756 0 # -15 255 -7757 0 # -15 256 -7758 0 # -15 257 -7759 0 # -15 258 -7760 0 # -15 259 -7761 0 # -15 260 -7762 0 # -15 261 -7763 0 # -15 262 -7764 0 # -15 263 -7765 0 # -15 264 -7766 0 # -15 265 -7767 0 # -15 266 -7768 0 # -15 267 -7769 0 # -15 268 -7770 0 # -15 269 -7771 0 # -15 270 -7772 0 # -15 271 -7773 0 # -15 272 -7774 0 # -15 273 -7775 0 # -15 274 -7776 0 # -15 275 -7777 0 # -15 276 -7778 0 # -15 277 -7779 0 # -15 278 -7780 0 # -15 279 -7781 0 # -15 280 -7782 0 # -15 281 -7783 0 # -15 282 -7784 0 # -15 283 -7785 0 # -15 284 -7786 0 # -15 285 -7787 0 # -15 286 -7788 0 # -15 287 -7789 0 # -15 288 -7790 0 # -15 289 -7791 0 # -15 290 -7792 0 # -15 291 -7793 0 # -15 292 -7794 0 # -15 293 -7795 0 # -15 294 -7796 0 # -15 295 -7797 0 # -15 296 -7798 0 # -15 297 -7799 0 # -15 298 -7800 0 # -15 299 -7801 0 # -15 300 -7802 0 # -15 301 -7803 0 # -15 302 -7804 0 # -15 303 -7805 0 # -15 304 -7806 0 # -15 305 -7807 0 # -15 306 -7808 0 # -15 307 -7809 0 # -15 308 -7810 0 # -15 309 -7811 0 # -15 310 -7812 0 # -15 311 -7813 0 # -15 312 -7814 0 # -15 313 -7815 0 # -15 314 -7816 0 # -15 315 -7817 0 # -15 316 -7818 0 # -15 317 -7819 0 # -15 318 -7820 0 # -15 319 -7821 0 # -15 320 -7822 0 # -15 321 -7823 0 # -15 322 -7824 0 # -15 323 -7825 0 # -15 324 -7826 0 # -15 325 -7827 0 # -15 326 -7828 0 # -15 327 -7829 0 # -15 328 -7830 0 # -15 329 -7831 0 # -15 330 -7832 0 # -15 331 -7833 0 # -15 332 -7834 0 # -15 333 -7835 0 # -15 334 -7836 0 # -15 335 -7837 0 # -15 336 -7838 0 # -15 337 -7839 0 # -15 338 -7840 0 # -15 339 -7841 0 # -15 340 -7842 0 # -15 341 -7843 0 # -15 342 -7844 0 # -15 343 -7845 0 # -15 344 -7846 0 # -15 345 -7847 0 # -15 346 -7848 0 # -15 347 -7849 0 # -15 348 -7850 0 # -15 349 -7851 0 # -15 350 -7852 0 # -15 351 -7853 0 # -15 352 -7854 0 # -15 353 -7855 0 # -15 354 -7856 0 # -15 355 -7857 0 # -15 356 -7858 0 # -15 357 -7859 0 # -15 358 -7860 0 # -15 359 -7861 0 # -15 360 -7862 0 # -15 361 -7863 0 # -15 362 -7864 0 # -15 363 -7865 0 # -15 364 -7866 0 # -15 365 -7867 0 # -15 366 -7868 0 # -15 367 -7869 0 # -15 368 -7870 0 # -15 369 -7871 0 # -15 370 -7872 0 # -15 371 -7873 0 # -15 372 -7874 0 # -15 373 -7875 0 # -15 374 -7876 0 # -15 375 -7877 0 # -15 376 -7878 0 # -15 377 -7879 0 # -15 378 -7880 0 # -15 379 -7881 0 # -15 380 -7882 0 # -15 381 -7883 0 # -15 382 -7884 0 # -15 383 -7885 0 # -15 384 -7886 0 # -15 385 -7887 0 # -15 386 -7888 0 # -15 387 -7889 0 # -15 388 -7890 0 # -15 389 -7891 0 # -15 390 -7892 0 # -15 391 -7893 0 # -15 392 -7894 0 # -15 393 -7895 0 # -15 394 -7896 0 # -15 395 -7897 0 # -15 396 -7898 0 # -15 397 -7899 0 # -15 398 -7900 0 # -15 399 -7901 0 # -15 400 -7902 0 # -15 401 -7903 0 # -15 402 -7904 0 # -15 403 -7905 0 # -15 404 -7906 0 # -15 405 -7907 0 # -15 406 -7908 0 # -15 407 -7909 0 # -15 408 -7910 0 # -15 409 -7911 0 # -15 410 -7912 0 # -15 411 -7913 0 # -15 412 -7914 0 # -15 413 -7915 0 # -15 414 -7916 0 # -15 415 -7917 0 # -15 416 -7918 0 # -15 417 -7919 0 # -15 418 -7920 0 # -15 419 -7921 0 # -15 420 -7922 0 # -15 421 -7923 0 # -15 422 -7924 0 # -15 423 -7925 0 # -15 424 -7926 0 # -15 425 -7927 0 # -15 426 -7928 0 # -15 427 -7929 0 # -15 428 -7930 0 # -15 429 -7931 0 # -15 430 -7932 0 # -15 431 -7933 0 # -15 432 -7934 0 # -15 433 -7935 0 # -15 434 -7936 0 # -15 435 -7937 0 # -15 436 -7938 0 # -15 437 -7939 0 # -15 438 -7940 0 # -15 439 -7941 0 # -15 440 -7942 0 # -15 441 -7943 0 # -15 442 -7944 0 # -15 443 -7945 0 # -15 444 -7946 0 # -15 445 -7947 0 # -15 446 -7948 0 # -15 447 -7949 0 # -15 448 -7950 0 # -15 449 -7951 0 # -15 450 -7952 0 # -15 451 -7953 0 # -15 452 -7954 0 # -15 453 -7955 0 # -15 454 -7956 0 # -15 455 -7957 0 # -15 456 -7958 0 # -15 457 -7959 0 # -15 458 -7960 0 # -15 459 -7961 0 # -15 460 -7962 0 # -15 461 -7963 0 # -15 462 -7964 0 # -15 463 -7965 0 # -15 464 -7966 0 # -15 465 -7967 0 # -15 466 -7968 0 # -15 467 -7969 0 # -15 468 -7970 0 # -15 469 -7971 0 # -15 470 -7972 0 # -15 471 -7973 0 # -15 472 -7974 0 # -15 473 -7975 0 # -15 474 -7976 0 # -15 475 -7977 0 # -15 476 -7978 0 # -15 477 -7979 0 # -15 478 -7980 0 # -15 479 -7981 0 # -15 480 -7982 0 # -15 481 -7983 0 # -15 482 -7984 0 # -15 483 -7985 0 # -15 484 -7986 0 # -15 485 -7987 0 # -15 486 -7988 0 # -15 487 -7989 0 # -15 488 -7990 0 # -15 489 -7991 0 # -15 490 -7992 0 # -15 491 -7993 0 # -15 492 -7994 0 # -15 493 -7995 0 # -15 494 -7996 0 # -15 495 -7997 0 # -15 496 -7998 0 # -15 497 -7999 0 # -15 498 -8000 0 # -15 499 -8001 0 # -15 500 -8002 0 # -15 501 -8003 0 # -15 502 -8004 0 # -15 503 -8005 0 # -15 504 -8006 0 # -15 505 -8007 0 # -15 506 -8008 0 # -15 507 -8009 0 # -15 508 -8010 0 # -15 509 -8011 0 # -15 510 -8012 0 # -15 511 -8013 0 # -15 512 -8014 0 # -15 513 -8015 0 # -15 514 -8016 0 # -15 515 -8017 0 # -15 516 -8018 0 # -15 517 -8019 0 # -15 518 -8020 0 # -15 519 -8021 0 # -15 520 -8022 0 # -15 521 -8023 0 # -15 522 -8024 0 # -15 523 -8025 0 # -15 524 -8026 0 # -15 525 -8027 0 # -15 526 -8028 0 # -15 527 -8029 0 # -15 528 -8030 0 # -15 529 -8031 0 # -15 530 -8032 0 # -15 531 -8033 0 # -15 532 -8034 0 # -15 533 -8035 0 # -15 534 -8036 0 # -15 535 -8037 0 # -15 536 -8038 0 # -15 537 -8039 0 # -15 538 -8040 0 # -15 539 -8041 0 # -15 540 -8042 0 # -15 541 -8043 0 # -15 542 -8044 0 # -15 543 -8045 0 # -15 544 -8046 0 # -15 545 -8047 0 # -15 546 -8048 0 # -15 547 -8049 0 # -15 548 -8050 0 # -15 549 -8051 0 # -15 550 -8052 0 # -15 551 -8053 0 # -15 552 -8054 0 # -15 553 -8055 0 # -15 554 -8056 0 # -15 555 -8057 0 # -15 556 -8058 0 # -15 557 -8059 0 # -15 558 -8060 0 # -15 559 -8061 0 # -15 560 -8062 0 # -15 561 -8063 0 # -15 562 -8064 0 # -15 563 -8065 0 # -15 564 -8066 0 # -15 565 -8067 0 # -15 566 -8068 0 # -15 567 -8069 0 # -15 568 -8070 0 # -15 569 -8071 0 # -15 570 -8072 0 # -15 571 -8073 0 # -15 572 -8074 0 # -15 573 -8075 0 # -15 574 -8076 0 # -15 575 -8077 0 # -15 576 -8078 0 # -14 0 -8079 0 # -14 1 -8080 0 # -14 2 -8081 6 # -14 3 -8082 2 # -14 4 -8083 1 # -14 5 -8084 5 # -14 6 -8085 4 # -14 7 -8086 3 # -14 8 -8087 8 # -14 9 -8088 3 # -14 10 -8089 4 # -14 11 -8090 4 # -14 12 -8091 6 # -14 13 -8092 4 # -14 14 -8093 5 # -14 15 -8094 5 # -14 16 -8095 5 # -14 17 -8096 6 # -14 18 -8097 5 # -14 19 -8098 4 # -14 20 -8099 5 # -14 21 -8100 5 # -14 22 -8101 5 # -14 23 -8102 5 # -14 24 -8103 6 # -14 25 -8104 5 # -14 26 -8105 6 # -14 27 -8106 5 # -14 28 -8107 6 # -14 29 -8108 6 # -14 30 -8109 6 # -14 31 -8110 6 # -14 32 -8111 7 # -14 33 -8112 6 # -14 34 -8113 7 # -14 35 -8114 6 # -14 36 -8115 7 # -14 37 -8116 7 # -14 38 -8117 7 # -14 39 -8118 7 # -14 40 -8119 7 # -14 41 -8120 6 # -14 42 -8121 7 # -14 43 -8122 7 # -14 44 -8123 7 # -14 45 -8124 7 # -14 46 -8125 7 # -14 47 -8126 8 # -14 48 -8127 7 # -14 49 -8128 7 # -14 50 -8129 8 # -14 51 -8130 9 # -14 52 -8131 7 # -14 53 -8132 8 # -14 54 -8133 8 # -14 55 -8134 8 # -14 56 -8135 8 # -14 57 -8136 8 # -14 58 -8137 11 # -14 59 -8138 6 # -14 60 -8139 9 # -14 61 -8140 10 # -14 62 -8141 9 # -14 63 -8142 11 # -14 64 -8143 10 # -14 65 -8144 9 # -14 66 -8145 10 # -14 67 -8146 7 # -14 68 -8147 13 # -14 69 -8148 5 # -14 70 -8149 5 # -14 71 -8150 8 # -14 72 -8151 3 # -14 73 -8152 7 # -14 74 -8153 12 # -14 75 -8154 3 # -14 76 -8155 12 # -14 77 -8156 7 # -14 78 -8157 4 # -14 79 -8158 4 # -14 80 -8159 10 # -14 81 -8160 0 # -14 82 -8161 5 # -14 83 -8162 0 # -14 84 -8163 6 # -14 85 -8164 0 # -14 86 -8165 0 # -14 87 -8166 10 # -14 88 -8167 6 # -14 89 -8168 4 # -14 90 -8169 4 # -14 91 -8170 0 # -14 92 -8171 0 # -14 93 -8172 0 # -14 94 -8173 0 # -14 95 -8174 0 # -14 96 -8175 0 # -14 97 -8176 0 # -14 98 -8177 0 # -14 99 -8178 0 # -14 100 -8179 0 # -14 101 -8180 0 # -14 102 -8181 0 # -14 103 -8182 0 # -14 104 -8183 0 # -14 105 -8184 0 # -14 106 -8185 0 # -14 107 -8186 0 # -14 108 -8187 0 # -14 109 -8188 0 # -14 110 -8189 0 # -14 111 -8190 0 # -14 112 -8191 0 # -14 113 -8192 0 # -14 114 -8193 0 # -14 115 -8194 0 # -14 116 -8195 0 # -14 117 -8196 0 # -14 118 -8197 0 # -14 119 -8198 0 # -14 120 -8199 0 # -14 121 -8200 0 # -14 122 -8201 0 # -14 123 -8202 0 # -14 124 -8203 0 # -14 125 -8204 0 # -14 126 -8205 0 # -14 127 -8206 0 # -14 128 -8207 0 # -14 129 -8208 0 # -14 130 -8209 0 # -14 131 -8210 0 # -14 132 -8211 0 # -14 133 -8212 0 # -14 134 -8213 0 # -14 135 -8214 0 # -14 136 -8215 0 # -14 137 -8216 0 # -14 138 -8217 0 # -14 139 -8218 0 # -14 140 -8219 0 # -14 141 -8220 0 # -14 142 -8221 0 # -14 143 -8222 0 # -14 144 -8223 0 # -14 145 -8224 0 # -14 146 -8225 0 # -14 147 -8226 0 # -14 148 -8227 0 # -14 149 -8228 0 # -14 150 -8229 0 # -14 151 -8230 0 # -14 152 -8231 0 # -14 153 -8232 0 # -14 154 -8233 0 # -14 155 -8234 0 # -14 156 -8235 0 # -14 157 -8236 0 # -14 158 -8237 0 # -14 159 -8238 0 # -14 160 -8239 0 # -14 161 -8240 0 # -14 162 -8241 0 # -14 163 -8242 0 # -14 164 -8243 0 # -14 165 -8244 0 # -14 166 -8245 0 # -14 167 -8246 0 # -14 168 -8247 0 # -14 169 -8248 0 # -14 170 -8249 0 # -14 171 -8250 0 # -14 172 -8251 0 # -14 173 -8252 0 # -14 174 -8253 0 # -14 175 -8254 0 # -14 176 -8255 0 # -14 177 -8256 0 # -14 178 -8257 0 # -14 179 -8258 0 # -14 180 -8259 0 # -14 181 -8260 0 # -14 182 -8261 0 # -14 183 -8262 0 # -14 184 -8263 0 # -14 185 -8264 0 # -14 186 -8265 0 # -14 187 -8266 0 # -14 188 -8267 0 # -14 189 -8268 0 # -14 190 -8269 0 # -14 191 -8270 0 # -14 192 -8271 0 # -14 193 -8272 0 # -14 194 -8273 0 # -14 195 -8274 0 # -14 196 -8275 0 # -14 197 -8276 0 # -14 198 -8277 0 # -14 199 -8278 0 # -14 200 -8279 0 # -14 201 -8280 0 # -14 202 -8281 0 # -14 203 -8282 0 # -14 204 -8283 0 # -14 205 -8284 0 # -14 206 -8285 0 # -14 207 -8286 0 # -14 208 -8287 0 # -14 209 -8288 0 # -14 210 -8289 0 # -14 211 -8290 0 # -14 212 -8291 0 # -14 213 -8292 0 # -14 214 -8293 0 # -14 215 -8294 0 # -14 216 -8295 0 # -14 217 -8296 0 # -14 218 -8297 0 # -14 219 -8298 0 # -14 220 -8299 0 # -14 221 -8300 0 # -14 222 -8301 0 # -14 223 -8302 0 # -14 224 -8303 0 # -14 225 -8304 0 # -14 226 -8305 0 # -14 227 -8306 0 # -14 228 -8307 0 # -14 229 -8308 0 # -14 230 -8309 0 # -14 231 -8310 0 # -14 232 -8311 0 # -14 233 -8312 0 # -14 234 -8313 0 # -14 235 -8314 0 # -14 236 -8315 0 # -14 237 -8316 0 # -14 238 -8317 0 # -14 239 -8318 0 # -14 240 -8319 0 # -14 241 -8320 0 # -14 242 -8321 0 # -14 243 -8322 0 # -14 244 -8323 0 # -14 245 -8324 0 # -14 246 -8325 0 # -14 247 -8326 0 # -14 248 -8327 0 # -14 249 -8328 0 # -14 250 -8329 0 # -14 251 -8330 0 # -14 252 -8331 0 # -14 253 -8332 0 # -14 254 -8333 0 # -14 255 -8334 0 # -14 256 -8335 0 # -14 257 -8336 0 # -14 258 -8337 0 # -14 259 -8338 0 # -14 260 -8339 0 # -14 261 -8340 0 # -14 262 -8341 0 # -14 263 -8342 0 # -14 264 -8343 0 # -14 265 -8344 0 # -14 266 -8345 0 # -14 267 -8346 0 # -14 268 -8347 0 # -14 269 -8348 0 # -14 270 -8349 0 # -14 271 -8350 0 # -14 272 -8351 0 # -14 273 -8352 0 # -14 274 -8353 0 # -14 275 -8354 0 # -14 276 -8355 0 # -14 277 -8356 0 # -14 278 -8357 0 # -14 279 -8358 0 # -14 280 -8359 0 # -14 281 -8360 0 # -14 282 -8361 0 # -14 283 -8362 0 # -14 284 -8363 0 # -14 285 -8364 0 # -14 286 -8365 0 # -14 287 -8366 0 # -14 288 -8367 0 # -14 289 -8368 0 # -14 290 -8369 0 # -14 291 -8370 0 # -14 292 -8371 0 # -14 293 -8372 0 # -14 294 -8373 0 # -14 295 -8374 0 # -14 296 -8375 0 # -14 297 -8376 0 # -14 298 -8377 0 # -14 299 -8378 0 # -14 300 -8379 0 # -14 301 -8380 0 # -14 302 -8381 0 # -14 303 -8382 0 # -14 304 -8383 0 # -14 305 -8384 0 # -14 306 -8385 0 # -14 307 -8386 0 # -14 308 -8387 0 # -14 309 -8388 0 # -14 310 -8389 0 # -14 311 -8390 0 # -14 312 -8391 0 # -14 313 -8392 0 # -14 314 -8393 0 # -14 315 -8394 0 # -14 316 -8395 0 # -14 317 -8396 0 # -14 318 -8397 0 # -14 319 -8398 0 # -14 320 -8399 0 # -14 321 -8400 0 # -14 322 -8401 0 # -14 323 -8402 0 # -14 324 -8403 0 # -14 325 -8404 0 # -14 326 -8405 0 # -14 327 -8406 0 # -14 328 -8407 0 # -14 329 -8408 0 # -14 330 -8409 0 # -14 331 -8410 0 # -14 332 -8411 0 # -14 333 -8412 0 # -14 334 -8413 0 # -14 335 -8414 0 # -14 336 -8415 0 # -14 337 -8416 0 # -14 338 -8417 0 # -14 339 -8418 0 # -14 340 -8419 0 # -14 341 -8420 0 # -14 342 -8421 0 # -14 343 -8422 0 # -14 344 -8423 0 # -14 345 -8424 0 # -14 346 -8425 0 # -14 347 -8426 0 # -14 348 -8427 0 # -14 349 -8428 0 # -14 350 -8429 0 # -14 351 -8430 0 # -14 352 -8431 0 # -14 353 -8432 0 # -14 354 -8433 0 # -14 355 -8434 0 # -14 356 -8435 0 # -14 357 -8436 0 # -14 358 -8437 0 # -14 359 -8438 0 # -14 360 -8439 0 # -14 361 -8440 0 # -14 362 -8441 0 # -14 363 -8442 0 # -14 364 -8443 0 # -14 365 -8444 0 # -14 366 -8445 0 # -14 367 -8446 0 # -14 368 -8447 0 # -14 369 -8448 0 # -14 370 -8449 0 # -14 371 -8450 0 # -14 372 -8451 0 # -14 373 -8452 0 # -14 374 -8453 0 # -14 375 -8454 0 # -14 376 -8455 0 # -14 377 -8456 0 # -14 378 -8457 0 # -14 379 -8458 0 # -14 380 -8459 0 # -14 381 -8460 0 # -14 382 -8461 0 # -14 383 -8462 0 # -14 384 -8463 0 # -14 385 -8464 0 # -14 386 -8465 0 # -14 387 -8466 0 # -14 388 -8467 0 # -14 389 -8468 0 # -14 390 -8469 0 # -14 391 -8470 0 # -14 392 -8471 0 # -14 393 -8472 0 # -14 394 -8473 0 # -14 395 -8474 0 # -14 396 -8475 0 # -14 397 -8476 0 # -14 398 -8477 0 # -14 399 -8478 0 # -14 400 -8479 0 # -14 401 -8480 0 # -14 402 -8481 0 # -14 403 -8482 0 # -14 404 -8483 0 # -14 405 -8484 0 # -14 406 -8485 0 # -14 407 -8486 0 # -14 408 -8487 0 # -14 409 -8488 0 # -14 410 -8489 0 # -14 411 -8490 0 # -14 412 -8491 0 # -14 413 -8492 0 # -14 414 -8493 0 # -14 415 -8494 0 # -14 416 -8495 0 # -14 417 -8496 0 # -14 418 -8497 0 # -14 419 -8498 0 # -14 420 -8499 0 # -14 421 -8500 0 # -14 422 -8501 0 # -14 423 -8502 0 # -14 424 -8503 0 # -14 425 -8504 0 # -14 426 -8505 0 # -14 427 -8506 0 # -14 428 -8507 0 # -14 429 -8508 0 # -14 430 -8509 0 # -14 431 -8510 0 # -14 432 -8511 0 # -14 433 -8512 0 # -14 434 -8513 0 # -14 435 -8514 0 # -14 436 -8515 0 # -14 437 -8516 0 # -14 438 -8517 0 # -14 439 -8518 0 # -14 440 -8519 0 # -14 441 -8520 0 # -14 442 -8521 0 # -14 443 -8522 0 # -14 444 -8523 0 # -14 445 -8524 0 # -14 446 -8525 0 # -14 447 -8526 0 # -14 448 -8527 0 # -14 449 -8528 0 # -14 450 -8529 0 # -14 451 -8530 0 # -14 452 -8531 0 # -14 453 -8532 0 # -14 454 -8533 0 # -14 455 -8534 0 # -14 456 -8535 0 # -14 457 -8536 0 # -14 458 -8537 0 # -14 459 -8538 0 # -14 460 -8539 0 # -14 461 -8540 0 # -14 462 -8541 0 # -14 463 -8542 0 # -14 464 -8543 0 # -14 465 -8544 0 # -14 466 -8545 0 # -14 467 -8546 0 # -14 468 -8547 0 # -14 469 -8548 0 # -14 470 -8549 0 # -14 471 -8550 0 # -14 472 -8551 0 # -14 473 -8552 0 # -14 474 -8553 0 # -14 475 -8554 0 # -14 476 -8555 0 # -14 477 -8556 0 # -14 478 -8557 0 # -14 479 -8558 0 # -14 480 -8559 0 # -14 481 -8560 0 # -14 482 -8561 0 # -14 483 -8562 0 # -14 484 -8563 0 # -14 485 -8564 0 # -14 486 -8565 0 # -14 487 -8566 0 # -14 488 -8567 0 # -14 489 -8568 0 # -14 490 -8569 0 # -14 491 -8570 0 # -14 492 -8571 0 # -14 493 -8572 0 # -14 494 -8573 0 # -14 495 -8574 0 # -14 496 -8575 0 # -14 497 -8576 0 # -14 498 -8577 0 # -14 499 -8578 0 # -14 500 -8579 0 # -14 501 -8580 0 # -14 502 -8581 0 # -14 503 -8582 0 # -14 504 -8583 0 # -14 505 -8584 0 # -14 506 -8585 0 # -14 507 -8586 0 # -14 508 -8587 0 # -14 509 -8588 0 # -14 510 -8589 0 # -14 511 -8590 0 # -14 512 -8591 0 # -14 513 -8592 0 # -14 514 -8593 0 # -14 515 -8594 0 # -14 516 -8595 0 # -14 517 -8596 0 # -14 518 -8597 0 # -14 519 -8598 0 # -14 520 -8599 0 # -14 521 -8600 0 # -14 522 -8601 0 # -14 523 -8602 0 # -14 524 -8603 0 # -14 525 -8604 0 # -14 526 -8605 0 # -14 527 -8606 0 # -14 528 -8607 0 # -14 529 -8608 0 # -14 530 -8609 0 # -14 531 -8610 0 # -14 532 -8611 0 # -14 533 -8612 0 # -14 534 -8613 0 # -14 535 -8614 0 # -14 536 -8615 0 # -14 537 -8616 0 # -14 538 -8617 0 # -14 539 -8618 0 # -14 540 -8619 0 # -14 541 -8620 0 # -14 542 -8621 0 # -14 543 -8622 0 # -14 544 -8623 0 # -14 545 -8624 0 # -14 546 -8625 0 # -14 547 -8626 0 # -14 548 -8627 0 # -14 549 -8628 0 # -14 550 -8629 0 # -14 551 -8630 0 # -14 552 -8631 0 # -14 553 -8632 0 # -14 554 -8633 0 # -14 555 -8634 0 # -14 556 -8635 0 # -14 557 -8636 0 # -14 558 -8637 0 # -14 559 -8638 0 # -14 560 -8639 0 # -14 561 -8640 0 # -14 562 -8641 0 # -14 563 -8642 0 # -14 564 -8643 0 # -14 565 -8644 0 # -14 566 -8645 0 # -14 567 -8646 0 # -14 568 -8647 0 # -14 569 -8648 0 # -14 570 -8649 0 # -14 571 -8650 0 # -14 572 -8651 0 # -14 573 -8652 0 # -14 574 -8653 0 # -14 575 -8654 0 # -14 576 -8655 0 # -13 0 -8656 0 # -13 1 -8657 0 # -13 2 -8658 2 # -13 3 -8659 1 # -13 4 -8660 2 # -13 5 -8661 4 # -13 6 -8662 2 # -13 7 -8663 4 # -13 8 -8664 5 # -13 9 -8665 3 # -13 10 -8666 4 # -13 11 -8667 3 # -13 12 -8668 4 # -13 13 -8669 5 # -13 14 -8670 5 # -13 15 -8671 4 # -13 16 -8672 4 # -13 17 -8673 5 # -13 18 -8674 4 # -13 19 -8675 5 # -13 20 -8676 5 # -13 21 -8677 5 # -13 22 -8678 6 # -13 23 -8679 5 # -13 24 -8680 5 # -13 25 -8681 5 # -13 26 -8682 5 # -13 27 -8683 5 # -13 28 -8684 6 # -13 29 -8685 6 # -13 30 -8686 6 # -13 31 -8687 6 # -13 32 -8688 6 # -13 33 -8689 5 # -13 34 -8690 6 # -13 35 -8691 6 # -13 36 -8692 7 # -13 37 -8693 6 # -13 38 -8694 6 # -13 39 -8695 7 # -13 40 -8696 7 # -13 41 -8697 6 # -13 42 -8698 7 # -13 43 -8699 7 # -13 44 -8700 7 # -13 45 -8701 7 # -13 46 -8702 7 # -13 47 -8703 8 # -13 48 -8704 6 # -13 49 -8705 7 # -13 50 -8706 8 # -13 51 -8707 7 # -13 52 -8708 7 # -13 53 -8709 7 # -13 54 -8710 9 # -13 55 -8711 7 # -13 56 -8712 8 # -13 57 -8713 6 # -13 58 -8714 11 # -13 59 -8715 6 # -13 60 -8716 8 # -13 61 -8717 9 # -13 62 -8718 9 # -13 63 -8719 10 # -13 64 -8720 12 # -13 65 -8721 8 # -13 66 -8722 9 # -13 67 -8723 7 # -13 68 -8724 13 # -13 69 -8725 7 # -13 70 -8726 6 # -13 71 -8727 8 # -13 72 -8728 3 # -13 73 -8729 9 # -13 74 -8730 12 # -13 75 -8731 4 # -13 76 -8732 9 # -13 77 -8733 6 # -13 78 -8734 7 # -13 79 -8735 10 # -13 80 -8736 6 # -13 81 -8737 1 # -13 82 -8738 6 # -13 83 -8739 0 # -13 84 -8740 2 # -13 85 -8741 0 # -13 86 -8742 0 # -13 87 -8743 4 # -13 88 -8744 10 # -13 89 -8745 8 # -13 90 -8746 5 # -13 91 -8747 0 # -13 92 -8748 0 # -13 93 -8749 0 # -13 94 -8750 0 # -13 95 -8751 0 # -13 96 -8752 0 # -13 97 -8753 0 # -13 98 -8754 0 # -13 99 -8755 0 # -13 100 -8756 0 # -13 101 -8757 0 # -13 102 -8758 0 # -13 103 -8759 0 # -13 104 -8760 0 # -13 105 -8761 0 # -13 106 -8762 0 # -13 107 -8763 0 # -13 108 -8764 0 # -13 109 -8765 0 # -13 110 -8766 0 # -13 111 -8767 0 # -13 112 -8768 0 # -13 113 -8769 0 # -13 114 -8770 0 # -13 115 -8771 0 # -13 116 -8772 0 # -13 117 -8773 0 # -13 118 -8774 0 # -13 119 -8775 0 # -13 120 -8776 0 # -13 121 -8777 0 # -13 122 -8778 0 # -13 123 -8779 0 # -13 124 -8780 0 # -13 125 -8781 0 # -13 126 -8782 0 # -13 127 -8783 0 # -13 128 -8784 0 # -13 129 -8785 0 # -13 130 -8786 0 # -13 131 -8787 0 # -13 132 -8788 0 # -13 133 -8789 0 # -13 134 -8790 0 # -13 135 -8791 0 # -13 136 -8792 0 # -13 137 -8793 0 # -13 138 -8794 0 # -13 139 -8795 0 # -13 140 -8796 0 # -13 141 -8797 0 # -13 142 -8798 0 # -13 143 -8799 0 # -13 144 -8800 0 # -13 145 -8801 0 # -13 146 -8802 0 # -13 147 -8803 0 # -13 148 -8804 0 # -13 149 -8805 0 # -13 150 -8806 0 # -13 151 -8807 0 # -13 152 -8808 0 # -13 153 -8809 0 # -13 154 -8810 0 # -13 155 -8811 0 # -13 156 -8812 0 # -13 157 -8813 0 # -13 158 -8814 0 # -13 159 -8815 0 # -13 160 -8816 0 # -13 161 -8817 0 # -13 162 -8818 0 # -13 163 -8819 0 # -13 164 -8820 0 # -13 165 -8821 0 # -13 166 -8822 0 # -13 167 -8823 0 # -13 168 -8824 0 # -13 169 -8825 0 # -13 170 -8826 0 # -13 171 -8827 0 # -13 172 -8828 0 # -13 173 -8829 0 # -13 174 -8830 0 # -13 175 -8831 0 # -13 176 -8832 0 # -13 177 -8833 0 # -13 178 -8834 0 # -13 179 -8835 0 # -13 180 -8836 0 # -13 181 -8837 0 # -13 182 -8838 0 # -13 183 -8839 0 # -13 184 -8840 0 # -13 185 -8841 0 # -13 186 -8842 0 # -13 187 -8843 0 # -13 188 -8844 0 # -13 189 -8845 0 # -13 190 -8846 0 # -13 191 -8847 0 # -13 192 -8848 0 # -13 193 -8849 0 # -13 194 -8850 0 # -13 195 -8851 0 # -13 196 -8852 0 # -13 197 -8853 0 # -13 198 -8854 0 # -13 199 -8855 0 # -13 200 -8856 0 # -13 201 -8857 0 # -13 202 -8858 0 # -13 203 -8859 0 # -13 204 -8860 0 # -13 205 -8861 0 # -13 206 -8862 0 # -13 207 -8863 0 # -13 208 -8864 0 # -13 209 -8865 0 # -13 210 -8866 0 # -13 211 -8867 0 # -13 212 -8868 0 # -13 213 -8869 0 # -13 214 -8870 0 # -13 215 -8871 0 # -13 216 -8872 0 # -13 217 -8873 0 # -13 218 -8874 0 # -13 219 -8875 0 # -13 220 -8876 0 # -13 221 -8877 0 # -13 222 -8878 0 # -13 223 -8879 0 # -13 224 -8880 0 # -13 225 -8881 0 # -13 226 -8882 0 # -13 227 -8883 0 # -13 228 -8884 0 # -13 229 -8885 0 # -13 230 -8886 0 # -13 231 -8887 0 # -13 232 -8888 0 # -13 233 -8889 0 # -13 234 -8890 0 # -13 235 -8891 0 # -13 236 -8892 0 # -13 237 -8893 0 # -13 238 -8894 0 # -13 239 -8895 0 # -13 240 -8896 0 # -13 241 -8897 0 # -13 242 -8898 0 # -13 243 -8899 0 # -13 244 -8900 0 # -13 245 -8901 0 # -13 246 -8902 0 # -13 247 -8903 0 # -13 248 -8904 0 # -13 249 -8905 0 # -13 250 -8906 0 # -13 251 -8907 0 # -13 252 -8908 0 # -13 253 -8909 0 # -13 254 -8910 0 # -13 255 -8911 0 # -13 256 -8912 0 # -13 257 -8913 0 # -13 258 -8914 0 # -13 259 -8915 0 # -13 260 -8916 0 # -13 261 -8917 0 # -13 262 -8918 0 # -13 263 -8919 0 # -13 264 -8920 0 # -13 265 -8921 0 # -13 266 -8922 0 # -13 267 -8923 0 # -13 268 -8924 0 # -13 269 -8925 0 # -13 270 -8926 0 # -13 271 -8927 0 # -13 272 -8928 0 # -13 273 -8929 0 # -13 274 -8930 0 # -13 275 -8931 0 # -13 276 -8932 0 # -13 277 -8933 0 # -13 278 -8934 0 # -13 279 -8935 0 # -13 280 -8936 0 # -13 281 -8937 0 # -13 282 -8938 0 # -13 283 -8939 0 # -13 284 -8940 0 # -13 285 -8941 0 # -13 286 -8942 0 # -13 287 -8943 0 # -13 288 -8944 0 # -13 289 -8945 0 # -13 290 -8946 0 # -13 291 -8947 0 # -13 292 -8948 0 # -13 293 -8949 0 # -13 294 -8950 0 # -13 295 -8951 0 # -13 296 -8952 0 # -13 297 -8953 0 # -13 298 -8954 0 # -13 299 -8955 0 # -13 300 -8956 0 # -13 301 -8957 0 # -13 302 -8958 0 # -13 303 -8959 0 # -13 304 -8960 0 # -13 305 -8961 0 # -13 306 -8962 0 # -13 307 -8963 0 # -13 308 -8964 0 # -13 309 -8965 0 # -13 310 -8966 0 # -13 311 -8967 0 # -13 312 -8968 0 # -13 313 -8969 0 # -13 314 -8970 0 # -13 315 -8971 0 # -13 316 -8972 0 # -13 317 -8973 0 # -13 318 -8974 0 # -13 319 -8975 0 # -13 320 -8976 0 # -13 321 -8977 0 # -13 322 -8978 0 # -13 323 -8979 0 # -13 324 -8980 0 # -13 325 -8981 0 # -13 326 -8982 0 # -13 327 -8983 0 # -13 328 -8984 0 # -13 329 -8985 0 # -13 330 -8986 0 # -13 331 -8987 0 # -13 332 -8988 0 # -13 333 -8989 0 # -13 334 -8990 0 # -13 335 -8991 0 # -13 336 -8992 0 # -13 337 -8993 0 # -13 338 -8994 0 # -13 339 -8995 0 # -13 340 -8996 0 # -13 341 -8997 0 # -13 342 -8998 0 # -13 343 -8999 0 # -13 344 -9000 0 # -13 345 -9001 0 # -13 346 -9002 0 # -13 347 -9003 0 # -13 348 -9004 0 # -13 349 -9005 0 # -13 350 -9006 0 # -13 351 -9007 0 # -13 352 -9008 0 # -13 353 -9009 0 # -13 354 -9010 0 # -13 355 -9011 0 # -13 356 -9012 0 # -13 357 -9013 0 # -13 358 -9014 0 # -13 359 -9015 0 # -13 360 -9016 0 # -13 361 -9017 0 # -13 362 -9018 0 # -13 363 -9019 0 # -13 364 -9020 0 # -13 365 -9021 0 # -13 366 -9022 0 # -13 367 -9023 0 # -13 368 -9024 0 # -13 369 -9025 0 # -13 370 -9026 0 # -13 371 -9027 0 # -13 372 -9028 0 # -13 373 -9029 0 # -13 374 -9030 0 # -13 375 -9031 0 # -13 376 -9032 0 # -13 377 -9033 0 # -13 378 -9034 0 # -13 379 -9035 0 # -13 380 -9036 0 # -13 381 -9037 0 # -13 382 -9038 0 # -13 383 -9039 0 # -13 384 -9040 0 # -13 385 -9041 0 # -13 386 -9042 0 # -13 387 -9043 0 # -13 388 -9044 0 # -13 389 -9045 0 # -13 390 -9046 0 # -13 391 -9047 0 # -13 392 -9048 0 # -13 393 -9049 0 # -13 394 -9050 0 # -13 395 -9051 0 # -13 396 -9052 0 # -13 397 -9053 0 # -13 398 -9054 0 # -13 399 -9055 0 # -13 400 -9056 0 # -13 401 -9057 0 # -13 402 -9058 0 # -13 403 -9059 0 # -13 404 -9060 0 # -13 405 -9061 0 # -13 406 -9062 0 # -13 407 -9063 0 # -13 408 -9064 0 # -13 409 -9065 0 # -13 410 -9066 0 # -13 411 -9067 0 # -13 412 -9068 0 # -13 413 -9069 0 # -13 414 -9070 0 # -13 415 -9071 0 # -13 416 -9072 0 # -13 417 -9073 0 # -13 418 -9074 0 # -13 419 -9075 0 # -13 420 -9076 0 # -13 421 -9077 0 # -13 422 -9078 0 # -13 423 -9079 0 # -13 424 -9080 0 # -13 425 -9081 0 # -13 426 -9082 0 # -13 427 -9083 0 # -13 428 -9084 0 # -13 429 -9085 0 # -13 430 -9086 0 # -13 431 -9087 0 # -13 432 -9088 0 # -13 433 -9089 0 # -13 434 -9090 0 # -13 435 -9091 0 # -13 436 -9092 0 # -13 437 -9093 0 # -13 438 -9094 0 # -13 439 -9095 0 # -13 440 -9096 0 # -13 441 -9097 0 # -13 442 -9098 0 # -13 443 -9099 0 # -13 444 -9100 0 # -13 445 -9101 0 # -13 446 -9102 0 # -13 447 -9103 0 # -13 448 -9104 0 # -13 449 -9105 0 # -13 450 -9106 0 # -13 451 -9107 0 # -13 452 -9108 0 # -13 453 -9109 0 # -13 454 -9110 0 # -13 455 -9111 0 # -13 456 -9112 0 # -13 457 -9113 0 # -13 458 -9114 0 # -13 459 -9115 0 # -13 460 -9116 0 # -13 461 -9117 0 # -13 462 -9118 0 # -13 463 -9119 0 # -13 464 -9120 0 # -13 465 -9121 0 # -13 466 -9122 0 # -13 467 -9123 0 # -13 468 -9124 0 # -13 469 -9125 0 # -13 470 -9126 0 # -13 471 -9127 0 # -13 472 -9128 0 # -13 473 -9129 0 # -13 474 -9130 0 # -13 475 -9131 0 # -13 476 -9132 0 # -13 477 -9133 0 # -13 478 -9134 0 # -13 479 -9135 0 # -13 480 -9136 0 # -13 481 -9137 0 # -13 482 -9138 0 # -13 483 -9139 0 # -13 484 -9140 0 # -13 485 -9141 0 # -13 486 -9142 0 # -13 487 -9143 0 # -13 488 -9144 0 # -13 489 -9145 0 # -13 490 -9146 0 # -13 491 -9147 0 # -13 492 -9148 0 # -13 493 -9149 0 # -13 494 -9150 0 # -13 495 -9151 0 # -13 496 -9152 0 # -13 497 -9153 0 # -13 498 -9154 0 # -13 499 -9155 0 # -13 500 -9156 0 # -13 501 -9157 0 # -13 502 -9158 0 # -13 503 -9159 0 # -13 504 -9160 0 # -13 505 -9161 0 # -13 506 -9162 0 # -13 507 -9163 0 # -13 508 -9164 0 # -13 509 -9165 0 # -13 510 -9166 0 # -13 511 -9167 0 # -13 512 -9168 0 # -13 513 -9169 0 # -13 514 -9170 0 # -13 515 -9171 0 # -13 516 -9172 0 # -13 517 -9173 0 # -13 518 -9174 0 # -13 519 -9175 0 # -13 520 -9176 0 # -13 521 -9177 0 # -13 522 -9178 0 # -13 523 -9179 0 # -13 524 -9180 0 # -13 525 -9181 0 # -13 526 -9182 0 # -13 527 -9183 0 # -13 528 -9184 0 # -13 529 -9185 0 # -13 530 -9186 0 # -13 531 -9187 0 # -13 532 -9188 0 # -13 533 -9189 0 # -13 534 -9190 0 # -13 535 -9191 0 # -13 536 -9192 0 # -13 537 -9193 0 # -13 538 -9194 0 # -13 539 -9195 0 # -13 540 -9196 0 # -13 541 -9197 0 # -13 542 -9198 0 # -13 543 -9199 0 # -13 544 -9200 0 # -13 545 -9201 0 # -13 546 -9202 0 # -13 547 -9203 0 # -13 548 -9204 0 # -13 549 -9205 0 # -13 550 -9206 0 # -13 551 -9207 0 # -13 552 -9208 0 # -13 553 -9209 0 # -13 554 -9210 0 # -13 555 -9211 0 # -13 556 -9212 0 # -13 557 -9213 0 # -13 558 -9214 0 # -13 559 -9215 0 # -13 560 -9216 0 # -13 561 -9217 0 # -13 562 -9218 0 # -13 563 -9219 0 # -13 564 -9220 0 # -13 565 -9221 0 # -13 566 -9222 0 # -13 567 -9223 0 # -13 568 -9224 0 # -13 569 -9225 0 # -13 570 -9226 0 # -13 571 -9227 0 # -13 572 -9228 0 # -13 573 -9229 0 # -13 574 -9230 0 # -13 575 -9231 0 # -13 576 -9232 0 # -12 0 -9233 0 # -12 1 -9234 0 # -12 2 -9235 0 # -12 3 -9236 6 # -12 4 -9237 1 # -12 5 -9238 5 # -12 6 -9239 2 # -12 7 -9240 4 # -12 8 -9241 3 # -12 9 -9242 3 # -12 10 -9243 4 # -12 11 -9244 4 # -12 12 -9245 3 # -12 13 -9246 4 # -12 14 -9247 4 # -12 15 -9248 4 # -12 16 -9249 5 # -12 17 -9250 4 # -12 18 -9251 5 # -12 19 -9252 4 # -12 20 -9253 5 # -12 21 -9254 5 # -12 22 -9255 5 # -12 23 -9256 5 # -12 24 -9257 5 # -12 25 -9258 5 # -12 26 -9259 5 # -12 27 -9260 5 # -12 28 -9261 6 # -12 29 -9262 5 # -12 30 -9263 6 # -12 31 -9264 6 # -12 32 -9265 6 # -12 33 -9266 6 # -12 34 -9267 6 # -12 35 -9268 6 # -12 36 -9269 7 # -12 37 -9270 6 # -12 38 -9271 7 # -12 39 -9272 6 # -12 40 -9273 7 # -12 41 -9274 6 # -12 42 -9275 7 # -12 43 -9276 7 # -12 44 -9277 7 # -12 45 -9278 7 # -12 46 -9279 8 # -12 47 -9280 7 # -12 48 -9281 6 # -12 49 -9282 7 # -12 50 -9283 7 # -12 51 -9284 7 # -12 52 -9285 7 # -12 53 -9286 7 # -12 54 -9287 7 # -12 55 -9288 7 # -12 56 -9289 7 # -12 57 -9290 9 # -12 58 -9291 9 # -12 59 -9292 7 # -12 60 -9293 8 # -12 61 -9294 8 # -12 62 -9295 10 # -12 63 -9296 12 # -12 64 -9297 7 # -12 65 -9298 8 # -12 66 -9299 7 # -12 67 -9300 7 # -12 68 -9301 13 # -12 69 -9302 6 # -12 70 -9303 7 # -12 71 -9304 8 # -12 72 -9305 5 # -12 73 -9306 11 # -12 74 -9307 14 # -12 75 -9308 6 # -12 76 -9309 7 # -12 77 -9310 8 # -12 78 -9311 14 # -12 79 -9312 8 # -12 80 -9313 8 # -12 81 -9314 0 # -12 82 -9315 6 # -12 83 -9316 0 # -12 84 -9317 4 # -12 85 -9318 0 # -12 86 -9319 0 # -12 87 -9320 8 # -12 88 -9321 12 # -12 89 -9322 8 # -12 90 -9323 8 # -12 91 -9324 0 # -12 92 -9325 0 # -12 93 -9326 0 # -12 94 -9327 0 # -12 95 -9328 0 # -12 96 -9329 0 # -12 97 -9330 0 # -12 98 -9331 0 # -12 99 -9332 0 # -12 100 -9333 0 # -12 101 -9334 0 # -12 102 -9335 0 # -12 103 -9336 0 # -12 104 -9337 0 # -12 105 -9338 0 # -12 106 -9339 0 # -12 107 -9340 0 # -12 108 -9341 0 # -12 109 -9342 0 # -12 110 -9343 0 # -12 111 -9344 0 # -12 112 -9345 0 # -12 113 -9346 0 # -12 114 -9347 0 # -12 115 -9348 0 # -12 116 -9349 0 # -12 117 -9350 0 # -12 118 -9351 0 # -12 119 -9352 0 # -12 120 -9353 0 # -12 121 -9354 0 # -12 122 -9355 0 # -12 123 -9356 0 # -12 124 -9357 0 # -12 125 -9358 0 # -12 126 -9359 0 # -12 127 -9360 0 # -12 128 -9361 0 # -12 129 -9362 0 # -12 130 -9363 0 # -12 131 -9364 0 # -12 132 -9365 0 # -12 133 -9366 0 # -12 134 -9367 0 # -12 135 -9368 0 # -12 136 -9369 0 # -12 137 -9370 0 # -12 138 -9371 0 # -12 139 -9372 0 # -12 140 -9373 0 # -12 141 -9374 0 # -12 142 -9375 0 # -12 143 -9376 0 # -12 144 -9377 0 # -12 145 -9378 0 # -12 146 -9379 0 # -12 147 -9380 0 # -12 148 -9381 0 # -12 149 -9382 0 # -12 150 -9383 0 # -12 151 -9384 0 # -12 152 -9385 0 # -12 153 -9386 0 # -12 154 -9387 0 # -12 155 -9388 0 # -12 156 -9389 0 # -12 157 -9390 0 # -12 158 -9391 0 # -12 159 -9392 0 # -12 160 -9393 0 # -12 161 -9394 0 # -12 162 -9395 0 # -12 163 -9396 0 # -12 164 -9397 0 # -12 165 -9398 0 # -12 166 -9399 0 # -12 167 -9400 0 # -12 168 -9401 0 # -12 169 -9402 0 # -12 170 -9403 0 # -12 171 -9404 0 # -12 172 -9405 0 # -12 173 -9406 0 # -12 174 -9407 0 # -12 175 -9408 0 # -12 176 -9409 0 # -12 177 -9410 0 # -12 178 -9411 0 # -12 179 -9412 0 # -12 180 -9413 0 # -12 181 -9414 0 # -12 182 -9415 0 # -12 183 -9416 0 # -12 184 -9417 0 # -12 185 -9418 0 # -12 186 -9419 0 # -12 187 -9420 0 # -12 188 -9421 0 # -12 189 -9422 0 # -12 190 -9423 0 # -12 191 -9424 0 # -12 192 -9425 0 # -12 193 -9426 0 # -12 194 -9427 0 # -12 195 -9428 0 # -12 196 -9429 0 # -12 197 -9430 0 # -12 198 -9431 0 # -12 199 -9432 0 # -12 200 -9433 0 # -12 201 -9434 0 # -12 202 -9435 0 # -12 203 -9436 0 # -12 204 -9437 0 # -12 205 -9438 0 # -12 206 -9439 0 # -12 207 -9440 0 # -12 208 -9441 0 # -12 209 -9442 0 # -12 210 -9443 0 # -12 211 -9444 0 # -12 212 -9445 0 # -12 213 -9446 0 # -12 214 -9447 0 # -12 215 -9448 0 # -12 216 -9449 0 # -12 217 -9450 0 # -12 218 -9451 0 # -12 219 -9452 0 # -12 220 -9453 0 # -12 221 -9454 0 # -12 222 -9455 0 # -12 223 -9456 0 # -12 224 -9457 0 # -12 225 -9458 0 # -12 226 -9459 0 # -12 227 -9460 0 # -12 228 -9461 0 # -12 229 -9462 0 # -12 230 -9463 0 # -12 231 -9464 0 # -12 232 -9465 0 # -12 233 -9466 0 # -12 234 -9467 0 # -12 235 -9468 0 # -12 236 -9469 0 # -12 237 -9470 0 # -12 238 -9471 0 # -12 239 -9472 0 # -12 240 -9473 0 # -12 241 -9474 0 # -12 242 -9475 0 # -12 243 -9476 0 # -12 244 -9477 0 # -12 245 -9478 0 # -12 246 -9479 0 # -12 247 -9480 0 # -12 248 -9481 0 # -12 249 -9482 0 # -12 250 -9483 0 # -12 251 -9484 0 # -12 252 -9485 0 # -12 253 -9486 0 # -12 254 -9487 0 # -12 255 -9488 0 # -12 256 -9489 0 # -12 257 -9490 0 # -12 258 -9491 0 # -12 259 -9492 0 # -12 260 -9493 0 # -12 261 -9494 0 # -12 262 -9495 0 # -12 263 -9496 0 # -12 264 -9497 0 # -12 265 -9498 0 # -12 266 -9499 0 # -12 267 -9500 0 # -12 268 -9501 0 # -12 269 -9502 0 # -12 270 -9503 0 # -12 271 -9504 0 # -12 272 -9505 0 # -12 273 -9506 0 # -12 274 -9507 0 # -12 275 -9508 0 # -12 276 -9509 0 # -12 277 -9510 0 # -12 278 -9511 0 # -12 279 -9512 0 # -12 280 -9513 0 # -12 281 -9514 0 # -12 282 -9515 0 # -12 283 -9516 0 # -12 284 -9517 0 # -12 285 -9518 0 # -12 286 -9519 0 # -12 287 -9520 0 # -12 288 -9521 0 # -12 289 -9522 0 # -12 290 -9523 0 # -12 291 -9524 0 # -12 292 -9525 0 # -12 293 -9526 0 # -12 294 -9527 0 # -12 295 -9528 0 # -12 296 -9529 0 # -12 297 -9530 0 # -12 298 -9531 0 # -12 299 -9532 0 # -12 300 -9533 0 # -12 301 -9534 0 # -12 302 -9535 0 # -12 303 -9536 0 # -12 304 -9537 0 # -12 305 -9538 0 # -12 306 -9539 0 # -12 307 -9540 0 # -12 308 -9541 0 # -12 309 -9542 0 # -12 310 -9543 0 # -12 311 -9544 0 # -12 312 -9545 0 # -12 313 -9546 0 # -12 314 -9547 0 # -12 315 -9548 0 # -12 316 -9549 0 # -12 317 -9550 0 # -12 318 -9551 0 # -12 319 -9552 0 # -12 320 -9553 0 # -12 321 -9554 0 # -12 322 -9555 0 # -12 323 -9556 0 # -12 324 -9557 0 # -12 325 -9558 0 # -12 326 -9559 0 # -12 327 -9560 0 # -12 328 -9561 0 # -12 329 -9562 0 # -12 330 -9563 0 # -12 331 -9564 0 # -12 332 -9565 0 # -12 333 -9566 0 # -12 334 -9567 0 # -12 335 -9568 0 # -12 336 -9569 0 # -12 337 -9570 0 # -12 338 -9571 0 # -12 339 -9572 0 # -12 340 -9573 0 # -12 341 -9574 0 # -12 342 -9575 0 # -12 343 -9576 0 # -12 344 -9577 0 # -12 345 -9578 0 # -12 346 -9579 0 # -12 347 -9580 0 # -12 348 -9581 0 # -12 349 -9582 0 # -12 350 -9583 0 # -12 351 -9584 0 # -12 352 -9585 0 # -12 353 -9586 0 # -12 354 -9587 0 # -12 355 -9588 0 # -12 356 -9589 0 # -12 357 -9590 0 # -12 358 -9591 0 # -12 359 -9592 0 # -12 360 -9593 0 # -12 361 -9594 0 # -12 362 -9595 0 # -12 363 -9596 0 # -12 364 -9597 0 # -12 365 -9598 0 # -12 366 -9599 0 # -12 367 -9600 0 # -12 368 -9601 0 # -12 369 -9602 0 # -12 370 -9603 0 # -12 371 -9604 0 # -12 372 -9605 0 # -12 373 -9606 0 # -12 374 -9607 0 # -12 375 -9608 0 # -12 376 -9609 0 # -12 377 -9610 0 # -12 378 -9611 0 # -12 379 -9612 0 # -12 380 -9613 0 # -12 381 -9614 0 # -12 382 -9615 0 # -12 383 -9616 0 # -12 384 -9617 0 # -12 385 -9618 0 # -12 386 -9619 0 # -12 387 -9620 0 # -12 388 -9621 0 # -12 389 -9622 0 # -12 390 -9623 0 # -12 391 -9624 0 # -12 392 -9625 0 # -12 393 -9626 0 # -12 394 -9627 0 # -12 395 -9628 0 # -12 396 -9629 0 # -12 397 -9630 0 # -12 398 -9631 0 # -12 399 -9632 0 # -12 400 -9633 0 # -12 401 -9634 0 # -12 402 -9635 0 # -12 403 -9636 0 # -12 404 -9637 0 # -12 405 -9638 0 # -12 406 -9639 0 # -12 407 -9640 0 # -12 408 -9641 0 # -12 409 -9642 0 # -12 410 -9643 0 # -12 411 -9644 0 # -12 412 -9645 0 # -12 413 -9646 0 # -12 414 -9647 0 # -12 415 -9648 0 # -12 416 -9649 0 # -12 417 -9650 0 # -12 418 -9651 0 # -12 419 -9652 0 # -12 420 -9653 0 # -12 421 -9654 0 # -12 422 -9655 0 # -12 423 -9656 0 # -12 424 -9657 0 # -12 425 -9658 0 # -12 426 -9659 0 # -12 427 -9660 0 # -12 428 -9661 0 # -12 429 -9662 0 # -12 430 -9663 0 # -12 431 -9664 0 # -12 432 -9665 0 # -12 433 -9666 0 # -12 434 -9667 0 # -12 435 -9668 0 # -12 436 -9669 0 # -12 437 -9670 0 # -12 438 -9671 0 # -12 439 -9672 0 # -12 440 -9673 0 # -12 441 -9674 0 # -12 442 -9675 0 # -12 443 -9676 0 # -12 444 -9677 0 # -12 445 -9678 0 # -12 446 -9679 0 # -12 447 -9680 0 # -12 448 -9681 0 # -12 449 -9682 0 # -12 450 -9683 0 # -12 451 -9684 0 # -12 452 -9685 0 # -12 453 -9686 0 # -12 454 -9687 0 # -12 455 -9688 0 # -12 456 -9689 0 # -12 457 -9690 0 # -12 458 -9691 0 # -12 459 -9692 0 # -12 460 -9693 0 # -12 461 -9694 0 # -12 462 -9695 0 # -12 463 -9696 0 # -12 464 -9697 0 # -12 465 -9698 0 # -12 466 -9699 0 # -12 467 -9700 0 # -12 468 -9701 0 # -12 469 -9702 0 # -12 470 -9703 0 # -12 471 -9704 0 # -12 472 -9705 0 # -12 473 -9706 0 # -12 474 -9707 0 # -12 475 -9708 0 # -12 476 -9709 0 # -12 477 -9710 0 # -12 478 -9711 0 # -12 479 -9712 0 # -12 480 -9713 0 # -12 481 -9714 0 # -12 482 -9715 0 # -12 483 -9716 0 # -12 484 -9717 0 # -12 485 -9718 0 # -12 486 -9719 0 # -12 487 -9720 0 # -12 488 -9721 0 # -12 489 -9722 0 # -12 490 -9723 0 # -12 491 -9724 0 # -12 492 -9725 0 # -12 493 -9726 0 # -12 494 -9727 0 # -12 495 -9728 0 # -12 496 -9729 0 # -12 497 -9730 0 # -12 498 -9731 0 # -12 499 -9732 0 # -12 500 -9733 0 # -12 501 -9734 0 # -12 502 -9735 0 # -12 503 -9736 0 # -12 504 -9737 0 # -12 505 -9738 0 # -12 506 -9739 0 # -12 507 -9740 0 # -12 508 -9741 0 # -12 509 -9742 0 # -12 510 -9743 0 # -12 511 -9744 0 # -12 512 -9745 0 # -12 513 -9746 0 # -12 514 -9747 0 # -12 515 -9748 0 # -12 516 -9749 0 # -12 517 -9750 0 # -12 518 -9751 0 # -12 519 -9752 0 # -12 520 -9753 0 # -12 521 -9754 0 # -12 522 -9755 0 # -12 523 -9756 0 # -12 524 -9757 0 # -12 525 -9758 0 # -12 526 -9759 0 # -12 527 -9760 0 # -12 528 -9761 0 # -12 529 -9762 0 # -12 530 -9763 0 # -12 531 -9764 0 # -12 532 -9765 0 # -12 533 -9766 0 # -12 534 -9767 0 # -12 535 -9768 0 # -12 536 -9769 0 # -12 537 -9770 0 # -12 538 -9771 0 # -12 539 -9772 0 # -12 540 -9773 0 # -12 541 -9774 0 # -12 542 -9775 0 # -12 543 -9776 0 # -12 544 -9777 0 # -12 545 -9778 0 # -12 546 -9779 0 # -12 547 -9780 0 # -12 548 -9781 0 # -12 549 -9782 0 # -12 550 -9783 0 # -12 551 -9784 0 # -12 552 -9785 0 # -12 553 -9786 0 # -12 554 -9787 0 # -12 555 -9788 0 # -12 556 -9789 0 # -12 557 -9790 0 # -12 558 -9791 0 # -12 559 -9792 0 # -12 560 -9793 0 # -12 561 -9794 0 # -12 562 -9795 0 # -12 563 -9796 0 # -12 564 -9797 0 # -12 565 -9798 0 # -12 566 -9799 0 # -12 567 -9800 0 # -12 568 -9801 0 # -12 569 -9802 0 # -12 570 -9803 0 # -12 571 -9804 0 # -12 572 -9805 0 # -12 573 -9806 0 # -12 574 -9807 0 # -12 575 -9808 0 # -12 576 -9809 0 # -11 0 -9810 0 # -11 1 -9811 0 # -11 2 -9812 1 # -11 3 -9813 5 # -11 4 -9814 0 # -11 5 -9815 7 # -11 6 -9816 1 # -11 7 -9817 5 # -11 8 -9818 4 # -11 9 -9819 3 # -11 10 -9820 4 # -11 11 -9821 5 # -11 12 -9822 4 # -11 13 -9823 4 # -11 14 -9824 5 # -11 15 -9825 5 # -11 16 -9826 5 # -11 17 -9827 5 # -11 18 -9828 5 # -11 19 -9829 5 # -11 20 -9830 5 # -11 21 -9831 5 # -11 22 -9832 6 # -11 23 -9833 5 # -11 24 -9834 5 # -11 25 -9835 5 # -11 26 -9836 6 # -11 27 -9837 6 # -11 28 -9838 6 # -11 29 -9839 6 # -11 30 -9840 6 # -11 31 -9841 6 # -11 32 -9842 6 # -11 33 -9843 6 # -11 34 -9844 6 # -11 35 -9845 7 # -11 36 -9846 6 # -11 37 -9847 7 # -11 38 -9848 7 # -11 39 -9849 7 # -11 40 -9850 7 # -11 41 -9851 7 # -11 42 -9852 7 # -11 43 -9853 7 # -11 44 -9854 8 # -11 45 -9855 7 # -11 46 -9856 8 # -11 47 -9857 7 # -11 48 -9858 7 # -11 49 -9859 7 # -11 50 -9860 7 # -11 51 -9861 7 # -11 52 -9862 8 # -11 53 -9863 7 # -11 54 -9864 7 # -11 55 -9865 8 # -11 56 -9866 8 # -11 57 -9867 10 # -11 58 -9868 10 # -11 59 -9869 9 # -11 60 -9870 10 # -11 61 -9871 8 # -11 62 -9872 12 # -11 63 -9873 9 # -11 64 -9874 7 # -11 65 -9875 14 # -11 66 -9876 7 # -11 67 -9877 9 # -11 68 -9878 10 # -11 69 -9879 5 # -11 70 -9880 5 # -11 71 -9881 5 # -11 72 -9882 5 # -11 73 -9883 11 # -11 74 -9884 10 # -11 75 -9885 8 # -11 76 -9886 9 # -11 77 -9887 7 # -11 78 -9888 10 # -11 79 -9889 9 # -11 80 -9890 10 # -11 81 -9891 1 # -11 82 -9892 4 # -11 83 -9893 0 # -11 84 -9894 11 # -11 85 -9895 0 # -11 86 -9896 0 # -11 87 -9897 4 # -11 88 -9898 13 # -11 89 -9899 8 # -11 90 -9900 2 # -11 91 -9901 0 # -11 92 -9902 0 # -11 93 -9903 0 # -11 94 -9904 0 # -11 95 -9905 0 # -11 96 -9906 0 # -11 97 -9907 0 # -11 98 -9908 0 # -11 99 -9909 0 # -11 100 -9910 0 # -11 101 -9911 0 # -11 102 -9912 0 # -11 103 -9913 0 # -11 104 -9914 0 # -11 105 -9915 0 # -11 106 -9916 0 # -11 107 -9917 0 # -11 108 -9918 0 # -11 109 -9919 0 # -11 110 -9920 0 # -11 111 -9921 0 # -11 112 -9922 0 # -11 113 -9923 0 # -11 114 -9924 0 # -11 115 -9925 0 # -11 116 -9926 0 # -11 117 -9927 0 # -11 118 -9928 0 # -11 119 -9929 0 # -11 120 -9930 0 # -11 121 -9931 0 # -11 122 -9932 0 # -11 123 -9933 0 # -11 124 -9934 0 # -11 125 -9935 0 # -11 126 -9936 0 # -11 127 -9937 0 # -11 128 -9938 0 # -11 129 -9939 0 # -11 130 -9940 0 # -11 131 -9941 0 # -11 132 -9942 0 # -11 133 -9943 0 # -11 134 -9944 0 # -11 135 -9945 0 # -11 136 -9946 0 # -11 137 -9947 0 # -11 138 -9948 0 # -11 139 -9949 0 # -11 140 -9950 0 # -11 141 -9951 0 # -11 142 -9952 0 # -11 143 -9953 0 # -11 144 -9954 0 # -11 145 -9955 0 # -11 146 -9956 0 # -11 147 -9957 0 # -11 148 -9958 0 # -11 149 -9959 0 # -11 150 -9960 0 # -11 151 -9961 0 # -11 152 -9962 0 # -11 153 -9963 0 # -11 154 -9964 0 # -11 155 -9965 0 # -11 156 -9966 0 # -11 157 -9967 0 # -11 158 -9968 0 # -11 159 -9969 0 # -11 160 -9970 0 # -11 161 -9971 0 # -11 162 -9972 0 # -11 163 -9973 0 # -11 164 -9974 0 # -11 165 -9975 0 # -11 166 -9976 0 # -11 167 -9977 0 # -11 168 -9978 0 # -11 169 -9979 0 # -11 170 -9980 0 # -11 171 -9981 0 # -11 172 -9982 0 # -11 173 -9983 0 # -11 174 -9984 0 # -11 175 -9985 0 # -11 176 -9986 0 # -11 177 -9987 0 # -11 178 -9988 0 # -11 179 -9989 0 # -11 180 -9990 0 # -11 181 -9991 0 # -11 182 -9992 0 # -11 183 -9993 0 # -11 184 -9994 0 # -11 185 -9995 0 # -11 186 -9996 0 # -11 187 -9997 0 # -11 188 -9998 0 # -11 189 -9999 0 # -11 190 -10000 0 # -11 191 -10001 0 # -11 192 -10002 0 # -11 193 -10003 0 # -11 194 -10004 0 # -11 195 -10005 0 # -11 196 -10006 0 # -11 197 -10007 0 # -11 198 -10008 0 # -11 199 -10009 0 # -11 200 -10010 0 # -11 201 -10011 0 # -11 202 -10012 0 # -11 203 -10013 0 # -11 204 -10014 0 # -11 205 -10015 0 # -11 206 -10016 0 # -11 207 -10017 0 # -11 208 -10018 0 # -11 209 -10019 0 # -11 210 -10020 0 # -11 211 -10021 0 # -11 212 -10022 0 # -11 213 -10023 0 # -11 214 -10024 0 # -11 215 -10025 0 # -11 216 -10026 0 # -11 217 -10027 0 # -11 218 -10028 0 # -11 219 -10029 0 # -11 220 -10030 0 # -11 221 -10031 0 # -11 222 -10032 0 # -11 223 -10033 0 # -11 224 -10034 0 # -11 225 -10035 0 # -11 226 -10036 0 # -11 227 -10037 0 # -11 228 -10038 0 # -11 229 -10039 0 # -11 230 -10040 0 # -11 231 -10041 0 # -11 232 -10042 0 # -11 233 -10043 0 # -11 234 -10044 0 # -11 235 -10045 0 # -11 236 -10046 0 # -11 237 -10047 0 # -11 238 -10048 0 # -11 239 -10049 0 # -11 240 -10050 0 # -11 241 -10051 0 # -11 242 -10052 0 # -11 243 -10053 0 # -11 244 -10054 0 # -11 245 -10055 0 # -11 246 -10056 0 # -11 247 -10057 0 # -11 248 -10058 0 # -11 249 -10059 0 # -11 250 -10060 0 # -11 251 -10061 0 # -11 252 -10062 0 # -11 253 -10063 0 # -11 254 -10064 0 # -11 255 -10065 0 # -11 256 -10066 0 # -11 257 -10067 0 # -11 258 -10068 0 # -11 259 -10069 0 # -11 260 -10070 0 # -11 261 -10071 0 # -11 262 -10072 0 # -11 263 -10073 0 # -11 264 -10074 0 # -11 265 -10075 0 # -11 266 -10076 0 # -11 267 -10077 0 # -11 268 -10078 0 # -11 269 -10079 0 # -11 270 -10080 0 # -11 271 -10081 0 # -11 272 -10082 0 # -11 273 -10083 0 # -11 274 -10084 0 # -11 275 -10085 0 # -11 276 -10086 0 # -11 277 -10087 0 # -11 278 -10088 0 # -11 279 -10089 0 # -11 280 -10090 0 # -11 281 -10091 0 # -11 282 -10092 0 # -11 283 -10093 0 # -11 284 -10094 0 # -11 285 -10095 0 # -11 286 -10096 0 # -11 287 -10097 0 # -11 288 -10098 0 # -11 289 -10099 0 # -11 290 -10100 0 # -11 291 -10101 0 # -11 292 -10102 0 # -11 293 -10103 0 # -11 294 -10104 0 # -11 295 -10105 0 # -11 296 -10106 0 # -11 297 -10107 0 # -11 298 -10108 0 # -11 299 -10109 0 # -11 300 -10110 0 # -11 301 -10111 0 # -11 302 -10112 0 # -11 303 -10113 0 # -11 304 -10114 0 # -11 305 -10115 0 # -11 306 -10116 0 # -11 307 -10117 0 # -11 308 -10118 0 # -11 309 -10119 0 # -11 310 -10120 0 # -11 311 -10121 0 # -11 312 -10122 0 # -11 313 -10123 0 # -11 314 -10124 0 # -11 315 -10125 0 # -11 316 -10126 0 # -11 317 -10127 0 # -11 318 -10128 0 # -11 319 -10129 0 # -11 320 -10130 0 # -11 321 -10131 0 # -11 322 -10132 0 # -11 323 -10133 0 # -11 324 -10134 0 # -11 325 -10135 0 # -11 326 -10136 0 # -11 327 -10137 0 # -11 328 -10138 0 # -11 329 -10139 0 # -11 330 -10140 0 # -11 331 -10141 0 # -11 332 -10142 0 # -11 333 -10143 0 # -11 334 -10144 0 # -11 335 -10145 0 # -11 336 -10146 0 # -11 337 -10147 0 # -11 338 -10148 0 # -11 339 -10149 0 # -11 340 -10150 0 # -11 341 -10151 0 # -11 342 -10152 0 # -11 343 -10153 0 # -11 344 -10154 0 # -11 345 -10155 0 # -11 346 -10156 0 # -11 347 -10157 0 # -11 348 -10158 0 # -11 349 -10159 0 # -11 350 -10160 0 # -11 351 -10161 0 # -11 352 -10162 0 # -11 353 -10163 0 # -11 354 -10164 0 # -11 355 -10165 0 # -11 356 -10166 0 # -11 357 -10167 0 # -11 358 -10168 0 # -11 359 -10169 0 # -11 360 -10170 0 # -11 361 -10171 0 # -11 362 -10172 0 # -11 363 -10173 0 # -11 364 -10174 0 # -11 365 -10175 0 # -11 366 -10176 0 # -11 367 -10177 0 # -11 368 -10178 0 # -11 369 -10179 0 # -11 370 -10180 0 # -11 371 -10181 0 # -11 372 -10182 0 # -11 373 -10183 0 # -11 374 -10184 0 # -11 375 -10185 0 # -11 376 -10186 0 # -11 377 -10187 0 # -11 378 -10188 0 # -11 379 -10189 0 # -11 380 -10190 0 # -11 381 -10191 0 # -11 382 -10192 0 # -11 383 -10193 0 # -11 384 -10194 0 # -11 385 -10195 0 # -11 386 -10196 0 # -11 387 -10197 0 # -11 388 -10198 0 # -11 389 -10199 0 # -11 390 -10200 0 # -11 391 -10201 0 # -11 392 -10202 0 # -11 393 -10203 0 # -11 394 -10204 0 # -11 395 -10205 0 # -11 396 -10206 0 # -11 397 -10207 0 # -11 398 -10208 0 # -11 399 -10209 0 # -11 400 -10210 0 # -11 401 -10211 0 # -11 402 -10212 0 # -11 403 -10213 0 # -11 404 -10214 0 # -11 405 -10215 0 # -11 406 -10216 0 # -11 407 -10217 0 # -11 408 -10218 0 # -11 409 -10219 0 # -11 410 -10220 0 # -11 411 -10221 0 # -11 412 -10222 0 # -11 413 -10223 0 # -11 414 -10224 0 # -11 415 -10225 0 # -11 416 -10226 0 # -11 417 -10227 0 # -11 418 -10228 0 # -11 419 -10229 0 # -11 420 -10230 0 # -11 421 -10231 0 # -11 422 -10232 0 # -11 423 -10233 0 # -11 424 -10234 0 # -11 425 -10235 0 # -11 426 -10236 0 # -11 427 -10237 0 # -11 428 -10238 0 # -11 429 -10239 0 # -11 430 -10240 0 # -11 431 -10241 0 # -11 432 -10242 0 # -11 433 -10243 0 # -11 434 -10244 0 # -11 435 -10245 0 # -11 436 -10246 0 # -11 437 -10247 0 # -11 438 -10248 0 # -11 439 -10249 0 # -11 440 -10250 0 # -11 441 -10251 0 # -11 442 -10252 0 # -11 443 -10253 0 # -11 444 -10254 0 # -11 445 -10255 0 # -11 446 -10256 0 # -11 447 -10257 0 # -11 448 -10258 0 # -11 449 -10259 0 # -11 450 -10260 0 # -11 451 -10261 0 # -11 452 -10262 0 # -11 453 -10263 0 # -11 454 -10264 0 # -11 455 -10265 0 # -11 456 -10266 0 # -11 457 -10267 0 # -11 458 -10268 0 # -11 459 -10269 0 # -11 460 -10270 0 # -11 461 -10271 0 # -11 462 -10272 0 # -11 463 -10273 0 # -11 464 -10274 0 # -11 465 -10275 0 # -11 466 -10276 0 # -11 467 -10277 0 # -11 468 -10278 0 # -11 469 -10279 0 # -11 470 -10280 0 # -11 471 -10281 0 # -11 472 -10282 0 # -11 473 -10283 0 # -11 474 -10284 0 # -11 475 -10285 0 # -11 476 -10286 0 # -11 477 -10287 0 # -11 478 -10288 0 # -11 479 -10289 0 # -11 480 -10290 0 # -11 481 -10291 0 # -11 482 -10292 0 # -11 483 -10293 0 # -11 484 -10294 0 # -11 485 -10295 0 # -11 486 -10296 0 # -11 487 -10297 0 # -11 488 -10298 0 # -11 489 -10299 0 # -11 490 -10300 0 # -11 491 -10301 0 # -11 492 -10302 0 # -11 493 -10303 0 # -11 494 -10304 0 # -11 495 -10305 0 # -11 496 -10306 0 # -11 497 -10307 0 # -11 498 -10308 0 # -11 499 -10309 0 # -11 500 -10310 0 # -11 501 -10311 0 # -11 502 -10312 0 # -11 503 -10313 0 # -11 504 -10314 0 # -11 505 -10315 0 # -11 506 -10316 0 # -11 507 -10317 0 # -11 508 -10318 0 # -11 509 -10319 0 # -11 510 -10320 0 # -11 511 -10321 0 # -11 512 -10322 0 # -11 513 -10323 0 # -11 514 -10324 0 # -11 515 -10325 0 # -11 516 -10326 0 # -11 517 -10327 0 # -11 518 -10328 0 # -11 519 -10329 0 # -11 520 -10330 0 # -11 521 -10331 0 # -11 522 -10332 0 # -11 523 -10333 0 # -11 524 -10334 0 # -11 525 -10335 0 # -11 526 -10336 0 # -11 527 -10337 0 # -11 528 -10338 0 # -11 529 -10339 0 # -11 530 -10340 0 # -11 531 -10341 0 # -11 532 -10342 0 # -11 533 -10343 0 # -11 534 -10344 0 # -11 535 -10345 0 # -11 536 -10346 0 # -11 537 -10347 0 # -11 538 -10348 0 # -11 539 -10349 0 # -11 540 -10350 0 # -11 541 -10351 0 # -11 542 -10352 0 # -11 543 -10353 0 # -11 544 -10354 0 # -11 545 -10355 0 # -11 546 -10356 0 # -11 547 -10357 0 # -11 548 -10358 0 # -11 549 -10359 0 # -11 550 -10360 0 # -11 551 -10361 0 # -11 552 -10362 0 # -11 553 -10363 0 # -11 554 -10364 0 # -11 555 -10365 0 # -11 556 -10366 0 # -11 557 -10367 0 # -11 558 -10368 0 # -11 559 -10369 0 # -11 560 -10370 0 # -11 561 -10371 0 # -11 562 -10372 0 # -11 563 -10373 0 # -11 564 -10374 0 # -11 565 -10375 0 # -11 566 -10376 0 # -11 567 -10377 0 # -11 568 -10378 0 # -11 569 -10379 0 # -11 570 -10380 0 # -11 571 -10381 0 # -11 572 -10382 0 # -11 573 -10383 0 # -11 574 -10384 0 # -11 575 -10385 0 # -11 576 -10386 0 # -10 0 -10387 0 # -10 1 -10388 0 # -10 2 -10389 1 # -10 3 -10390 1 # -10 4 -10391 1 # -10 5 -10392 15 # -10 6 -10393 0 # -10 7 -10394 4 # -10 8 -10395 8 # -10 9 -10396 3 # -10 10 -10397 4 # -10 11 -10398 5 # -10 12 -10399 5 # -10 13 -10400 4 # -10 14 -10401 5 # -10 15 -10402 5 # -10 16 -10403 5 # -10 17 -10404 5 # -10 18 -10405 5 # -10 19 -10406 5 # -10 20 -10407 5 # -10 21 -10408 5 # -10 22 -10409 6 # -10 23 -10410 6 # -10 24 -10411 5 # -10 25 -10412 6 # -10 26 -10413 6 # -10 27 -10414 6 # -10 28 -10415 6 # -10 29 -10416 6 # -10 30 -10417 6 # -10 31 -10418 6 # -10 32 -10419 7 # -10 33 -10420 6 # -10 34 -10421 6 # -10 35 -10422 6 # -10 36 -10423 7 # -10 37 -10424 7 # -10 38 -10425 7 # -10 39 -10426 7 # -10 40 -10427 7 # -10 41 -10428 7 # -10 42 -10429 7 # -10 43 -10430 7 # -10 44 -10431 8 # -10 45 -10432 7 # -10 46 -10433 8 # -10 47 -10434 8 # -10 48 -10435 7 # -10 49 -10436 8 # -10 50 -10437 8 # -10 51 -10438 7 # -10 52 -10439 8 # -10 53 -10440 8 # -10 54 -10441 8 # -10 55 -10442 7 # -10 56 -10443 11 # -10 57 -10444 10 # -10 58 -10445 9 # -10 59 -10446 6 # -10 60 -10447 8 # -10 61 -10448 9 # -10 62 -10449 12 # -10 63 -10450 14 # -10 64 -10451 7 # -10 65 -10452 10 # -10 66 -10453 7 # -10 67 -10454 9 # -10 68 -10455 11 # -10 69 -10456 6 # -10 70 -10457 6 # -10 71 -10458 4 # -10 72 -10459 6 # -10 73 -10460 12 # -10 74 -10461 12 # -10 75 -10462 7 # -10 76 -10463 7 # -10 77 -10464 11 # -10 78 -10465 6 # -10 79 -10466 7 # -10 80 -10467 7 # -10 81 -10468 1 # -10 82 -10469 7 # -10 83 -10470 0 # -10 84 -10471 10 # -10 85 -10472 0 # -10 86 -10473 0 # -10 87 -10474 4 # -10 88 -10475 14 # -10 89 -10476 5 # -10 90 -10477 5 # -10 91 -10478 0 # -10 92 -10479 2 # -10 93 -10480 0 # -10 94 -10481 0 # -10 95 -10482 0 # -10 96 -10483 0 # -10 97 -10484 0 # -10 98 -10485 0 # -10 99 -10486 0 # -10 100 -10487 0 # -10 101 -10488 0 # -10 102 -10489 0 # -10 103 -10490 0 # -10 104 -10491 0 # -10 105 -10492 0 # -10 106 -10493 0 # -10 107 -10494 0 # -10 108 -10495 0 # -10 109 -10496 0 # -10 110 -10497 0 # -10 111 -10498 0 # -10 112 -10499 0 # -10 113 -10500 0 # -10 114 -10501 0 # -10 115 -10502 0 # -10 116 -10503 0 # -10 117 -10504 0 # -10 118 -10505 0 # -10 119 -10506 0 # -10 120 -10507 0 # -10 121 -10508 0 # -10 122 -10509 0 # -10 123 -10510 0 # -10 124 -10511 0 # -10 125 -10512 0 # -10 126 -10513 0 # -10 127 -10514 0 # -10 128 -10515 0 # -10 129 -10516 0 # -10 130 -10517 0 # -10 131 -10518 0 # -10 132 -10519 0 # -10 133 -10520 0 # -10 134 -10521 0 # -10 135 -10522 0 # -10 136 -10523 0 # -10 137 -10524 0 # -10 138 -10525 0 # -10 139 -10526 0 # -10 140 -10527 0 # -10 141 -10528 0 # -10 142 -10529 0 # -10 143 -10530 0 # -10 144 -10531 0 # -10 145 -10532 0 # -10 146 -10533 0 # -10 147 -10534 0 # -10 148 -10535 0 # -10 149 -10536 0 # -10 150 -10537 0 # -10 151 -10538 0 # -10 152 -10539 0 # -10 153 -10540 0 # -10 154 -10541 0 # -10 155 -10542 0 # -10 156 -10543 0 # -10 157 -10544 0 # -10 158 -10545 0 # -10 159 -10546 0 # -10 160 -10547 0 # -10 161 -10548 0 # -10 162 -10549 0 # -10 163 -10550 0 # -10 164 -10551 0 # -10 165 -10552 0 # -10 166 -10553 0 # -10 167 -10554 0 # -10 168 -10555 0 # -10 169 -10556 0 # -10 170 -10557 0 # -10 171 -10558 0 # -10 172 -10559 0 # -10 173 -10560 0 # -10 174 -10561 0 # -10 175 -10562 0 # -10 176 -10563 0 # -10 177 -10564 0 # -10 178 -10565 0 # -10 179 -10566 0 # -10 180 -10567 0 # -10 181 -10568 0 # -10 182 -10569 0 # -10 183 -10570 0 # -10 184 -10571 0 # -10 185 -10572 0 # -10 186 -10573 0 # -10 187 -10574 0 # -10 188 -10575 0 # -10 189 -10576 0 # -10 190 -10577 0 # -10 191 -10578 0 # -10 192 -10579 0 # -10 193 -10580 0 # -10 194 -10581 0 # -10 195 -10582 0 # -10 196 -10583 0 # -10 197 -10584 0 # -10 198 -10585 0 # -10 199 -10586 0 # -10 200 -10587 0 # -10 201 -10588 0 # -10 202 -10589 0 # -10 203 -10590 0 # -10 204 -10591 0 # -10 205 -10592 0 # -10 206 -10593 0 # -10 207 -10594 0 # -10 208 -10595 0 # -10 209 -10596 0 # -10 210 -10597 0 # -10 211 -10598 0 # -10 212 -10599 0 # -10 213 -10600 0 # -10 214 -10601 0 # -10 215 -10602 0 # -10 216 -10603 0 # -10 217 -10604 0 # -10 218 -10605 0 # -10 219 -10606 0 # -10 220 -10607 0 # -10 221 -10608 0 # -10 222 -10609 0 # -10 223 -10610 0 # -10 224 -10611 0 # -10 225 -10612 0 # -10 226 -10613 0 # -10 227 -10614 0 # -10 228 -10615 0 # -10 229 -10616 0 # -10 230 -10617 0 # -10 231 -10618 0 # -10 232 -10619 0 # -10 233 -10620 0 # -10 234 -10621 0 # -10 235 -10622 0 # -10 236 -10623 0 # -10 237 -10624 0 # -10 238 -10625 0 # -10 239 -10626 0 # -10 240 -10627 0 # -10 241 -10628 0 # -10 242 -10629 0 # -10 243 -10630 0 # -10 244 -10631 0 # -10 245 -10632 0 # -10 246 -10633 0 # -10 247 -10634 0 # -10 248 -10635 0 # -10 249 -10636 0 # -10 250 -10637 0 # -10 251 -10638 0 # -10 252 -10639 0 # -10 253 -10640 0 # -10 254 -10641 0 # -10 255 -10642 0 # -10 256 -10643 0 # -10 257 -10644 0 # -10 258 -10645 0 # -10 259 -10646 0 # -10 260 -10647 0 # -10 261 -10648 0 # -10 262 -10649 0 # -10 263 -10650 0 # -10 264 -10651 0 # -10 265 -10652 0 # -10 266 -10653 0 # -10 267 -10654 0 # -10 268 -10655 0 # -10 269 -10656 0 # -10 270 -10657 0 # -10 271 -10658 0 # -10 272 -10659 0 # -10 273 -10660 0 # -10 274 -10661 0 # -10 275 -10662 0 # -10 276 -10663 0 # -10 277 -10664 0 # -10 278 -10665 0 # -10 279 -10666 0 # -10 280 -10667 0 # -10 281 -10668 0 # -10 282 -10669 0 # -10 283 -10670 0 # -10 284 -10671 0 # -10 285 -10672 0 # -10 286 -10673 0 # -10 287 -10674 0 # -10 288 -10675 0 # -10 289 -10676 0 # -10 290 -10677 0 # -10 291 -10678 0 # -10 292 -10679 0 # -10 293 -10680 0 # -10 294 -10681 0 # -10 295 -10682 0 # -10 296 -10683 0 # -10 297 -10684 0 # -10 298 -10685 0 # -10 299 -10686 0 # -10 300 -10687 0 # -10 301 -10688 0 # -10 302 -10689 0 # -10 303 -10690 0 # -10 304 -10691 0 # -10 305 -10692 0 # -10 306 -10693 0 # -10 307 -10694 0 # -10 308 -10695 0 # -10 309 -10696 0 # -10 310 -10697 0 # -10 311 -10698 0 # -10 312 -10699 0 # -10 313 -10700 0 # -10 314 -10701 0 # -10 315 -10702 0 # -10 316 -10703 0 # -10 317 -10704 0 # -10 318 -10705 0 # -10 319 -10706 0 # -10 320 -10707 0 # -10 321 -10708 0 # -10 322 -10709 0 # -10 323 -10710 0 # -10 324 -10711 0 # -10 325 -10712 0 # -10 326 -10713 0 # -10 327 -10714 0 # -10 328 -10715 0 # -10 329 -10716 0 # -10 330 -10717 0 # -10 331 -10718 0 # -10 332 -10719 0 # -10 333 -10720 0 # -10 334 -10721 0 # -10 335 -10722 0 # -10 336 -10723 0 # -10 337 -10724 0 # -10 338 -10725 0 # -10 339 -10726 0 # -10 340 -10727 0 # -10 341 -10728 0 # -10 342 -10729 0 # -10 343 -10730 0 # -10 344 -10731 0 # -10 345 -10732 0 # -10 346 -10733 0 # -10 347 -10734 0 # -10 348 -10735 0 # -10 349 -10736 0 # -10 350 -10737 0 # -10 351 -10738 0 # -10 352 -10739 0 # -10 353 -10740 0 # -10 354 -10741 0 # -10 355 -10742 0 # -10 356 -10743 0 # -10 357 -10744 0 # -10 358 -10745 0 # -10 359 -10746 0 # -10 360 -10747 0 # -10 361 -10748 0 # -10 362 -10749 0 # -10 363 -10750 0 # -10 364 -10751 0 # -10 365 -10752 0 # -10 366 -10753 0 # -10 367 -10754 0 # -10 368 -10755 0 # -10 369 -10756 0 # -10 370 -10757 0 # -10 371 -10758 0 # -10 372 -10759 0 # -10 373 -10760 0 # -10 374 -10761 0 # -10 375 -10762 0 # -10 376 -10763 0 # -10 377 -10764 0 # -10 378 -10765 0 # -10 379 -10766 0 # -10 380 -10767 0 # -10 381 -10768 0 # -10 382 -10769 0 # -10 383 -10770 0 # -10 384 -10771 0 # -10 385 -10772 0 # -10 386 -10773 0 # -10 387 -10774 0 # -10 388 -10775 0 # -10 389 -10776 0 # -10 390 -10777 0 # -10 391 -10778 0 # -10 392 -10779 0 # -10 393 -10780 0 # -10 394 -10781 0 # -10 395 -10782 0 # -10 396 -10783 0 # -10 397 -10784 0 # -10 398 -10785 0 # -10 399 -10786 0 # -10 400 -10787 0 # -10 401 -10788 0 # -10 402 -10789 0 # -10 403 -10790 0 # -10 404 -10791 0 # -10 405 -10792 0 # -10 406 -10793 0 # -10 407 -10794 0 # -10 408 -10795 0 # -10 409 -10796 0 # -10 410 -10797 0 # -10 411 -10798 0 # -10 412 -10799 0 # -10 413 -10800 0 # -10 414 -10801 0 # -10 415 -10802 0 # -10 416 -10803 0 # -10 417 -10804 0 # -10 418 -10805 0 # -10 419 -10806 0 # -10 420 -10807 0 # -10 421 -10808 0 # -10 422 -10809 0 # -10 423 -10810 0 # -10 424 -10811 0 # -10 425 -10812 0 # -10 426 -10813 0 # -10 427 -10814 0 # -10 428 -10815 0 # -10 429 -10816 0 # -10 430 -10817 0 # -10 431 -10818 0 # -10 432 -10819 0 # -10 433 -10820 0 # -10 434 -10821 0 # -10 435 -10822 0 # -10 436 -10823 0 # -10 437 -10824 0 # -10 438 -10825 0 # -10 439 -10826 0 # -10 440 -10827 0 # -10 441 -10828 0 # -10 442 -10829 0 # -10 443 -10830 0 # -10 444 -10831 0 # -10 445 -10832 0 # -10 446 -10833 0 # -10 447 -10834 0 # -10 448 -10835 0 # -10 449 -10836 0 # -10 450 -10837 0 # -10 451 -10838 0 # -10 452 -10839 0 # -10 453 -10840 0 # -10 454 -10841 0 # -10 455 -10842 0 # -10 456 -10843 0 # -10 457 -10844 0 # -10 458 -10845 0 # -10 459 -10846 0 # -10 460 -10847 0 # -10 461 -10848 0 # -10 462 -10849 0 # -10 463 -10850 0 # -10 464 -10851 0 # -10 465 -10852 0 # -10 466 -10853 0 # -10 467 -10854 0 # -10 468 -10855 0 # -10 469 -10856 0 # -10 470 -10857 0 # -10 471 -10858 0 # -10 472 -10859 0 # -10 473 -10860 0 # -10 474 -10861 0 # -10 475 -10862 0 # -10 476 -10863 0 # -10 477 -10864 0 # -10 478 -10865 0 # -10 479 -10866 0 # -10 480 -10867 0 # -10 481 -10868 0 # -10 482 -10869 0 # -10 483 -10870 0 # -10 484 -10871 0 # -10 485 -10872 0 # -10 486 -10873 0 # -10 487 -10874 0 # -10 488 -10875 0 # -10 489 -10876 0 # -10 490 -10877 0 # -10 491 -10878 0 # -10 492 -10879 0 # -10 493 -10880 0 # -10 494 -10881 0 # -10 495 -10882 0 # -10 496 -10883 0 # -10 497 -10884 0 # -10 498 -10885 0 # -10 499 -10886 0 # -10 500 -10887 0 # -10 501 -10888 0 # -10 502 -10889 0 # -10 503 -10890 0 # -10 504 -10891 0 # -10 505 -10892 0 # -10 506 -10893 0 # -10 507 -10894 0 # -10 508 -10895 0 # -10 509 -10896 0 # -10 510 -10897 0 # -10 511 -10898 0 # -10 512 -10899 0 # -10 513 -10900 0 # -10 514 -10901 0 # -10 515 -10902 0 # -10 516 -10903 0 # -10 517 -10904 0 # -10 518 -10905 0 # -10 519 -10906 0 # -10 520 -10907 0 # -10 521 -10908 0 # -10 522 -10909 0 # -10 523 -10910 0 # -10 524 -10911 0 # -10 525 -10912 0 # -10 526 -10913 0 # -10 527 -10914 0 # -10 528 -10915 0 # -10 529 -10916 0 # -10 530 -10917 0 # -10 531 -10918 0 # -10 532 -10919 0 # -10 533 -10920 0 # -10 534 -10921 0 # -10 535 -10922 0 # -10 536 -10923 0 # -10 537 -10924 0 # -10 538 -10925 0 # -10 539 -10926 0 # -10 540 -10927 0 # -10 541 -10928 0 # -10 542 -10929 0 # -10 543 -10930 0 # -10 544 -10931 0 # -10 545 -10932 0 # -10 546 -10933 0 # -10 547 -10934 0 # -10 548 -10935 0 # -10 549 -10936 0 # -10 550 -10937 0 # -10 551 -10938 0 # -10 552 -10939 0 # -10 553 -10940 0 # -10 554 -10941 0 # -10 555 -10942 0 # -10 556 -10943 0 # -10 557 -10944 0 # -10 558 -10945 0 # -10 559 -10946 0 # -10 560 -10947 0 # -10 561 -10948 0 # -10 562 -10949 0 # -10 563 -10950 0 # -10 564 -10951 0 # -10 565 -10952 0 # -10 566 -10953 0 # -10 567 -10954 0 # -10 568 -10955 0 # -10 569 -10956 0 # -10 570 -10957 0 # -10 571 -10958 0 # -10 572 -10959 0 # -10 573 -10960 0 # -10 574 -10961 0 # -10 575 -10962 0 # -10 576 -10963 0 # -9 0 -10964 0 # -9 1 -10965 0 # -9 2 -10966 0 # -9 3 -10967 1 # -9 4 -10968 2 # -9 5 -10969 6 # -9 6 -10970 1 # -9 7 -10971 3 # -9 8 -10972 4 # -9 9 -10973 3 # -9 10 -10974 4 # -9 11 -10975 4 # -9 12 -10976 4 # -9 13 -10977 4 # -9 14 -10978 5 # -9 15 -10979 5 # -9 16 -10980 5 # -9 17 -10981 5 # -9 18 -10982 5 # -9 19 -10983 5 # -9 20 -10984 5 # -9 21 -10985 5 # -9 22 -10986 6 # -9 23 -10987 5 # -9 24 -10988 5 # -9 25 -10989 6 # -9 26 -10990 6 # -9 27 -10991 6 # -9 28 -10992 6 # -9 29 -10993 6 # -9 30 -10994 6 # -9 31 -10995 6 # -9 32 -10996 7 # -9 33 -10997 7 # -9 34 -10998 7 # -9 35 -10999 6 # -9 36 -11000 7 # -9 37 -11001 6 # -9 38 -11002 7 # -9 39 -11003 6 # -9 40 -11004 7 # -9 41 -11005 8 # -9 42 -11006 7 # -9 43 -11007 7 # -9 44 -11008 8 # -9 45 -11009 7 # -9 46 -11010 8 # -9 47 -11011 8 # -9 48 -11012 8 # -9 49 -11013 8 # -9 50 -11014 8 # -9 51 -11015 8 # -9 52 -11016 7 # -9 53 -11017 7 # -9 54 -11018 8 # -9 55 -11019 8 # -9 56 -11020 10 # -9 57 -11021 10 # -9 58 -11022 9 # -9 59 -11023 8 # -9 60 -11024 8 # -9 61 -11025 11 # -9 62 -11026 10 # -9 63 -11027 11 # -9 64 -11028 8 # -9 65 -11029 6 # -9 66 -11030 11 # -9 67 -11031 15 # -9 68 -11032 8 # -9 69 -11033 7 # -9 70 -11034 5 # -9 71 -11035 6 # -9 72 -11036 5 # -9 73 -11037 14 # -9 74 -11038 12 # -9 75 -11039 6 # -9 76 -11040 4 # -9 77 -11041 11 # -9 78 -11042 9 # -9 79 -11043 7 # -9 80 -11044 7 # -9 81 -11045 1 # -9 82 -11046 9 # -9 83 -11047 0 # -9 84 -11048 7 # -9 85 -11049 0 # -9 86 -11050 0 # -9 87 -11051 13 # -9 88 -11052 14 # -9 89 -11053 5 # -9 90 -11054 8 # -9 91 -11055 0 # -9 92 -11056 1 # -9 93 -11057 0 # -9 94 -11058 0 # -9 95 -11059 0 # -9 96 -11060 0 # -9 97 -11061 0 # -9 98 -11062 0 # -9 99 -11063 0 # -9 100 -11064 0 # -9 101 -11065 0 # -9 102 -11066 0 # -9 103 -11067 0 # -9 104 -11068 0 # -9 105 -11069 0 # -9 106 -11070 0 # -9 107 -11071 0 # -9 108 -11072 0 # -9 109 -11073 0 # -9 110 -11074 0 # -9 111 -11075 0 # -9 112 -11076 0 # -9 113 -11077 0 # -9 114 -11078 0 # -9 115 -11079 0 # -9 116 -11080 0 # -9 117 -11081 0 # -9 118 -11082 0 # -9 119 -11083 0 # -9 120 -11084 0 # -9 121 -11085 0 # -9 122 -11086 0 # -9 123 -11087 0 # -9 124 -11088 0 # -9 125 -11089 0 # -9 126 -11090 0 # -9 127 -11091 0 # -9 128 -11092 0 # -9 129 -11093 0 # -9 130 -11094 0 # -9 131 -11095 0 # -9 132 -11096 0 # -9 133 -11097 0 # -9 134 -11098 0 # -9 135 -11099 0 # -9 136 -11100 0 # -9 137 -11101 0 # -9 138 -11102 0 # -9 139 -11103 0 # -9 140 -11104 0 # -9 141 -11105 0 # -9 142 -11106 0 # -9 143 -11107 0 # -9 144 -11108 0 # -9 145 -11109 0 # -9 146 -11110 0 # -9 147 -11111 0 # -9 148 -11112 0 # -9 149 -11113 0 # -9 150 -11114 0 # -9 151 -11115 0 # -9 152 -11116 0 # -9 153 -11117 0 # -9 154 -11118 0 # -9 155 -11119 0 # -9 156 -11120 0 # -9 157 -11121 0 # -9 158 -11122 0 # -9 159 -11123 0 # -9 160 -11124 0 # -9 161 -11125 0 # -9 162 -11126 0 # -9 163 -11127 0 # -9 164 -11128 0 # -9 165 -11129 0 # -9 166 -11130 0 # -9 167 -11131 0 # -9 168 -11132 0 # -9 169 -11133 0 # -9 170 -11134 0 # -9 171 -11135 0 # -9 172 -11136 0 # -9 173 -11137 0 # -9 174 -11138 0 # -9 175 -11139 0 # -9 176 -11140 0 # -9 177 -11141 0 # -9 178 -11142 0 # -9 179 -11143 0 # -9 180 -11144 0 # -9 181 -11145 0 # -9 182 -11146 0 # -9 183 -11147 0 # -9 184 -11148 0 # -9 185 -11149 0 # -9 186 -11150 0 # -9 187 -11151 0 # -9 188 -11152 0 # -9 189 -11153 0 # -9 190 -11154 0 # -9 191 -11155 0 # -9 192 -11156 0 # -9 193 -11157 0 # -9 194 -11158 0 # -9 195 -11159 0 # -9 196 -11160 0 # -9 197 -11161 0 # -9 198 -11162 0 # -9 199 -11163 0 # -9 200 -11164 0 # -9 201 -11165 0 # -9 202 -11166 0 # -9 203 -11167 0 # -9 204 -11168 0 # -9 205 -11169 0 # -9 206 -11170 0 # -9 207 -11171 0 # -9 208 -11172 0 # -9 209 -11173 0 # -9 210 -11174 0 # -9 211 -11175 0 # -9 212 -11176 0 # -9 213 -11177 0 # -9 214 -11178 0 # -9 215 -11179 0 # -9 216 -11180 0 # -9 217 -11181 0 # -9 218 -11182 0 # -9 219 -11183 0 # -9 220 -11184 0 # -9 221 -11185 0 # -9 222 -11186 0 # -9 223 -11187 0 # -9 224 -11188 0 # -9 225 -11189 0 # -9 226 -11190 0 # -9 227 -11191 0 # -9 228 -11192 0 # -9 229 -11193 0 # -9 230 -11194 0 # -9 231 -11195 0 # -9 232 -11196 0 # -9 233 -11197 0 # -9 234 -11198 0 # -9 235 -11199 0 # -9 236 -11200 0 # -9 237 -11201 0 # -9 238 -11202 0 # -9 239 -11203 0 # -9 240 -11204 0 # -9 241 -11205 0 # -9 242 -11206 0 # -9 243 -11207 0 # -9 244 -11208 0 # -9 245 -11209 0 # -9 246 -11210 0 # -9 247 -11211 0 # -9 248 -11212 0 # -9 249 -11213 0 # -9 250 -11214 0 # -9 251 -11215 0 # -9 252 -11216 0 # -9 253 -11217 0 # -9 254 -11218 0 # -9 255 -11219 0 # -9 256 -11220 0 # -9 257 -11221 0 # -9 258 -11222 0 # -9 259 -11223 0 # -9 260 -11224 0 # -9 261 -11225 0 # -9 262 -11226 0 # -9 263 -11227 0 # -9 264 -11228 0 # -9 265 -11229 0 # -9 266 -11230 0 # -9 267 -11231 0 # -9 268 -11232 0 # -9 269 -11233 0 # -9 270 -11234 0 # -9 271 -11235 0 # -9 272 -11236 0 # -9 273 -11237 0 # -9 274 -11238 0 # -9 275 -11239 0 # -9 276 -11240 0 # -9 277 -11241 0 # -9 278 -11242 0 # -9 279 -11243 0 # -9 280 -11244 0 # -9 281 -11245 0 # -9 282 -11246 0 # -9 283 -11247 0 # -9 284 -11248 0 # -9 285 -11249 0 # -9 286 -11250 0 # -9 287 -11251 0 # -9 288 -11252 0 # -9 289 -11253 0 # -9 290 -11254 0 # -9 291 -11255 0 # -9 292 -11256 0 # -9 293 -11257 0 # -9 294 -11258 0 # -9 295 -11259 0 # -9 296 -11260 0 # -9 297 -11261 0 # -9 298 -11262 0 # -9 299 -11263 0 # -9 300 -11264 0 # -9 301 -11265 0 # -9 302 -11266 0 # -9 303 -11267 0 # -9 304 -11268 0 # -9 305 -11269 0 # -9 306 -11270 0 # -9 307 -11271 0 # -9 308 -11272 0 # -9 309 -11273 0 # -9 310 -11274 0 # -9 311 -11275 0 # -9 312 -11276 0 # -9 313 -11277 0 # -9 314 -11278 0 # -9 315 -11279 0 # -9 316 -11280 0 # -9 317 -11281 0 # -9 318 -11282 0 # -9 319 -11283 0 # -9 320 -11284 0 # -9 321 -11285 0 # -9 322 -11286 0 # -9 323 -11287 0 # -9 324 -11288 0 # -9 325 -11289 0 # -9 326 -11290 0 # -9 327 -11291 0 # -9 328 -11292 0 # -9 329 -11293 0 # -9 330 -11294 0 # -9 331 -11295 0 # -9 332 -11296 0 # -9 333 -11297 0 # -9 334 -11298 0 # -9 335 -11299 0 # -9 336 -11300 0 # -9 337 -11301 0 # -9 338 -11302 0 # -9 339 -11303 0 # -9 340 -11304 0 # -9 341 -11305 0 # -9 342 -11306 0 # -9 343 -11307 0 # -9 344 -11308 0 # -9 345 -11309 0 # -9 346 -11310 0 # -9 347 -11311 0 # -9 348 -11312 0 # -9 349 -11313 0 # -9 350 -11314 0 # -9 351 -11315 0 # -9 352 -11316 0 # -9 353 -11317 0 # -9 354 -11318 0 # -9 355 -11319 0 # -9 356 -11320 0 # -9 357 -11321 0 # -9 358 -11322 0 # -9 359 -11323 0 # -9 360 -11324 0 # -9 361 -11325 0 # -9 362 -11326 0 # -9 363 -11327 0 # -9 364 -11328 0 # -9 365 -11329 0 # -9 366 -11330 0 # -9 367 -11331 0 # -9 368 -11332 0 # -9 369 -11333 0 # -9 370 -11334 0 # -9 371 -11335 0 # -9 372 -11336 0 # -9 373 -11337 0 # -9 374 -11338 0 # -9 375 -11339 0 # -9 376 -11340 0 # -9 377 -11341 0 # -9 378 -11342 0 # -9 379 -11343 0 # -9 380 -11344 0 # -9 381 -11345 0 # -9 382 -11346 0 # -9 383 -11347 0 # -9 384 -11348 0 # -9 385 -11349 0 # -9 386 -11350 0 # -9 387 -11351 0 # -9 388 -11352 0 # -9 389 -11353 0 # -9 390 -11354 0 # -9 391 -11355 0 # -9 392 -11356 0 # -9 393 -11357 0 # -9 394 -11358 0 # -9 395 -11359 0 # -9 396 -11360 0 # -9 397 -11361 0 # -9 398 -11362 0 # -9 399 -11363 0 # -9 400 -11364 0 # -9 401 -11365 0 # -9 402 -11366 0 # -9 403 -11367 0 # -9 404 -11368 0 # -9 405 -11369 0 # -9 406 -11370 0 # -9 407 -11371 0 # -9 408 -11372 0 # -9 409 -11373 0 # -9 410 -11374 0 # -9 411 -11375 0 # -9 412 -11376 0 # -9 413 -11377 0 # -9 414 -11378 0 # -9 415 -11379 0 # -9 416 -11380 0 # -9 417 -11381 0 # -9 418 -11382 0 # -9 419 -11383 0 # -9 420 -11384 0 # -9 421 -11385 0 # -9 422 -11386 0 # -9 423 -11387 0 # -9 424 -11388 0 # -9 425 -11389 0 # -9 426 -11390 0 # -9 427 -11391 0 # -9 428 -11392 0 # -9 429 -11393 0 # -9 430 -11394 0 # -9 431 -11395 0 # -9 432 -11396 0 # -9 433 -11397 0 # -9 434 -11398 0 # -9 435 -11399 0 # -9 436 -11400 0 # -9 437 -11401 0 # -9 438 -11402 0 # -9 439 -11403 0 # -9 440 -11404 0 # -9 441 -11405 0 # -9 442 -11406 0 # -9 443 -11407 0 # -9 444 -11408 0 # -9 445 -11409 0 # -9 446 -11410 0 # -9 447 -11411 0 # -9 448 -11412 0 # -9 449 -11413 0 # -9 450 -11414 0 # -9 451 -11415 0 # -9 452 -11416 0 # -9 453 -11417 0 # -9 454 -11418 0 # -9 455 -11419 0 # -9 456 -11420 0 # -9 457 -11421 0 # -9 458 -11422 0 # -9 459 -11423 0 # -9 460 -11424 0 # -9 461 -11425 0 # -9 462 -11426 0 # -9 463 -11427 0 # -9 464 -11428 0 # -9 465 -11429 0 # -9 466 -11430 0 # -9 467 -11431 0 # -9 468 -11432 0 # -9 469 -11433 0 # -9 470 -11434 0 # -9 471 -11435 0 # -9 472 -11436 0 # -9 473 -11437 0 # -9 474 -11438 0 # -9 475 -11439 0 # -9 476 -11440 0 # -9 477 -11441 0 # -9 478 -11442 0 # -9 479 -11443 0 # -9 480 -11444 0 # -9 481 -11445 0 # -9 482 -11446 0 # -9 483 -11447 0 # -9 484 -11448 0 # -9 485 -11449 0 # -9 486 -11450 0 # -9 487 -11451 0 # -9 488 -11452 0 # -9 489 -11453 0 # -9 490 -11454 0 # -9 491 -11455 0 # -9 492 -11456 0 # -9 493 -11457 0 # -9 494 -11458 0 # -9 495 -11459 0 # -9 496 -11460 0 # -9 497 -11461 0 # -9 498 -11462 0 # -9 499 -11463 0 # -9 500 -11464 0 # -9 501 -11465 0 # -9 502 -11466 0 # -9 503 -11467 0 # -9 504 -11468 0 # -9 505 -11469 0 # -9 506 -11470 0 # -9 507 -11471 0 # -9 508 -11472 0 # -9 509 -11473 0 # -9 510 -11474 0 # -9 511 -11475 0 # -9 512 -11476 0 # -9 513 -11477 0 # -9 514 -11478 0 # -9 515 -11479 0 # -9 516 -11480 0 # -9 517 -11481 0 # -9 518 -11482 0 # -9 519 -11483 0 # -9 520 -11484 0 # -9 521 -11485 0 # -9 522 -11486 0 # -9 523 -11487 0 # -9 524 -11488 0 # -9 525 -11489 0 # -9 526 -11490 0 # -9 527 -11491 0 # -9 528 -11492 0 # -9 529 -11493 0 # -9 530 -11494 0 # -9 531 -11495 0 # -9 532 -11496 0 # -9 533 -11497 0 # -9 534 -11498 0 # -9 535 -11499 0 # -9 536 -11500 0 # -9 537 -11501 0 # -9 538 -11502 0 # -9 539 -11503 0 # -9 540 -11504 0 # -9 541 -11505 0 # -9 542 -11506 0 # -9 543 -11507 0 # -9 544 -11508 0 # -9 545 -11509 0 # -9 546 -11510 0 # -9 547 -11511 0 # -9 548 -11512 0 # -9 549 -11513 0 # -9 550 -11514 0 # -9 551 -11515 0 # -9 552 -11516 0 # -9 553 -11517 0 # -9 554 -11518 0 # -9 555 -11519 0 # -9 556 -11520 0 # -9 557 -11521 0 # -9 558 -11522 0 # -9 559 -11523 0 # -9 560 -11524 0 # -9 561 -11525 0 # -9 562 -11526 0 # -9 563 -11527 0 # -9 564 -11528 0 # -9 565 -11529 0 # -9 566 -11530 0 # -9 567 -11531 0 # -9 568 -11532 0 # -9 569 -11533 0 # -9 570 -11534 0 # -9 571 -11535 0 # -9 572 -11536 0 # -9 573 -11537 0 # -9 574 -11538 0 # -9 575 -11539 0 # -9 576 -11540 0 # -8 0 -11541 0 # -8 1 -11542 0 # -8 2 -11543 0 # -8 3 -11544 1 # -8 4 -11545 2 # -8 5 -11546 6 # -8 6 -11547 9 # -8 7 -11548 2 # -8 8 -11549 3 # -8 9 -11550 3 # -8 10 -11551 4 # -8 11 -11552 5 # -8 12 -11553 4 # -8 13 -11554 4 # -8 14 -11555 5 # -8 15 -11556 5 # -8 16 -11557 4 # -8 17 -11558 5 # -8 18 -11559 6 # -8 19 -11560 6 # -8 20 -11561 6 # -8 21 -11562 5 # -8 22 -11563 6 # -8 23 -11564 5 # -8 24 -11565 5 # -8 25 -11566 6 # -8 26 -11567 6 # -8 27 -11568 7 # -8 28 -11569 6 # -8 29 -11570 7 # -8 30 -11571 7 # -8 31 -11572 7 # -8 32 -11573 6 # -8 33 -11574 7 # -8 34 -11575 7 # -8 35 -11576 7 # -8 36 -11577 7 # -8 37 -11578 7 # -8 38 -11579 7 # -8 39 -11580 7 # -8 40 -11581 8 # -8 41 -11582 8 # -8 42 -11583 8 # -8 43 -11584 7 # -8 44 -11585 8 # -8 45 -11586 8 # -8 46 -11587 8 # -8 47 -11588 8 # -8 48 -11589 9 # -8 49 -11590 8 # -8 50 -11591 8 # -8 51 -11592 8 # -8 52 -11593 7 # -8 53 -11594 9 # -8 54 -11595 9 # -8 55 -11596 9 # -8 56 -11597 10 # -8 57 -11598 9 # -8 58 -11599 10 # -8 59 -11600 10 # -8 60 -11601 9 # -8 61 -11602 11 # -8 62 -11603 10 # -8 63 -11604 9 # -8 64 -11605 12 # -8 65 -11606 8 # -8 66 -11607 12 # -8 67 -11608 12 # -8 68 -11609 9 # -8 69 -11610 6 # -8 70 -11611 10 # -8 71 -11612 5 # -8 72 -11613 4 # -8 73 -11614 10 # -8 74 -11615 11 # -8 75 -11616 6 # -8 76 -11617 4 # -8 77 -11618 15 # -8 78 -11619 15 # -8 79 -11620 6 # -8 80 -11621 8 # -8 81 -11622 5 # -8 82 -11623 7 # -8 83 -11624 0 # -8 84 -11625 14 # -8 85 -11626 0 # -8 86 -11627 0 # -8 87 -11628 15 # -8 88 -11629 15 # -8 89 -11630 5 # -8 90 -11631 11 # -8 91 -11632 0 # -8 92 -11633 3 # -8 93 -11634 0 # -8 94 -11635 0 # -8 95 -11636 0 # -8 96 -11637 0 # -8 97 -11638 0 # -8 98 -11639 0 # -8 99 -11640 0 # -8 100 -11641 0 # -8 101 -11642 0 # -8 102 -11643 0 # -8 103 -11644 0 # -8 104 -11645 0 # -8 105 -11646 0 # -8 106 -11647 0 # -8 107 -11648 0 # -8 108 -11649 0 # -8 109 -11650 0 # -8 110 -11651 0 # -8 111 -11652 0 # -8 112 -11653 0 # -8 113 -11654 0 # -8 114 -11655 0 # -8 115 -11656 0 # -8 116 -11657 0 # -8 117 -11658 0 # -8 118 -11659 0 # -8 119 -11660 0 # -8 120 -11661 0 # -8 121 -11662 0 # -8 122 -11663 0 # -8 123 -11664 0 # -8 124 -11665 0 # -8 125 -11666 0 # -8 126 -11667 0 # -8 127 -11668 0 # -8 128 -11669 0 # -8 129 -11670 0 # -8 130 -11671 0 # -8 131 -11672 0 # -8 132 -11673 0 # -8 133 -11674 0 # -8 134 -11675 0 # -8 135 -11676 0 # -8 136 -11677 0 # -8 137 -11678 0 # -8 138 -11679 0 # -8 139 -11680 0 # -8 140 -11681 0 # -8 141 -11682 0 # -8 142 -11683 0 # -8 143 -11684 0 # -8 144 -11685 0 # -8 145 -11686 0 # -8 146 -11687 0 # -8 147 -11688 0 # -8 148 -11689 0 # -8 149 -11690 0 # -8 150 -11691 0 # -8 151 -11692 0 # -8 152 -11693 0 # -8 153 -11694 0 # -8 154 -11695 0 # -8 155 -11696 0 # -8 156 -11697 0 # -8 157 -11698 0 # -8 158 -11699 0 # -8 159 -11700 0 # -8 160 -11701 0 # -8 161 -11702 0 # -8 162 -11703 0 # -8 163 -11704 0 # -8 164 -11705 0 # -8 165 -11706 0 # -8 166 -11707 0 # -8 167 -11708 0 # -8 168 -11709 0 # -8 169 -11710 0 # -8 170 -11711 0 # -8 171 -11712 0 # -8 172 -11713 0 # -8 173 -11714 0 # -8 174 -11715 0 # -8 175 -11716 0 # -8 176 -11717 0 # -8 177 -11718 0 # -8 178 -11719 0 # -8 179 -11720 0 # -8 180 -11721 0 # -8 181 -11722 0 # -8 182 -11723 0 # -8 183 -11724 0 # -8 184 -11725 0 # -8 185 -11726 0 # -8 186 -11727 0 # -8 187 -11728 0 # -8 188 -11729 0 # -8 189 -11730 0 # -8 190 -11731 0 # -8 191 -11732 0 # -8 192 -11733 0 # -8 193 -11734 0 # -8 194 -11735 0 # -8 195 -11736 0 # -8 196 -11737 0 # -8 197 -11738 0 # -8 198 -11739 0 # -8 199 -11740 0 # -8 200 -11741 0 # -8 201 -11742 0 # -8 202 -11743 0 # -8 203 -11744 0 # -8 204 -11745 0 # -8 205 -11746 0 # -8 206 -11747 0 # -8 207 -11748 0 # -8 208 -11749 0 # -8 209 -11750 0 # -8 210 -11751 0 # -8 211 -11752 0 # -8 212 -11753 0 # -8 213 -11754 0 # -8 214 -11755 0 # -8 215 -11756 0 # -8 216 -11757 0 # -8 217 -11758 0 # -8 218 -11759 0 # -8 219 -11760 0 # -8 220 -11761 0 # -8 221 -11762 0 # -8 222 -11763 0 # -8 223 -11764 0 # -8 224 -11765 0 # -8 225 -11766 0 # -8 226 -11767 0 # -8 227 -11768 0 # -8 228 -11769 0 # -8 229 -11770 0 # -8 230 -11771 0 # -8 231 -11772 0 # -8 232 -11773 0 # -8 233 -11774 0 # -8 234 -11775 0 # -8 235 -11776 0 # -8 236 -11777 0 # -8 237 -11778 0 # -8 238 -11779 0 # -8 239 -11780 0 # -8 240 -11781 0 # -8 241 -11782 0 # -8 242 -11783 0 # -8 243 -11784 0 # -8 244 -11785 0 # -8 245 -11786 0 # -8 246 -11787 0 # -8 247 -11788 0 # -8 248 -11789 0 # -8 249 -11790 0 # -8 250 -11791 0 # -8 251 -11792 0 # -8 252 -11793 0 # -8 253 -11794 0 # -8 254 -11795 0 # -8 255 -11796 0 # -8 256 -11797 0 # -8 257 -11798 0 # -8 258 -11799 0 # -8 259 -11800 0 # -8 260 -11801 0 # -8 261 -11802 0 # -8 262 -11803 0 # -8 263 -11804 0 # -8 264 -11805 0 # -8 265 -11806 0 # -8 266 -11807 0 # -8 267 -11808 0 # -8 268 -11809 0 # -8 269 -11810 0 # -8 270 -11811 0 # -8 271 -11812 0 # -8 272 -11813 0 # -8 273 -11814 0 # -8 274 -11815 0 # -8 275 -11816 0 # -8 276 -11817 0 # -8 277 -11818 0 # -8 278 -11819 0 # -8 279 -11820 0 # -8 280 -11821 0 # -8 281 -11822 0 # -8 282 -11823 0 # -8 283 -11824 0 # -8 284 -11825 0 # -8 285 -11826 0 # -8 286 -11827 0 # -8 287 -11828 0 # -8 288 -11829 0 # -8 289 -11830 0 # -8 290 -11831 0 # -8 291 -11832 0 # -8 292 -11833 0 # -8 293 -11834 0 # -8 294 -11835 0 # -8 295 -11836 0 # -8 296 -11837 0 # -8 297 -11838 0 # -8 298 -11839 0 # -8 299 -11840 0 # -8 300 -11841 0 # -8 301 -11842 0 # -8 302 -11843 0 # -8 303 -11844 0 # -8 304 -11845 0 # -8 305 -11846 0 # -8 306 -11847 0 # -8 307 -11848 0 # -8 308 -11849 0 # -8 309 -11850 0 # -8 310 -11851 0 # -8 311 -11852 0 # -8 312 -11853 0 # -8 313 -11854 0 # -8 314 -11855 0 # -8 315 -11856 0 # -8 316 -11857 0 # -8 317 -11858 0 # -8 318 -11859 0 # -8 319 -11860 0 # -8 320 -11861 0 # -8 321 -11862 0 # -8 322 -11863 0 # -8 323 -11864 0 # -8 324 -11865 0 # -8 325 -11866 0 # -8 326 -11867 0 # -8 327 -11868 0 # -8 328 -11869 0 # -8 329 -11870 0 # -8 330 -11871 0 # -8 331 -11872 0 # -8 332 -11873 0 # -8 333 -11874 0 # -8 334 -11875 0 # -8 335 -11876 0 # -8 336 -11877 0 # -8 337 -11878 0 # -8 338 -11879 0 # -8 339 -11880 0 # -8 340 -11881 0 # -8 341 -11882 0 # -8 342 -11883 0 # -8 343 -11884 0 # -8 344 -11885 0 # -8 345 -11886 0 # -8 346 -11887 0 # -8 347 -11888 0 # -8 348 -11889 0 # -8 349 -11890 0 # -8 350 -11891 0 # -8 351 -11892 0 # -8 352 -11893 0 # -8 353 -11894 0 # -8 354 -11895 0 # -8 355 -11896 0 # -8 356 -11897 0 # -8 357 -11898 0 # -8 358 -11899 0 # -8 359 -11900 0 # -8 360 -11901 0 # -8 361 -11902 0 # -8 362 -11903 0 # -8 363 -11904 0 # -8 364 -11905 0 # -8 365 -11906 0 # -8 366 -11907 0 # -8 367 -11908 0 # -8 368 -11909 0 # -8 369 -11910 0 # -8 370 -11911 0 # -8 371 -11912 0 # -8 372 -11913 0 # -8 373 -11914 0 # -8 374 -11915 0 # -8 375 -11916 0 # -8 376 -11917 0 # -8 377 -11918 0 # -8 378 -11919 0 # -8 379 -11920 0 # -8 380 -11921 0 # -8 381 -11922 0 # -8 382 -11923 0 # -8 383 -11924 0 # -8 384 -11925 0 # -8 385 -11926 0 # -8 386 -11927 0 # -8 387 -11928 0 # -8 388 -11929 0 # -8 389 -11930 0 # -8 390 -11931 0 # -8 391 -11932 0 # -8 392 -11933 0 # -8 393 -11934 0 # -8 394 -11935 0 # -8 395 -11936 0 # -8 396 -11937 0 # -8 397 -11938 0 # -8 398 -11939 0 # -8 399 -11940 0 # -8 400 -11941 0 # -8 401 -11942 0 # -8 402 -11943 0 # -8 403 -11944 0 # -8 404 -11945 0 # -8 405 -11946 0 # -8 406 -11947 0 # -8 407 -11948 0 # -8 408 -11949 0 # -8 409 -11950 0 # -8 410 -11951 0 # -8 411 -11952 0 # -8 412 -11953 0 # -8 413 -11954 0 # -8 414 -11955 0 # -8 415 -11956 0 # -8 416 -11957 0 # -8 417 -11958 0 # -8 418 -11959 0 # -8 419 -11960 0 # -8 420 -11961 0 # -8 421 -11962 0 # -8 422 -11963 0 # -8 423 -11964 0 # -8 424 -11965 0 # -8 425 -11966 0 # -8 426 -11967 0 # -8 427 -11968 0 # -8 428 -11969 0 # -8 429 -11970 0 # -8 430 -11971 0 # -8 431 -11972 0 # -8 432 -11973 0 # -8 433 -11974 0 # -8 434 -11975 0 # -8 435 -11976 0 # -8 436 -11977 0 # -8 437 -11978 0 # -8 438 -11979 0 # -8 439 -11980 0 # -8 440 -11981 0 # -8 441 -11982 0 # -8 442 -11983 0 # -8 443 -11984 0 # -8 444 -11985 0 # -8 445 -11986 0 # -8 446 -11987 0 # -8 447 -11988 0 # -8 448 -11989 0 # -8 449 -11990 0 # -8 450 -11991 0 # -8 451 -11992 0 # -8 452 -11993 0 # -8 453 -11994 0 # -8 454 -11995 0 # -8 455 -11996 0 # -8 456 -11997 0 # -8 457 -11998 0 # -8 458 -11999 0 # -8 459 -12000 0 # -8 460 -12001 0 # -8 461 -12002 0 # -8 462 -12003 0 # -8 463 -12004 0 # -8 464 -12005 0 # -8 465 -12006 0 # -8 466 -12007 0 # -8 467 -12008 0 # -8 468 -12009 0 # -8 469 -12010 0 # -8 470 -12011 0 # -8 471 -12012 0 # -8 472 -12013 0 # -8 473 -12014 0 # -8 474 -12015 0 # -8 475 -12016 0 # -8 476 -12017 0 # -8 477 -12018 0 # -8 478 -12019 0 # -8 479 -12020 0 # -8 480 -12021 0 # -8 481 -12022 0 # -8 482 -12023 0 # -8 483 -12024 0 # -8 484 -12025 0 # -8 485 -12026 0 # -8 486 -12027 0 # -8 487 -12028 0 # -8 488 -12029 0 # -8 489 -12030 0 # -8 490 -12031 0 # -8 491 -12032 0 # -8 492 -12033 0 # -8 493 -12034 0 # -8 494 -12035 0 # -8 495 -12036 0 # -8 496 -12037 0 # -8 497 -12038 0 # -8 498 -12039 0 # -8 499 -12040 0 # -8 500 -12041 0 # -8 501 -12042 0 # -8 502 -12043 0 # -8 503 -12044 0 # -8 504 -12045 0 # -8 505 -12046 0 # -8 506 -12047 0 # -8 507 -12048 0 # -8 508 -12049 0 # -8 509 -12050 0 # -8 510 -12051 0 # -8 511 -12052 0 # -8 512 -12053 0 # -8 513 -12054 0 # -8 514 -12055 0 # -8 515 -12056 0 # -8 516 -12057 0 # -8 517 -12058 0 # -8 518 -12059 0 # -8 519 -12060 0 # -8 520 -12061 0 # -8 521 -12062 0 # -8 522 -12063 0 # -8 523 -12064 0 # -8 524 -12065 0 # -8 525 -12066 0 # -8 526 -12067 0 # -8 527 -12068 0 # -8 528 -12069 0 # -8 529 -12070 0 # -8 530 -12071 0 # -8 531 -12072 0 # -8 532 -12073 0 # -8 533 -12074 0 # -8 534 -12075 0 # -8 535 -12076 0 # -8 536 -12077 0 # -8 537 -12078 0 # -8 538 -12079 0 # -8 539 -12080 0 # -8 540 -12081 0 # -8 541 -12082 0 # -8 542 -12083 0 # -8 543 -12084 0 # -8 544 -12085 0 # -8 545 -12086 0 # -8 546 -12087 0 # -8 547 -12088 0 # -8 548 -12089 0 # -8 549 -12090 0 # -8 550 -12091 0 # -8 551 -12092 0 # -8 552 -12093 0 # -8 553 -12094 0 # -8 554 -12095 0 # -8 555 -12096 0 # -8 556 -12097 0 # -8 557 -12098 0 # -8 558 -12099 0 # -8 559 -12100 0 # -8 560 -12101 0 # -8 561 -12102 0 # -8 562 -12103 0 # -8 563 -12104 0 # -8 564 -12105 0 # -8 565 -12106 0 # -8 566 -12107 0 # -8 567 -12108 0 # -8 568 -12109 0 # -8 569 -12110 0 # -8 570 -12111 0 # -8 571 -12112 0 # -8 572 -12113 0 # -8 573 -12114 0 # -8 574 -12115 0 # -8 575 -12116 0 # -8 576 -12117 0 # -7 0 -12118 0 # -7 1 -12119 0 # -7 2 -12120 2 # -7 3 -12121 2 # -7 4 -12122 0 # -7 5 -12123 13 # -7 6 -12124 5 # -7 7 -12125 3 # -7 8 -12126 2 # -7 9 -12127 3 # -7 10 -12128 4 # -7 11 -12129 4 # -7 12 -12130 5 # -7 13 -12131 4 # -7 14 -12132 5 # -7 15 -12133 4 # -7 16 -12134 5 # -7 17 -12135 5 # -7 18 -12136 5 # -7 19 -12137 6 # -7 20 -12138 5 # -7 21 -12139 5 # -7 22 -12140 6 # -7 23 -12141 6 # -7 24 -12142 5 # -7 25 -12143 6 # -7 26 -12144 6 # -7 27 -12145 6 # -7 28 -12146 7 # -7 29 -12147 7 # -7 30 -12148 7 # -7 31 -12149 7 # -7 32 -12150 7 # -7 33 -12151 8 # -7 34 -12152 7 # -7 35 -12153 7 # -7 36 -12154 7 # -7 37 -12155 7 # -7 38 -12156 8 # -7 39 -12157 7 # -7 40 -12158 8 # -7 41 -12159 8 # -7 42 -12160 8 # -7 43 -12161 8 # -7 44 -12162 9 # -7 45 -12163 8 # -7 46 -12164 8 # -7 47 -12165 8 # -7 48 -12166 9 # -7 49 -12167 8 # -7 50 -12168 8 # -7 51 -12169 9 # -7 52 -12170 8 # -7 53 -12171 7 # -7 54 -12172 9 # -7 55 -12173 9 # -7 56 -12174 9 # -7 57 -12175 10 # -7 58 -12176 11 # -7 59 -12177 10 # -7 60 -12178 10 # -7 61 -12179 10 # -7 62 -12180 9 # -7 63 -12181 11 # -7 64 -12182 9 # -7 65 -12183 8 # -7 66 -12184 13 # -7 67 -12185 11 # -7 68 -12186 12 # -7 69 -12187 6 # -7 70 -12188 12 # -7 71 -12189 5 # -7 72 -12190 7 # -7 73 -12191 10 # -7 74 -12192 16 # -7 75 -12193 5 # -7 76 -12194 6 # -7 77 -12195 8 # -7 78 -12196 13 # -7 79 -12197 10 # -7 80 -12198 4 # -7 81 -12199 2 # -7 82 -12200 7 # -7 83 -12201 0 # -7 84 -12202 18 # -7 85 -12203 0 # -7 86 -12204 0 # -7 87 -12205 9 # -7 88 -12206 12 # -7 89 -12207 5 # -7 90 -12208 12 # -7 91 -12209 0 # -7 92 -12210 10 # -7 93 -12211 0 # -7 94 -12212 0 # -7 95 -12213 0 # -7 96 -12214 0 # -7 97 -12215 0 # -7 98 -12216 0 # -7 99 -12217 0 # -7 100 -12218 0 # -7 101 -12219 0 # -7 102 -12220 0 # -7 103 -12221 0 # -7 104 -12222 0 # -7 105 -12223 0 # -7 106 -12224 0 # -7 107 -12225 0 # -7 108 -12226 0 # -7 109 -12227 0 # -7 110 -12228 0 # -7 111 -12229 0 # -7 112 -12230 0 # -7 113 -12231 0 # -7 114 -12232 0 # -7 115 -12233 0 # -7 116 -12234 0 # -7 117 -12235 0 # -7 118 -12236 0 # -7 119 -12237 0 # -7 120 -12238 0 # -7 121 -12239 0 # -7 122 -12240 0 # -7 123 -12241 0 # -7 124 -12242 0 # -7 125 -12243 0 # -7 126 -12244 0 # -7 127 -12245 0 # -7 128 -12246 0 # -7 129 -12247 0 # -7 130 -12248 0 # -7 131 -12249 0 # -7 132 -12250 0 # -7 133 -12251 0 # -7 134 -12252 0 # -7 135 -12253 0 # -7 136 -12254 0 # -7 137 -12255 0 # -7 138 -12256 0 # -7 139 -12257 0 # -7 140 -12258 0 # -7 141 -12259 0 # -7 142 -12260 0 # -7 143 -12261 0 # -7 144 -12262 0 # -7 145 -12263 0 # -7 146 -12264 0 # -7 147 -12265 0 # -7 148 -12266 0 # -7 149 -12267 0 # -7 150 -12268 0 # -7 151 -12269 0 # -7 152 -12270 0 # -7 153 -12271 0 # -7 154 -12272 0 # -7 155 -12273 0 # -7 156 -12274 0 # -7 157 -12275 0 # -7 158 -12276 0 # -7 159 -12277 0 # -7 160 -12278 0 # -7 161 -12279 0 # -7 162 -12280 0 # -7 163 -12281 0 # -7 164 -12282 0 # -7 165 -12283 0 # -7 166 -12284 0 # -7 167 -12285 0 # -7 168 -12286 0 # -7 169 -12287 0 # -7 170 -12288 0 # -7 171 -12289 0 # -7 172 -12290 0 # -7 173 -12291 0 # -7 174 -12292 0 # -7 175 -12293 0 # -7 176 -12294 0 # -7 177 -12295 0 # -7 178 -12296 0 # -7 179 -12297 0 # -7 180 -12298 0 # -7 181 -12299 0 # -7 182 -12300 0 # -7 183 -12301 0 # -7 184 -12302 0 # -7 185 -12303 0 # -7 186 -12304 0 # -7 187 -12305 0 # -7 188 -12306 0 # -7 189 -12307 0 # -7 190 -12308 0 # -7 191 -12309 0 # -7 192 -12310 0 # -7 193 -12311 0 # -7 194 -12312 0 # -7 195 -12313 0 # -7 196 -12314 0 # -7 197 -12315 0 # -7 198 -12316 0 # -7 199 -12317 0 # -7 200 -12318 0 # -7 201 -12319 0 # -7 202 -12320 0 # -7 203 -12321 0 # -7 204 -12322 0 # -7 205 -12323 0 # -7 206 -12324 0 # -7 207 -12325 0 # -7 208 -12326 0 # -7 209 -12327 0 # -7 210 -12328 0 # -7 211 -12329 0 # -7 212 -12330 0 # -7 213 -12331 0 # -7 214 -12332 0 # -7 215 -12333 0 # -7 216 -12334 0 # -7 217 -12335 0 # -7 218 -12336 0 # -7 219 -12337 0 # -7 220 -12338 0 # -7 221 -12339 0 # -7 222 -12340 0 # -7 223 -12341 0 # -7 224 -12342 0 # -7 225 -12343 0 # -7 226 -12344 0 # -7 227 -12345 0 # -7 228 -12346 0 # -7 229 -12347 0 # -7 230 -12348 0 # -7 231 -12349 0 # -7 232 -12350 0 # -7 233 -12351 0 # -7 234 -12352 0 # -7 235 -12353 0 # -7 236 -12354 0 # -7 237 -12355 0 # -7 238 -12356 0 # -7 239 -12357 0 # -7 240 -12358 0 # -7 241 -12359 0 # -7 242 -12360 0 # -7 243 -12361 0 # -7 244 -12362 0 # -7 245 -12363 0 # -7 246 -12364 0 # -7 247 -12365 0 # -7 248 -12366 0 # -7 249 -12367 0 # -7 250 -12368 0 # -7 251 -12369 0 # -7 252 -12370 0 # -7 253 -12371 0 # -7 254 -12372 0 # -7 255 -12373 0 # -7 256 -12374 0 # -7 257 -12375 0 # -7 258 -12376 0 # -7 259 -12377 0 # -7 260 -12378 0 # -7 261 -12379 0 # -7 262 -12380 0 # -7 263 -12381 0 # -7 264 -12382 0 # -7 265 -12383 0 # -7 266 -12384 0 # -7 267 -12385 0 # -7 268 -12386 0 # -7 269 -12387 0 # -7 270 -12388 0 # -7 271 -12389 0 # -7 272 -12390 0 # -7 273 -12391 0 # -7 274 -12392 0 # -7 275 -12393 0 # -7 276 -12394 0 # -7 277 -12395 0 # -7 278 -12396 0 # -7 279 -12397 0 # -7 280 -12398 0 # -7 281 -12399 0 # -7 282 -12400 0 # -7 283 -12401 0 # -7 284 -12402 0 # -7 285 -12403 0 # -7 286 -12404 0 # -7 287 -12405 0 # -7 288 -12406 0 # -7 289 -12407 0 # -7 290 -12408 0 # -7 291 -12409 0 # -7 292 -12410 0 # -7 293 -12411 0 # -7 294 -12412 0 # -7 295 -12413 0 # -7 296 -12414 0 # -7 297 -12415 0 # -7 298 -12416 0 # -7 299 -12417 0 # -7 300 -12418 0 # -7 301 -12419 0 # -7 302 -12420 0 # -7 303 -12421 0 # -7 304 -12422 0 # -7 305 -12423 0 # -7 306 -12424 0 # -7 307 -12425 0 # -7 308 -12426 0 # -7 309 -12427 0 # -7 310 -12428 0 # -7 311 -12429 0 # -7 312 -12430 0 # -7 313 -12431 0 # -7 314 -12432 0 # -7 315 -12433 0 # -7 316 -12434 0 # -7 317 -12435 0 # -7 318 -12436 0 # -7 319 -12437 0 # -7 320 -12438 0 # -7 321 -12439 0 # -7 322 -12440 0 # -7 323 -12441 0 # -7 324 -12442 0 # -7 325 -12443 0 # -7 326 -12444 0 # -7 327 -12445 0 # -7 328 -12446 0 # -7 329 -12447 0 # -7 330 -12448 0 # -7 331 -12449 0 # -7 332 -12450 0 # -7 333 -12451 0 # -7 334 -12452 0 # -7 335 -12453 0 # -7 336 -12454 0 # -7 337 -12455 0 # -7 338 -12456 0 # -7 339 -12457 0 # -7 340 -12458 0 # -7 341 -12459 0 # -7 342 -12460 0 # -7 343 -12461 0 # -7 344 -12462 0 # -7 345 -12463 0 # -7 346 -12464 0 # -7 347 -12465 0 # -7 348 -12466 0 # -7 349 -12467 0 # -7 350 -12468 0 # -7 351 -12469 0 # -7 352 -12470 0 # -7 353 -12471 0 # -7 354 -12472 0 # -7 355 -12473 0 # -7 356 -12474 0 # -7 357 -12475 0 # -7 358 -12476 0 # -7 359 -12477 0 # -7 360 -12478 0 # -7 361 -12479 0 # -7 362 -12480 0 # -7 363 -12481 0 # -7 364 -12482 0 # -7 365 -12483 0 # -7 366 -12484 0 # -7 367 -12485 0 # -7 368 -12486 0 # -7 369 -12487 0 # -7 370 -12488 0 # -7 371 -12489 0 # -7 372 -12490 0 # -7 373 -12491 0 # -7 374 -12492 0 # -7 375 -12493 0 # -7 376 -12494 0 # -7 377 -12495 0 # -7 378 -12496 0 # -7 379 -12497 0 # -7 380 -12498 0 # -7 381 -12499 0 # -7 382 -12500 0 # -7 383 -12501 0 # -7 384 -12502 0 # -7 385 -12503 0 # -7 386 -12504 0 # -7 387 -12505 0 # -7 388 -12506 0 # -7 389 -12507 0 # -7 390 -12508 0 # -7 391 -12509 0 # -7 392 -12510 0 # -7 393 -12511 0 # -7 394 -12512 0 # -7 395 -12513 0 # -7 396 -12514 0 # -7 397 -12515 0 # -7 398 -12516 0 # -7 399 -12517 0 # -7 400 -12518 0 # -7 401 -12519 0 # -7 402 -12520 0 # -7 403 -12521 0 # -7 404 -12522 0 # -7 405 -12523 0 # -7 406 -12524 0 # -7 407 -12525 0 # -7 408 -12526 0 # -7 409 -12527 0 # -7 410 -12528 0 # -7 411 -12529 0 # -7 412 -12530 0 # -7 413 -12531 0 # -7 414 -12532 0 # -7 415 -12533 0 # -7 416 -12534 0 # -7 417 -12535 0 # -7 418 -12536 0 # -7 419 -12537 0 # -7 420 -12538 0 # -7 421 -12539 0 # -7 422 -12540 0 # -7 423 -12541 0 # -7 424 -12542 0 # -7 425 -12543 0 # -7 426 -12544 0 # -7 427 -12545 0 # -7 428 -12546 0 # -7 429 -12547 0 # -7 430 -12548 0 # -7 431 -12549 0 # -7 432 -12550 0 # -7 433 -12551 0 # -7 434 -12552 0 # -7 435 -12553 0 # -7 436 -12554 0 # -7 437 -12555 0 # -7 438 -12556 0 # -7 439 -12557 0 # -7 440 -12558 0 # -7 441 -12559 0 # -7 442 -12560 0 # -7 443 -12561 0 # -7 444 -12562 0 # -7 445 -12563 0 # -7 446 -12564 0 # -7 447 -12565 0 # -7 448 -12566 0 # -7 449 -12567 0 # -7 450 -12568 0 # -7 451 -12569 0 # -7 452 -12570 0 # -7 453 -12571 0 # -7 454 -12572 0 # -7 455 -12573 0 # -7 456 -12574 0 # -7 457 -12575 0 # -7 458 -12576 0 # -7 459 -12577 0 # -7 460 -12578 0 # -7 461 -12579 0 # -7 462 -12580 0 # -7 463 -12581 0 # -7 464 -12582 0 # -7 465 -12583 0 # -7 466 -12584 0 # -7 467 -12585 0 # -7 468 -12586 0 # -7 469 -12587 0 # -7 470 -12588 0 # -7 471 -12589 0 # -7 472 -12590 0 # -7 473 -12591 0 # -7 474 -12592 0 # -7 475 -12593 0 # -7 476 -12594 0 # -7 477 -12595 0 # -7 478 -12596 0 # -7 479 -12597 0 # -7 480 -12598 0 # -7 481 -12599 0 # -7 482 -12600 0 # -7 483 -12601 0 # -7 484 -12602 0 # -7 485 -12603 0 # -7 486 -12604 0 # -7 487 -12605 0 # -7 488 -12606 0 # -7 489 -12607 0 # -7 490 -12608 0 # -7 491 -12609 0 # -7 492 -12610 0 # -7 493 -12611 0 # -7 494 -12612 0 # -7 495 -12613 0 # -7 496 -12614 0 # -7 497 -12615 0 # -7 498 -12616 0 # -7 499 -12617 0 # -7 500 -12618 0 # -7 501 -12619 0 # -7 502 -12620 0 # -7 503 -12621 0 # -7 504 -12622 0 # -7 505 -12623 0 # -7 506 -12624 0 # -7 507 -12625 0 # -7 508 -12626 0 # -7 509 -12627 0 # -7 510 -12628 0 # -7 511 -12629 0 # -7 512 -12630 0 # -7 513 -12631 0 # -7 514 -12632 0 # -7 515 -12633 0 # -7 516 -12634 0 # -7 517 -12635 0 # -7 518 -12636 0 # -7 519 -12637 0 # -7 520 -12638 0 # -7 521 -12639 0 # -7 522 -12640 0 # -7 523 -12641 0 # -7 524 -12642 0 # -7 525 -12643 0 # -7 526 -12644 0 # -7 527 -12645 0 # -7 528 -12646 0 # -7 529 -12647 0 # -7 530 -12648 0 # -7 531 -12649 0 # -7 532 -12650 0 # -7 533 -12651 0 # -7 534 -12652 0 # -7 535 -12653 0 # -7 536 -12654 0 # -7 537 -12655 0 # -7 538 -12656 0 # -7 539 -12657 0 # -7 540 -12658 0 # -7 541 -12659 0 # -7 542 -12660 0 # -7 543 -12661 0 # -7 544 -12662 0 # -7 545 -12663 0 # -7 546 -12664 0 # -7 547 -12665 0 # -7 548 -12666 0 # -7 549 -12667 0 # -7 550 -12668 0 # -7 551 -12669 0 # -7 552 -12670 0 # -7 553 -12671 0 # -7 554 -12672 0 # -7 555 -12673 0 # -7 556 -12674 0 # -7 557 -12675 0 # -7 558 -12676 0 # -7 559 -12677 0 # -7 560 -12678 0 # -7 561 -12679 0 # -7 562 -12680 0 # -7 563 -12681 0 # -7 564 -12682 0 # -7 565 -12683 0 # -7 566 -12684 0 # -7 567 -12685 0 # -7 568 -12686 0 # -7 569 -12687 0 # -7 570 -12688 0 # -7 571 -12689 0 # -7 572 -12690 0 # -7 573 -12691 0 # -7 574 -12692 0 # -7 575 -12693 0 # -7 576 -12694 0 # -6 0 -12695 0 # -6 1 -12696 0 # -6 2 -12697 0 # -6 3 -12698 1 # -6 4 -12699 0 # -6 5 -12700 13 # -6 6 -12701 3 # -6 7 -12702 2 # -6 8 -12703 3 # -6 9 -12704 3 # -6 10 -12705 3 # -6 11 -12706 3 # -6 12 -12707 5 # -6 13 -12708 4 # -6 14 -12709 4 # -6 15 -12710 4 # -6 16 -12711 5 # -6 17 -12712 5 # -6 18 -12713 4 # -6 19 -12714 6 # -6 20 -12715 5 # -6 21 -12716 5 # -6 22 -12717 5 # -6 23 -12718 6 # -6 24 -12719 5 # -6 25 -12720 6 # -6 26 -12721 6 # -6 27 -12722 6 # -6 28 -12723 6 # -6 29 -12724 7 # -6 30 -12725 7 # -6 31 -12726 7 # -6 32 -12727 7 # -6 33 -12728 7 # -6 34 -12729 7 # -6 35 -12730 7 # -6 36 -12731 8 # -6 37 -12732 7 # -6 38 -12733 7 # -6 39 -12734 7 # -6 40 -12735 8 # -6 41 -12736 8 # -6 42 -12737 8 # -6 43 -12738 7 # -6 44 -12739 9 # -6 45 -12740 8 # -6 46 -12741 8 # -6 47 -12742 9 # -6 48 -12743 9 # -6 49 -12744 8 # -6 50 -12745 9 # -6 51 -12746 9 # -6 52 -12747 8 # -6 53 -12748 9 # -6 54 -12749 8 # -6 55 -12750 10 # -6 56 -12751 10 # -6 57 -12752 11 # -6 58 -12753 10 # -6 59 -12754 10 # -6 60 -12755 9 # -6 61 -12756 15 # -6 62 -12757 8 # -6 63 -12758 13 # -6 64 -12759 8 # -6 65 -12760 10 # -6 66 -12761 14 # -6 67 -12762 12 # -6 68 -12763 12 # -6 69 -12764 8 # -6 70 -12765 14 # -6 71 -12766 5 # -6 72 -12767 8 # -6 73 -12768 10 # -6 74 -12769 9 # -6 75 -12770 4 # -6 76 -12771 8 # -6 77 -12772 7 # -6 78 -12773 13 # -6 79 -12774 15 # -6 80 -12775 5 # -6 81 -12776 0 # -6 82 -12777 7 # -6 83 -12778 0 # -6 84 -12779 13 # -6 85 -12780 0 # -6 86 -12781 0 # -6 87 -12782 12 # -6 88 -12783 22 # -6 89 -12784 4 # -6 90 -12785 14 # -6 91 -12786 0 # -6 92 -12787 9 # -6 93 -12788 0 # -6 94 -12789 0 # -6 95 -12790 0 # -6 96 -12791 0 # -6 97 -12792 0 # -6 98 -12793 0 # -6 99 -12794 0 # -6 100 -12795 0 # -6 101 -12796 0 # -6 102 -12797 0 # -6 103 -12798 0 # -6 104 -12799 0 # -6 105 -12800 0 # -6 106 -12801 0 # -6 107 -12802 0 # -6 108 -12803 0 # -6 109 -12804 0 # -6 110 -12805 0 # -6 111 -12806 0 # -6 112 -12807 0 # -6 113 -12808 0 # -6 114 -12809 0 # -6 115 -12810 0 # -6 116 -12811 0 # -6 117 -12812 0 # -6 118 -12813 0 # -6 119 -12814 0 # -6 120 -12815 0 # -6 121 -12816 0 # -6 122 -12817 0 # -6 123 -12818 0 # -6 124 -12819 0 # -6 125 -12820 0 # -6 126 -12821 0 # -6 127 -12822 0 # -6 128 -12823 0 # -6 129 -12824 0 # -6 130 -12825 0 # -6 131 -12826 0 # -6 132 -12827 0 # -6 133 -12828 0 # -6 134 -12829 0 # -6 135 -12830 0 # -6 136 -12831 0 # -6 137 -12832 0 # -6 138 -12833 0 # -6 139 -12834 0 # -6 140 -12835 0 # -6 141 -12836 0 # -6 142 -12837 0 # -6 143 -12838 0 # -6 144 -12839 0 # -6 145 -12840 0 # -6 146 -12841 0 # -6 147 -12842 0 # -6 148 -12843 0 # -6 149 -12844 0 # -6 150 -12845 0 # -6 151 -12846 0 # -6 152 -12847 0 # -6 153 -12848 0 # -6 154 -12849 0 # -6 155 -12850 0 # -6 156 -12851 0 # -6 157 -12852 0 # -6 158 -12853 0 # -6 159 -12854 0 # -6 160 -12855 0 # -6 161 -12856 0 # -6 162 -12857 0 # -6 163 -12858 0 # -6 164 -12859 0 # -6 165 -12860 0 # -6 166 -12861 0 # -6 167 -12862 0 # -6 168 -12863 0 # -6 169 -12864 0 # -6 170 -12865 0 # -6 171 -12866 0 # -6 172 -12867 0 # -6 173 -12868 0 # -6 174 -12869 0 # -6 175 -12870 0 # -6 176 -12871 0 # -6 177 -12872 0 # -6 178 -12873 0 # -6 179 -12874 0 # -6 180 -12875 0 # -6 181 -12876 0 # -6 182 -12877 0 # -6 183 -12878 0 # -6 184 -12879 0 # -6 185 -12880 0 # -6 186 -12881 0 # -6 187 -12882 0 # -6 188 -12883 0 # -6 189 -12884 0 # -6 190 -12885 0 # -6 191 -12886 0 # -6 192 -12887 0 # -6 193 -12888 0 # -6 194 -12889 0 # -6 195 -12890 0 # -6 196 -12891 0 # -6 197 -12892 0 # -6 198 -12893 0 # -6 199 -12894 0 # -6 200 -12895 0 # -6 201 -12896 0 # -6 202 -12897 0 # -6 203 -12898 0 # -6 204 -12899 0 # -6 205 -12900 0 # -6 206 -12901 0 # -6 207 -12902 0 # -6 208 -12903 0 # -6 209 -12904 0 # -6 210 -12905 0 # -6 211 -12906 0 # -6 212 -12907 0 # -6 213 -12908 0 # -6 214 -12909 0 # -6 215 -12910 0 # -6 216 -12911 0 # -6 217 -12912 0 # -6 218 -12913 0 # -6 219 -12914 0 # -6 220 -12915 0 # -6 221 -12916 0 # -6 222 -12917 0 # -6 223 -12918 0 # -6 224 -12919 0 # -6 225 -12920 0 # -6 226 -12921 0 # -6 227 -12922 0 # -6 228 -12923 0 # -6 229 -12924 0 # -6 230 -12925 0 # -6 231 -12926 0 # -6 232 -12927 0 # -6 233 -12928 0 # -6 234 -12929 0 # -6 235 -12930 0 # -6 236 -12931 0 # -6 237 -12932 0 # -6 238 -12933 0 # -6 239 -12934 0 # -6 240 -12935 0 # -6 241 -12936 0 # -6 242 -12937 0 # -6 243 -12938 0 # -6 244 -12939 0 # -6 245 -12940 0 # -6 246 -12941 0 # -6 247 -12942 0 # -6 248 -12943 0 # -6 249 -12944 0 # -6 250 -12945 0 # -6 251 -12946 0 # -6 252 -12947 0 # -6 253 -12948 0 # -6 254 -12949 0 # -6 255 -12950 0 # -6 256 -12951 0 # -6 257 -12952 0 # -6 258 -12953 0 # -6 259 -12954 0 # -6 260 -12955 0 # -6 261 -12956 0 # -6 262 -12957 0 # -6 263 -12958 0 # -6 264 -12959 0 # -6 265 -12960 0 # -6 266 -12961 0 # -6 267 -12962 0 # -6 268 -12963 0 # -6 269 -12964 0 # -6 270 -12965 0 # -6 271 -12966 0 # -6 272 -12967 0 # -6 273 -12968 0 # -6 274 -12969 0 # -6 275 -12970 0 # -6 276 -12971 0 # -6 277 -12972 0 # -6 278 -12973 0 # -6 279 -12974 0 # -6 280 -12975 0 # -6 281 -12976 0 # -6 282 -12977 0 # -6 283 -12978 0 # -6 284 -12979 0 # -6 285 -12980 0 # -6 286 -12981 0 # -6 287 -12982 0 # -6 288 -12983 0 # -6 289 -12984 0 # -6 290 -12985 0 # -6 291 -12986 0 # -6 292 -12987 0 # -6 293 -12988 0 # -6 294 -12989 0 # -6 295 -12990 0 # -6 296 -12991 0 # -6 297 -12992 0 # -6 298 -12993 0 # -6 299 -12994 0 # -6 300 -12995 0 # -6 301 -12996 0 # -6 302 -12997 0 # -6 303 -12998 0 # -6 304 -12999 0 # -6 305 -13000 0 # -6 306 -13001 0 # -6 307 -13002 0 # -6 308 -13003 0 # -6 309 -13004 0 # -6 310 -13005 0 # -6 311 -13006 0 # -6 312 -13007 0 # -6 313 -13008 0 # -6 314 -13009 0 # -6 315 -13010 0 # -6 316 -13011 0 # -6 317 -13012 0 # -6 318 -13013 0 # -6 319 -13014 0 # -6 320 -13015 0 # -6 321 -13016 0 # -6 322 -13017 0 # -6 323 -13018 0 # -6 324 -13019 0 # -6 325 -13020 0 # -6 326 -13021 0 # -6 327 -13022 0 # -6 328 -13023 0 # -6 329 -13024 0 # -6 330 -13025 0 # -6 331 -13026 0 # -6 332 -13027 0 # -6 333 -13028 0 # -6 334 -13029 0 # -6 335 -13030 0 # -6 336 -13031 0 # -6 337 -13032 0 # -6 338 -13033 0 # -6 339 -13034 0 # -6 340 -13035 0 # -6 341 -13036 0 # -6 342 -13037 0 # -6 343 -13038 0 # -6 344 -13039 0 # -6 345 -13040 0 # -6 346 -13041 0 # -6 347 -13042 0 # -6 348 -13043 0 # -6 349 -13044 0 # -6 350 -13045 0 # -6 351 -13046 0 # -6 352 -13047 0 # -6 353 -13048 0 # -6 354 -13049 0 # -6 355 -13050 0 # -6 356 -13051 0 # -6 357 -13052 0 # -6 358 -13053 0 # -6 359 -13054 0 # -6 360 -13055 0 # -6 361 -13056 0 # -6 362 -13057 0 # -6 363 -13058 0 # -6 364 -13059 0 # -6 365 -13060 0 # -6 366 -13061 0 # -6 367 -13062 0 # -6 368 -13063 0 # -6 369 -13064 0 # -6 370 -13065 0 # -6 371 -13066 0 # -6 372 -13067 0 # -6 373 -13068 0 # -6 374 -13069 0 # -6 375 -13070 0 # -6 376 -13071 0 # -6 377 -13072 0 # -6 378 -13073 0 # -6 379 -13074 0 # -6 380 -13075 0 # -6 381 -13076 0 # -6 382 -13077 0 # -6 383 -13078 0 # -6 384 -13079 0 # -6 385 -13080 0 # -6 386 -13081 0 # -6 387 -13082 0 # -6 388 -13083 0 # -6 389 -13084 0 # -6 390 -13085 0 # -6 391 -13086 0 # -6 392 -13087 0 # -6 393 -13088 0 # -6 394 -13089 0 # -6 395 -13090 0 # -6 396 -13091 0 # -6 397 -13092 0 # -6 398 -13093 0 # -6 399 -13094 0 # -6 400 -13095 0 # -6 401 -13096 0 # -6 402 -13097 0 # -6 403 -13098 0 # -6 404 -13099 0 # -6 405 -13100 0 # -6 406 -13101 0 # -6 407 -13102 0 # -6 408 -13103 0 # -6 409 -13104 0 # -6 410 -13105 0 # -6 411 -13106 0 # -6 412 -13107 0 # -6 413 -13108 0 # -6 414 -13109 0 # -6 415 -13110 0 # -6 416 -13111 0 # -6 417 -13112 0 # -6 418 -13113 0 # -6 419 -13114 0 # -6 420 -13115 0 # -6 421 -13116 0 # -6 422 -13117 0 # -6 423 -13118 0 # -6 424 -13119 0 # -6 425 -13120 0 # -6 426 -13121 0 # -6 427 -13122 0 # -6 428 -13123 0 # -6 429 -13124 0 # -6 430 -13125 0 # -6 431 -13126 0 # -6 432 -13127 0 # -6 433 -13128 0 # -6 434 -13129 0 # -6 435 -13130 0 # -6 436 -13131 0 # -6 437 -13132 0 # -6 438 -13133 0 # -6 439 -13134 0 # -6 440 -13135 0 # -6 441 -13136 0 # -6 442 -13137 0 # -6 443 -13138 0 # -6 444 -13139 0 # -6 445 -13140 0 # -6 446 -13141 0 # -6 447 -13142 0 # -6 448 -13143 0 # -6 449 -13144 0 # -6 450 -13145 0 # -6 451 -13146 0 # -6 452 -13147 0 # -6 453 -13148 0 # -6 454 -13149 0 # -6 455 -13150 0 # -6 456 -13151 0 # -6 457 -13152 0 # -6 458 -13153 0 # -6 459 -13154 0 # -6 460 -13155 0 # -6 461 -13156 0 # -6 462 -13157 0 # -6 463 -13158 0 # -6 464 -13159 0 # -6 465 -13160 0 # -6 466 -13161 0 # -6 467 -13162 0 # -6 468 -13163 0 # -6 469 -13164 0 # -6 470 -13165 0 # -6 471 -13166 0 # -6 472 -13167 0 # -6 473 -13168 0 # -6 474 -13169 0 # -6 475 -13170 0 # -6 476 -13171 0 # -6 477 -13172 0 # -6 478 -13173 0 # -6 479 -13174 0 # -6 480 -13175 0 # -6 481 -13176 0 # -6 482 -13177 0 # -6 483 -13178 0 # -6 484 -13179 0 # -6 485 -13180 0 # -6 486 -13181 0 # -6 487 -13182 0 # -6 488 -13183 0 # -6 489 -13184 0 # -6 490 -13185 0 # -6 491 -13186 0 # -6 492 -13187 0 # -6 493 -13188 0 # -6 494 -13189 0 # -6 495 -13190 0 # -6 496 -13191 0 # -6 497 -13192 0 # -6 498 -13193 0 # -6 499 -13194 0 # -6 500 -13195 0 # -6 501 -13196 0 # -6 502 -13197 0 # -6 503 -13198 0 # -6 504 -13199 0 # -6 505 -13200 0 # -6 506 -13201 0 # -6 507 -13202 0 # -6 508 -13203 0 # -6 509 -13204 0 # -6 510 -13205 0 # -6 511 -13206 0 # -6 512 -13207 0 # -6 513 -13208 0 # -6 514 -13209 0 # -6 515 -13210 0 # -6 516 -13211 0 # -6 517 -13212 0 # -6 518 -13213 0 # -6 519 -13214 0 # -6 520 -13215 0 # -6 521 -13216 0 # -6 522 -13217 0 # -6 523 -13218 0 # -6 524 -13219 0 # -6 525 -13220 0 # -6 526 -13221 0 # -6 527 -13222 0 # -6 528 -13223 0 # -6 529 -13224 0 # -6 530 -13225 0 # -6 531 -13226 0 # -6 532 -13227 0 # -6 533 -13228 0 # -6 534 -13229 0 # -6 535 -13230 0 # -6 536 -13231 0 # -6 537 -13232 0 # -6 538 -13233 0 # -6 539 -13234 0 # -6 540 -13235 0 # -6 541 -13236 0 # -6 542 -13237 0 # -6 543 -13238 0 # -6 544 -13239 0 # -6 545 -13240 0 # -6 546 -13241 0 # -6 547 -13242 0 # -6 548 -13243 0 # -6 549 -13244 0 # -6 550 -13245 0 # -6 551 -13246 0 # -6 552 -13247 0 # -6 553 -13248 0 # -6 554 -13249 0 # -6 555 -13250 0 # -6 556 -13251 0 # -6 557 -13252 0 # -6 558 -13253 0 # -6 559 -13254 0 # -6 560 -13255 0 # -6 561 -13256 0 # -6 562 -13257 0 # -6 563 -13258 0 # -6 564 -13259 0 # -6 565 -13260 0 # -6 566 -13261 0 # -6 567 -13262 0 # -6 568 -13263 0 # -6 569 -13264 0 # -6 570 -13265 0 # -6 571 -13266 0 # -6 572 -13267 0 # -6 573 -13268 0 # -6 574 -13269 0 # -6 575 -13270 0 # -6 576 -13271 0 # -5 0 -13272 0 # -5 1 -13273 0 # -5 2 -13274 0 # -5 3 -13275 1 # -5 4 -13276 1 # -5 5 -13277 3 # -5 6 -13278 10 # -5 7 -13279 2 # -5 8 -13280 2 # -5 9 -13281 3 # -5 10 -13282 3 # -5 11 -13283 3 # -5 12 -13284 3 # -5 13 -13285 3 # -5 14 -13286 4 # -5 15 -13287 4 # -5 16 -13288 4 # -5 17 -13289 5 # -5 18 -13290 5 # -5 19 -13291 5 # -5 20 -13292 5 # -5 21 -13293 5 # -5 22 -13294 5 # -5 23 -13295 5 # -5 24 -13296 6 # -5 25 -13297 6 # -5 26 -13298 6 # -5 27 -13299 6 # -5 28 -13300 6 # -5 29 -13301 7 # -5 30 -13302 7 # -5 31 -13303 7 # -5 32 -13304 7 # -5 33 -13305 7 # -5 34 -13306 7 # -5 35 -13307 7 # -5 36 -13308 8 # -5 37 -13309 7 # -5 38 -13310 7 # -5 39 -13311 7 # -5 40 -13312 8 # -5 41 -13313 9 # -5 42 -13314 8 # -5 43 -13315 8 # -5 44 -13316 9 # -5 45 -13317 8 # -5 46 -13318 8 # -5 47 -13319 9 # -5 48 -13320 10 # -5 49 -13321 8 # -5 50 -13322 10 # -5 51 -13323 9 # -5 52 -13324 10 # -5 53 -13325 10 # -5 54 -13326 8 # -5 55 -13327 12 # -5 56 -13328 10 # -5 57 -13329 10 # -5 58 -13330 11 # -5 59 -13331 10 # -5 60 -13332 10 # -5 61 -13333 14 # -5 62 -13334 7 # -5 63 -13335 11 # -5 64 -13336 8 # -5 65 -13337 11 # -5 66 -13338 14 # -5 67 -13339 12 # -5 68 -13340 12 # -5 69 -13341 8 # -5 70 -13342 9 # -5 71 -13343 8 # -5 72 -13344 10 # -5 73 -13345 11 # -5 74 -13346 9 # -5 75 -13347 7 # -5 76 -13348 7 # -5 77 -13349 8 # -5 78 -13350 17 # -5 79 -13351 6 # -5 80 -13352 7 # -5 81 -13353 6 # -5 82 -13354 8 # -5 83 -13355 0 # -5 84 -13356 4 # -5 85 -13357 0 # -5 86 -13358 0 # -5 87 -13359 10 # -5 88 -13360 23 # -5 89 -13361 5 # -5 90 -13362 12 # -5 91 -13363 0 # -5 92 -13364 22 # -5 93 -13365 0 # -5 94 -13366 0 # -5 95 -13367 0 # -5 96 -13368 0 # -5 97 -13369 0 # -5 98 -13370 0 # -5 99 -13371 0 # -5 100 -13372 0 # -5 101 -13373 0 # -5 102 -13374 0 # -5 103 -13375 0 # -5 104 -13376 0 # -5 105 -13377 0 # -5 106 -13378 0 # -5 107 -13379 0 # -5 108 -13380 0 # -5 109 -13381 0 # -5 110 -13382 0 # -5 111 -13383 0 # -5 112 -13384 0 # -5 113 -13385 0 # -5 114 -13386 0 # -5 115 -13387 0 # -5 116 -13388 0 # -5 117 -13389 0 # -5 118 -13390 0 # -5 119 -13391 0 # -5 120 -13392 0 # -5 121 -13393 0 # -5 122 -13394 0 # -5 123 -13395 0 # -5 124 -13396 0 # -5 125 -13397 0 # -5 126 -13398 0 # -5 127 -13399 0 # -5 128 -13400 0 # -5 129 -13401 0 # -5 130 -13402 0 # -5 131 -13403 0 # -5 132 -13404 0 # -5 133 -13405 0 # -5 134 -13406 0 # -5 135 -13407 0 # -5 136 -13408 0 # -5 137 -13409 0 # -5 138 -13410 0 # -5 139 -13411 0 # -5 140 -13412 0 # -5 141 -13413 0 # -5 142 -13414 0 # -5 143 -13415 0 # -5 144 -13416 0 # -5 145 -13417 0 # -5 146 -13418 0 # -5 147 -13419 0 # -5 148 -13420 0 # -5 149 -13421 0 # -5 150 -13422 0 # -5 151 -13423 0 # -5 152 -13424 0 # -5 153 -13425 0 # -5 154 -13426 0 # -5 155 -13427 0 # -5 156 -13428 0 # -5 157 -13429 0 # -5 158 -13430 0 # -5 159 -13431 0 # -5 160 -13432 0 # -5 161 -13433 0 # -5 162 -13434 0 # -5 163 -13435 0 # -5 164 -13436 0 # -5 165 -13437 0 # -5 166 -13438 0 # -5 167 -13439 0 # -5 168 -13440 0 # -5 169 -13441 0 # -5 170 -13442 0 # -5 171 -13443 0 # -5 172 -13444 0 # -5 173 -13445 0 # -5 174 -13446 0 # -5 175 -13447 0 # -5 176 -13448 0 # -5 177 -13449 0 # -5 178 -13450 0 # -5 179 -13451 0 # -5 180 -13452 0 # -5 181 -13453 0 # -5 182 -13454 0 # -5 183 -13455 0 # -5 184 -13456 0 # -5 185 -13457 0 # -5 186 -13458 0 # -5 187 -13459 0 # -5 188 -13460 0 # -5 189 -13461 0 # -5 190 -13462 0 # -5 191 -13463 0 # -5 192 -13464 0 # -5 193 -13465 0 # -5 194 -13466 0 # -5 195 -13467 0 # -5 196 -13468 0 # -5 197 -13469 0 # -5 198 -13470 0 # -5 199 -13471 0 # -5 200 -13472 0 # -5 201 -13473 0 # -5 202 -13474 0 # -5 203 -13475 0 # -5 204 -13476 0 # -5 205 -13477 0 # -5 206 -13478 0 # -5 207 -13479 0 # -5 208 -13480 0 # -5 209 -13481 0 # -5 210 -13482 0 # -5 211 -13483 0 # -5 212 -13484 0 # -5 213 -13485 0 # -5 214 -13486 0 # -5 215 -13487 0 # -5 216 -13488 0 # -5 217 -13489 0 # -5 218 -13490 0 # -5 219 -13491 0 # -5 220 -13492 0 # -5 221 -13493 0 # -5 222 -13494 0 # -5 223 -13495 0 # -5 224 -13496 0 # -5 225 -13497 0 # -5 226 -13498 0 # -5 227 -13499 0 # -5 228 -13500 0 # -5 229 -13501 0 # -5 230 -13502 0 # -5 231 -13503 0 # -5 232 -13504 0 # -5 233 -13505 0 # -5 234 -13506 0 # -5 235 -13507 0 # -5 236 -13508 0 # -5 237 -13509 0 # -5 238 -13510 0 # -5 239 -13511 0 # -5 240 -13512 0 # -5 241 -13513 0 # -5 242 -13514 0 # -5 243 -13515 0 # -5 244 -13516 0 # -5 245 -13517 0 # -5 246 -13518 0 # -5 247 -13519 0 # -5 248 -13520 0 # -5 249 -13521 0 # -5 250 -13522 0 # -5 251 -13523 0 # -5 252 -13524 0 # -5 253 -13525 0 # -5 254 -13526 0 # -5 255 -13527 0 # -5 256 -13528 0 # -5 257 -13529 0 # -5 258 -13530 0 # -5 259 -13531 0 # -5 260 -13532 0 # -5 261 -13533 0 # -5 262 -13534 0 # -5 263 -13535 0 # -5 264 -13536 0 # -5 265 -13537 0 # -5 266 -13538 0 # -5 267 -13539 0 # -5 268 -13540 0 # -5 269 -13541 0 # -5 270 -13542 0 # -5 271 -13543 0 # -5 272 -13544 0 # -5 273 -13545 0 # -5 274 -13546 0 # -5 275 -13547 0 # -5 276 -13548 0 # -5 277 -13549 0 # -5 278 -13550 0 # -5 279 -13551 0 # -5 280 -13552 0 # -5 281 -13553 0 # -5 282 -13554 0 # -5 283 -13555 0 # -5 284 -13556 0 # -5 285 -13557 0 # -5 286 -13558 0 # -5 287 -13559 0 # -5 288 -13560 0 # -5 289 -13561 0 # -5 290 -13562 0 # -5 291 -13563 0 # -5 292 -13564 0 # -5 293 -13565 0 # -5 294 -13566 0 # -5 295 -13567 0 # -5 296 -13568 0 # -5 297 -13569 0 # -5 298 -13570 0 # -5 299 -13571 0 # -5 300 -13572 0 # -5 301 -13573 0 # -5 302 -13574 0 # -5 303 -13575 0 # -5 304 -13576 0 # -5 305 -13577 0 # -5 306 -13578 0 # -5 307 -13579 0 # -5 308 -13580 0 # -5 309 -13581 0 # -5 310 -13582 0 # -5 311 -13583 0 # -5 312 -13584 0 # -5 313 -13585 0 # -5 314 -13586 0 # -5 315 -13587 0 # -5 316 -13588 0 # -5 317 -13589 0 # -5 318 -13590 0 # -5 319 -13591 0 # -5 320 -13592 0 # -5 321 -13593 0 # -5 322 -13594 0 # -5 323 -13595 0 # -5 324 -13596 0 # -5 325 -13597 0 # -5 326 -13598 0 # -5 327 -13599 0 # -5 328 -13600 0 # -5 329 -13601 0 # -5 330 -13602 0 # -5 331 -13603 0 # -5 332 -13604 0 # -5 333 -13605 0 # -5 334 -13606 0 # -5 335 -13607 0 # -5 336 -13608 0 # -5 337 -13609 0 # -5 338 -13610 0 # -5 339 -13611 0 # -5 340 -13612 0 # -5 341 -13613 0 # -5 342 -13614 0 # -5 343 -13615 0 # -5 344 -13616 0 # -5 345 -13617 0 # -5 346 -13618 0 # -5 347 -13619 0 # -5 348 -13620 0 # -5 349 -13621 0 # -5 350 -13622 0 # -5 351 -13623 0 # -5 352 -13624 0 # -5 353 -13625 0 # -5 354 -13626 0 # -5 355 -13627 0 # -5 356 -13628 0 # -5 357 -13629 0 # -5 358 -13630 0 # -5 359 -13631 0 # -5 360 -13632 0 # -5 361 -13633 0 # -5 362 -13634 0 # -5 363 -13635 0 # -5 364 -13636 0 # -5 365 -13637 0 # -5 366 -13638 0 # -5 367 -13639 0 # -5 368 -13640 0 # -5 369 -13641 0 # -5 370 -13642 0 # -5 371 -13643 0 # -5 372 -13644 0 # -5 373 -13645 0 # -5 374 -13646 0 # -5 375 -13647 0 # -5 376 -13648 0 # -5 377 -13649 0 # -5 378 -13650 0 # -5 379 -13651 0 # -5 380 -13652 0 # -5 381 -13653 0 # -5 382 -13654 0 # -5 383 -13655 0 # -5 384 -13656 0 # -5 385 -13657 0 # -5 386 -13658 0 # -5 387 -13659 0 # -5 388 -13660 0 # -5 389 -13661 0 # -5 390 -13662 0 # -5 391 -13663 0 # -5 392 -13664 0 # -5 393 -13665 0 # -5 394 -13666 0 # -5 395 -13667 0 # -5 396 -13668 0 # -5 397 -13669 0 # -5 398 -13670 0 # -5 399 -13671 0 # -5 400 -13672 0 # -5 401 -13673 0 # -5 402 -13674 0 # -5 403 -13675 0 # -5 404 -13676 0 # -5 405 -13677 0 # -5 406 -13678 0 # -5 407 -13679 0 # -5 408 -13680 0 # -5 409 -13681 0 # -5 410 -13682 0 # -5 411 -13683 0 # -5 412 -13684 0 # -5 413 -13685 0 # -5 414 -13686 0 # -5 415 -13687 0 # -5 416 -13688 0 # -5 417 -13689 0 # -5 418 -13690 0 # -5 419 -13691 0 # -5 420 -13692 0 # -5 421 -13693 0 # -5 422 -13694 0 # -5 423 -13695 0 # -5 424 -13696 0 # -5 425 -13697 0 # -5 426 -13698 0 # -5 427 -13699 0 # -5 428 -13700 0 # -5 429 -13701 0 # -5 430 -13702 0 # -5 431 -13703 0 # -5 432 -13704 0 # -5 433 -13705 0 # -5 434 -13706 0 # -5 435 -13707 0 # -5 436 -13708 0 # -5 437 -13709 0 # -5 438 -13710 0 # -5 439 -13711 0 # -5 440 -13712 0 # -5 441 -13713 0 # -5 442 -13714 0 # -5 443 -13715 0 # -5 444 -13716 0 # -5 445 -13717 0 # -5 446 -13718 0 # -5 447 -13719 0 # -5 448 -13720 0 # -5 449 -13721 0 # -5 450 -13722 0 # -5 451 -13723 0 # -5 452 -13724 0 # -5 453 -13725 0 # -5 454 -13726 0 # -5 455 -13727 0 # -5 456 -13728 0 # -5 457 -13729 0 # -5 458 -13730 0 # -5 459 -13731 0 # -5 460 -13732 0 # -5 461 -13733 0 # -5 462 -13734 0 # -5 463 -13735 0 # -5 464 -13736 0 # -5 465 -13737 0 # -5 466 -13738 0 # -5 467 -13739 0 # -5 468 -13740 0 # -5 469 -13741 0 # -5 470 -13742 0 # -5 471 -13743 0 # -5 472 -13744 0 # -5 473 -13745 0 # -5 474 -13746 0 # -5 475 -13747 0 # -5 476 -13748 0 # -5 477 -13749 0 # -5 478 -13750 0 # -5 479 -13751 0 # -5 480 -13752 0 # -5 481 -13753 0 # -5 482 -13754 0 # -5 483 -13755 0 # -5 484 -13756 0 # -5 485 -13757 0 # -5 486 -13758 0 # -5 487 -13759 0 # -5 488 -13760 0 # -5 489 -13761 0 # -5 490 -13762 0 # -5 491 -13763 0 # -5 492 -13764 0 # -5 493 -13765 0 # -5 494 -13766 0 # -5 495 -13767 0 # -5 496 -13768 0 # -5 497 -13769 0 # -5 498 -13770 0 # -5 499 -13771 0 # -5 500 -13772 0 # -5 501 -13773 0 # -5 502 -13774 0 # -5 503 -13775 0 # -5 504 -13776 0 # -5 505 -13777 0 # -5 506 -13778 0 # -5 507 -13779 0 # -5 508 -13780 0 # -5 509 -13781 0 # -5 510 -13782 0 # -5 511 -13783 0 # -5 512 -13784 0 # -5 513 -13785 0 # -5 514 -13786 0 # -5 515 -13787 0 # -5 516 -13788 0 # -5 517 -13789 0 # -5 518 -13790 0 # -5 519 -13791 0 # -5 520 -13792 0 # -5 521 -13793 0 # -5 522 -13794 0 # -5 523 -13795 0 # -5 524 -13796 0 # -5 525 -13797 0 # -5 526 -13798 0 # -5 527 -13799 0 # -5 528 -13800 0 # -5 529 -13801 0 # -5 530 -13802 0 # -5 531 -13803 0 # -5 532 -13804 0 # -5 533 -13805 0 # -5 534 -13806 0 # -5 535 -13807 0 # -5 536 -13808 0 # -5 537 -13809 0 # -5 538 -13810 0 # -5 539 -13811 0 # -5 540 -13812 0 # -5 541 -13813 0 # -5 542 -13814 0 # -5 543 -13815 0 # -5 544 -13816 0 # -5 545 -13817 0 # -5 546 -13818 0 # -5 547 -13819 0 # -5 548 -13820 0 # -5 549 -13821 0 # -5 550 -13822 0 # -5 551 -13823 0 # -5 552 -13824 0 # -5 553 -13825 0 # -5 554 -13826 0 # -5 555 -13827 0 # -5 556 -13828 0 # -5 557 -13829 0 # -5 558 -13830 0 # -5 559 -13831 0 # -5 560 -13832 0 # -5 561 -13833 0 # -5 562 -13834 0 # -5 563 -13835 0 # -5 564 -13836 0 # -5 565 -13837 0 # -5 566 -13838 0 # -5 567 -13839 0 # -5 568 -13840 0 # -5 569 -13841 0 # -5 570 -13842 0 # -5 571 -13843 0 # -5 572 -13844 0 # -5 573 -13845 0 # -5 574 -13846 0 # -5 575 -13847 0 # -5 576 -13848 0 # -4 0 -13849 0 # -4 1 -13850 0 # -4 2 -13851 2 # -4 3 -13852 2 # -4 4 -13853 1 # -4 5 -13854 3 # -4 6 -13855 9 # -4 7 -13856 3 # -4 8 -13857 3 # -4 9 -13858 3 # -4 10 -13859 3 # -4 11 -13860 4 # -4 12 -13861 3 # -4 13 -13862 4 # -4 14 -13863 4 # -4 15 -13864 4 # -4 16 -13865 4 # -4 17 -13866 5 # -4 18 -13867 5 # -4 19 -13868 5 # -4 20 -13869 5 # -4 21 -13870 5 # -4 22 -13871 5 # -4 23 -13872 5 # -4 24 -13873 5 # -4 25 -13874 6 # -4 26 -13875 6 # -4 27 -13876 6 # -4 28 -13877 6 # -4 29 -13878 6 # -4 30 -13879 7 # -4 31 -13880 7 # -4 32 -13881 7 # -4 33 -13882 7 # -4 34 -13883 7 # -4 35 -13884 7 # -4 36 -13885 8 # -4 37 -13886 8 # -4 38 -13887 8 # -4 39 -13888 9 # -4 40 -13889 8 # -4 41 -13890 9 # -4 42 -13891 9 # -4 43 -13892 9 # -4 44 -13893 9 # -4 45 -13894 8 # -4 46 -13895 8 # -4 47 -13896 9 # -4 48 -13897 10 # -4 49 -13898 9 # -4 50 -13899 9 # -4 51 -13900 10 # -4 52 -13901 9 # -4 53 -13902 9 # -4 54 -13903 11 # -4 55 -13904 11 # -4 56 -13905 11 # -4 57 -13906 9 # -4 58 -13907 11 # -4 59 -13908 11 # -4 60 -13909 10 # -4 61 -13910 14 # -4 62 -13911 8 # -4 63 -13912 12 # -4 64 -13913 12 # -4 65 -13914 11 # -4 66 -13915 14 # -4 67 -13916 11 # -4 68 -13917 13 # -4 69 -13918 11 # -4 70 -13919 13 # -4 71 -13920 9 # -4 72 -13921 8 # -4 73 -13922 10 # -4 74 -13923 8 # -4 75 -13924 6 # -4 76 -13925 11 # -4 77 -13926 7 # -4 78 -13927 17 # -4 79 -13928 10 # -4 80 -13929 10 # -4 81 -13930 13 # -4 82 -13931 8 # -4 83 -13932 0 # -4 84 -13933 12 # -4 85 -13934 0 # -4 86 -13935 0 # -4 87 -13936 5 # -4 88 -13937 29 # -4 89 -13938 8 # -4 90 -13939 14 # -4 91 -13940 0 # -4 92 -13941 33 # -4 93 -13942 0 # -4 94 -13943 0 # -4 95 -13944 0 # -4 96 -13945 0 # -4 97 -13946 0 # -4 98 -13947 0 # -4 99 -13948 0 # -4 100 -13949 0 # -4 101 -13950 0 # -4 102 -13951 0 # -4 103 -13952 0 # -4 104 -13953 0 # -4 105 -13954 0 # -4 106 -13955 0 # -4 107 -13956 0 # -4 108 -13957 0 # -4 109 -13958 0 # -4 110 -13959 0 # -4 111 -13960 0 # -4 112 -13961 0 # -4 113 -13962 0 # -4 114 -13963 0 # -4 115 -13964 0 # -4 116 -13965 0 # -4 117 -13966 0 # -4 118 -13967 0 # -4 119 -13968 0 # -4 120 -13969 0 # -4 121 -13970 0 # -4 122 -13971 0 # -4 123 -13972 0 # -4 124 -13973 0 # -4 125 -13974 0 # -4 126 -13975 0 # -4 127 -13976 0 # -4 128 -13977 0 # -4 129 -13978 0 # -4 130 -13979 0 # -4 131 -13980 0 # -4 132 -13981 0 # -4 133 -13982 0 # -4 134 -13983 0 # -4 135 -13984 0 # -4 136 -13985 0 # -4 137 -13986 0 # -4 138 -13987 0 # -4 139 -13988 0 # -4 140 -13989 0 # -4 141 -13990 0 # -4 142 -13991 0 # -4 143 -13992 0 # -4 144 -13993 0 # -4 145 -13994 0 # -4 146 -13995 0 # -4 147 -13996 0 # -4 148 -13997 0 # -4 149 -13998 0 # -4 150 -13999 0 # -4 151 -14000 0 # -4 152 -14001 0 # -4 153 -14002 0 # -4 154 -14003 0 # -4 155 -14004 0 # -4 156 -14005 0 # -4 157 -14006 0 # -4 158 -14007 0 # -4 159 -14008 0 # -4 160 -14009 0 # -4 161 -14010 0 # -4 162 -14011 0 # -4 163 -14012 0 # -4 164 -14013 0 # -4 165 -14014 0 # -4 166 -14015 0 # -4 167 -14016 0 # -4 168 -14017 0 # -4 169 -14018 0 # -4 170 -14019 0 # -4 171 -14020 0 # -4 172 -14021 0 # -4 173 -14022 0 # -4 174 -14023 0 # -4 175 -14024 0 # -4 176 -14025 0 # -4 177 -14026 0 # -4 178 -14027 0 # -4 179 -14028 0 # -4 180 -14029 0 # -4 181 -14030 0 # -4 182 -14031 0 # -4 183 -14032 0 # -4 184 -14033 0 # -4 185 -14034 0 # -4 186 -14035 0 # -4 187 -14036 0 # -4 188 -14037 0 # -4 189 -14038 0 # -4 190 -14039 0 # -4 191 -14040 0 # -4 192 -14041 0 # -4 193 -14042 0 # -4 194 -14043 0 # -4 195 -14044 0 # -4 196 -14045 0 # -4 197 -14046 0 # -4 198 -14047 0 # -4 199 -14048 0 # -4 200 -14049 0 # -4 201 -14050 0 # -4 202 -14051 0 # -4 203 -14052 0 # -4 204 -14053 0 # -4 205 -14054 0 # -4 206 -14055 0 # -4 207 -14056 0 # -4 208 -14057 0 # -4 209 -14058 0 # -4 210 -14059 0 # -4 211 -14060 0 # -4 212 -14061 0 # -4 213 -14062 0 # -4 214 -14063 0 # -4 215 -14064 0 # -4 216 -14065 0 # -4 217 -14066 0 # -4 218 -14067 0 # -4 219 -14068 0 # -4 220 -14069 0 # -4 221 -14070 0 # -4 222 -14071 0 # -4 223 -14072 0 # -4 224 -14073 0 # -4 225 -14074 0 # -4 226 -14075 0 # -4 227 -14076 0 # -4 228 -14077 0 # -4 229 -14078 0 # -4 230 -14079 0 # -4 231 -14080 0 # -4 232 -14081 0 # -4 233 -14082 0 # -4 234 -14083 0 # -4 235 -14084 0 # -4 236 -14085 0 # -4 237 -14086 0 # -4 238 -14087 0 # -4 239 -14088 0 # -4 240 -14089 0 # -4 241 -14090 0 # -4 242 -14091 0 # -4 243 -14092 0 # -4 244 -14093 0 # -4 245 -14094 0 # -4 246 -14095 0 # -4 247 -14096 0 # -4 248 -14097 0 # -4 249 -14098 0 # -4 250 -14099 0 # -4 251 -14100 0 # -4 252 -14101 0 # -4 253 -14102 0 # -4 254 -14103 0 # -4 255 -14104 0 # -4 256 -14105 0 # -4 257 -14106 0 # -4 258 -14107 0 # -4 259 -14108 0 # -4 260 -14109 0 # -4 261 -14110 0 # -4 262 -14111 0 # -4 263 -14112 0 # -4 264 -14113 0 # -4 265 -14114 0 # -4 266 -14115 0 # -4 267 -14116 0 # -4 268 -14117 0 # -4 269 -14118 0 # -4 270 -14119 0 # -4 271 -14120 0 # -4 272 -14121 0 # -4 273 -14122 0 # -4 274 -14123 0 # -4 275 -14124 0 # -4 276 -14125 0 # -4 277 -14126 0 # -4 278 -14127 0 # -4 279 -14128 0 # -4 280 -14129 0 # -4 281 -14130 0 # -4 282 -14131 0 # -4 283 -14132 0 # -4 284 -14133 0 # -4 285 -14134 0 # -4 286 -14135 0 # -4 287 -14136 0 # -4 288 -14137 0 # -4 289 -14138 0 # -4 290 -14139 0 # -4 291 -14140 0 # -4 292 -14141 0 # -4 293 -14142 0 # -4 294 -14143 0 # -4 295 -14144 0 # -4 296 -14145 0 # -4 297 -14146 0 # -4 298 -14147 0 # -4 299 -14148 0 # -4 300 -14149 0 # -4 301 -14150 0 # -4 302 -14151 0 # -4 303 -14152 0 # -4 304 -14153 0 # -4 305 -14154 0 # -4 306 -14155 0 # -4 307 -14156 0 # -4 308 -14157 0 # -4 309 -14158 0 # -4 310 -14159 0 # -4 311 -14160 0 # -4 312 -14161 0 # -4 313 -14162 0 # -4 314 -14163 0 # -4 315 -14164 0 # -4 316 -14165 0 # -4 317 -14166 0 # -4 318 -14167 0 # -4 319 -14168 0 # -4 320 -14169 0 # -4 321 -14170 0 # -4 322 -14171 0 # -4 323 -14172 0 # -4 324 -14173 0 # -4 325 -14174 0 # -4 326 -14175 0 # -4 327 -14176 0 # -4 328 -14177 0 # -4 329 -14178 0 # -4 330 -14179 0 # -4 331 -14180 0 # -4 332 -14181 0 # -4 333 -14182 0 # -4 334 -14183 0 # -4 335 -14184 0 # -4 336 -14185 0 # -4 337 -14186 0 # -4 338 -14187 0 # -4 339 -14188 0 # -4 340 -14189 0 # -4 341 -14190 0 # -4 342 -14191 0 # -4 343 -14192 0 # -4 344 -14193 0 # -4 345 -14194 0 # -4 346 -14195 0 # -4 347 -14196 0 # -4 348 -14197 0 # -4 349 -14198 0 # -4 350 -14199 0 # -4 351 -14200 0 # -4 352 -14201 0 # -4 353 -14202 0 # -4 354 -14203 0 # -4 355 -14204 0 # -4 356 -14205 0 # -4 357 -14206 0 # -4 358 -14207 0 # -4 359 -14208 0 # -4 360 -14209 0 # -4 361 -14210 0 # -4 362 -14211 0 # -4 363 -14212 0 # -4 364 -14213 0 # -4 365 -14214 0 # -4 366 -14215 0 # -4 367 -14216 0 # -4 368 -14217 0 # -4 369 -14218 0 # -4 370 -14219 0 # -4 371 -14220 0 # -4 372 -14221 0 # -4 373 -14222 0 # -4 374 -14223 0 # -4 375 -14224 0 # -4 376 -14225 0 # -4 377 -14226 0 # -4 378 -14227 0 # -4 379 -14228 0 # -4 380 -14229 0 # -4 381 -14230 0 # -4 382 -14231 0 # -4 383 -14232 0 # -4 384 -14233 0 # -4 385 -14234 0 # -4 386 -14235 0 # -4 387 -14236 0 # -4 388 -14237 0 # -4 389 -14238 0 # -4 390 -14239 0 # -4 391 -14240 0 # -4 392 -14241 0 # -4 393 -14242 0 # -4 394 -14243 0 # -4 395 -14244 0 # -4 396 -14245 0 # -4 397 -14246 0 # -4 398 -14247 0 # -4 399 -14248 0 # -4 400 -14249 0 # -4 401 -14250 0 # -4 402 -14251 0 # -4 403 -14252 0 # -4 404 -14253 0 # -4 405 -14254 0 # -4 406 -14255 0 # -4 407 -14256 0 # -4 408 -14257 0 # -4 409 -14258 0 # -4 410 -14259 0 # -4 411 -14260 0 # -4 412 -14261 0 # -4 413 -14262 0 # -4 414 -14263 0 # -4 415 -14264 0 # -4 416 -14265 0 # -4 417 -14266 0 # -4 418 -14267 0 # -4 419 -14268 0 # -4 420 -14269 0 # -4 421 -14270 0 # -4 422 -14271 0 # -4 423 -14272 0 # -4 424 -14273 0 # -4 425 -14274 0 # -4 426 -14275 0 # -4 427 -14276 0 # -4 428 -14277 0 # -4 429 -14278 0 # -4 430 -14279 0 # -4 431 -14280 0 # -4 432 -14281 0 # -4 433 -14282 0 # -4 434 -14283 0 # -4 435 -14284 0 # -4 436 -14285 0 # -4 437 -14286 0 # -4 438 -14287 0 # -4 439 -14288 0 # -4 440 -14289 0 # -4 441 -14290 0 # -4 442 -14291 0 # -4 443 -14292 0 # -4 444 -14293 0 # -4 445 -14294 0 # -4 446 -14295 0 # -4 447 -14296 0 # -4 448 -14297 0 # -4 449 -14298 0 # -4 450 -14299 0 # -4 451 -14300 0 # -4 452 -14301 0 # -4 453 -14302 0 # -4 454 -14303 0 # -4 455 -14304 0 # -4 456 -14305 0 # -4 457 -14306 0 # -4 458 -14307 0 # -4 459 -14308 0 # -4 460 -14309 0 # -4 461 -14310 0 # -4 462 -14311 0 # -4 463 -14312 0 # -4 464 -14313 0 # -4 465 -14314 0 # -4 466 -14315 0 # -4 467 -14316 0 # -4 468 -14317 0 # -4 469 -14318 0 # -4 470 -14319 0 # -4 471 -14320 0 # -4 472 -14321 0 # -4 473 -14322 0 # -4 474 -14323 0 # -4 475 -14324 0 # -4 476 -14325 0 # -4 477 -14326 0 # -4 478 -14327 0 # -4 479 -14328 0 # -4 480 -14329 0 # -4 481 -14330 0 # -4 482 -14331 0 # -4 483 -14332 0 # -4 484 -14333 0 # -4 485 -14334 0 # -4 486 -14335 0 # -4 487 -14336 0 # -4 488 -14337 0 # -4 489 -14338 0 # -4 490 -14339 0 # -4 491 -14340 0 # -4 492 -14341 0 # -4 493 -14342 0 # -4 494 -14343 0 # -4 495 -14344 0 # -4 496 -14345 0 # -4 497 -14346 0 # -4 498 -14347 0 # -4 499 -14348 0 # -4 500 -14349 0 # -4 501 -14350 0 # -4 502 -14351 0 # -4 503 -14352 0 # -4 504 -14353 0 # -4 505 -14354 0 # -4 506 -14355 0 # -4 507 -14356 0 # -4 508 -14357 0 # -4 509 -14358 0 # -4 510 -14359 0 # -4 511 -14360 0 # -4 512 -14361 0 # -4 513 -14362 0 # -4 514 -14363 0 # -4 515 -14364 0 # -4 516 -14365 0 # -4 517 -14366 0 # -4 518 -14367 0 # -4 519 -14368 0 # -4 520 -14369 0 # -4 521 -14370 0 # -4 522 -14371 0 # -4 523 -14372 0 # -4 524 -14373 0 # -4 525 -14374 0 # -4 526 -14375 0 # -4 527 -14376 0 # -4 528 -14377 0 # -4 529 -14378 0 # -4 530 -14379 0 # -4 531 -14380 0 # -4 532 -14381 0 # -4 533 -14382 0 # -4 534 -14383 0 # -4 535 -14384 0 # -4 536 -14385 0 # -4 537 -14386 0 # -4 538 -14387 0 # -4 539 -14388 0 # -4 540 -14389 0 # -4 541 -14390 0 # -4 542 -14391 0 # -4 543 -14392 0 # -4 544 -14393 0 # -4 545 -14394 0 # -4 546 -14395 0 # -4 547 -14396 0 # -4 548 -14397 0 # -4 549 -14398 0 # -4 550 -14399 0 # -4 551 -14400 0 # -4 552 -14401 0 # -4 553 -14402 0 # -4 554 -14403 0 # -4 555 -14404 0 # -4 556 -14405 0 # -4 557 -14406 0 # -4 558 -14407 0 # -4 559 -14408 0 # -4 560 -14409 0 # -4 561 -14410 0 # -4 562 -14411 0 # -4 563 -14412 0 # -4 564 -14413 0 # -4 565 -14414 0 # -4 566 -14415 0 # -4 567 -14416 0 # -4 568 -14417 0 # -4 569 -14418 0 # -4 570 -14419 0 # -4 571 -14420 0 # -4 572 -14421 0 # -4 573 -14422 0 # -4 574 -14423 0 # -4 575 -14424 0 # -4 576 -14425 0 # -3 0 -14426 0 # -3 1 -14427 0 # -3 2 -14428 2 # -3 3 -14429 2 # -3 4 -14430 0 # -3 5 -14431 3 # -3 6 -14432 2 # -3 7 -14433 2 # -3 8 -14434 2 # -3 9 -14435 2 # -3 10 -14436 3 # -3 11 -14437 4 # -3 12 -14438 3 # -3 13 -14439 4 # -3 14 -14440 3 # -3 15 -14441 3 # -3 16 -14442 4 # -3 17 -14443 4 # -3 18 -14444 4 # -3 19 -14445 5 # -3 20 -14446 5 # -3 21 -14447 5 # -3 22 -14448 5 # -3 23 -14449 5 # -3 24 -14450 5 # -3 25 -14451 6 # -3 26 -14452 6 # -3 27 -14453 6 # -3 28 -14454 6 # -3 29 -14455 7 # -3 30 -14456 6 # -3 31 -14457 7 # -3 32 -14458 7 # -3 33 -14459 7 # -3 34 -14460 7 # -3 35 -14461 7 # -3 36 -14462 8 # -3 37 -14463 8 # -3 38 -14464 8 # -3 39 -14465 8 # -3 40 -14466 8 # -3 41 -14467 8 # -3 42 -14468 10 # -3 43 -14469 9 # -3 44 -14470 9 # -3 45 -14471 9 # -3 46 -14472 9 # -3 47 -14473 9 # -3 48 -14474 10 # -3 49 -14475 9 # -3 50 -14476 10 # -3 51 -14477 10 # -3 52 -14478 9 # -3 53 -14479 10 # -3 54 -14480 11 # -3 55 -14481 11 # -3 56 -14482 10 # -3 57 -14483 10 # -3 58 -14484 13 # -3 59 -14485 12 # -3 60 -14486 12 # -3 61 -14487 16 # -3 62 -14488 7 # -3 63 -14489 15 # -3 64 -14490 13 # -3 65 -14491 12 # -3 66 -14492 16 # -3 67 -14493 11 # -3 68 -14494 13 # -3 69 -14495 15 # -3 70 -14496 18 # -3 71 -14497 12 # -3 72 -14498 10 # -3 73 -14499 11 # -3 74 -14500 10 # -3 75 -14501 5 # -3 76 -14502 11 # -3 77 -14503 5 # -3 78 -14504 16 # -3 79 -14505 26 # -3 80 -14506 9 # -3 81 -14507 13 # -3 82 -14508 7 # -3 83 -14509 0 # -3 84 -14510 14 # -3 85 -14511 0 # -3 86 -14512 0 # -3 87 -14513 8 # -3 88 -14514 26 # -3 89 -14515 12 # -3 90 -14516 13 # -3 91 -14517 0 # -3 92 -14518 24 # -3 93 -14519 0 # -3 94 -14520 0 # -3 95 -14521 0 # -3 96 -14522 0 # -3 97 -14523 0 # -3 98 -14524 0 # -3 99 -14525 0 # -3 100 -14526 0 # -3 101 -14527 0 # -3 102 -14528 0 # -3 103 -14529 0 # -3 104 -14530 0 # -3 105 -14531 0 # -3 106 -14532 0 # -3 107 -14533 0 # -3 108 -14534 0 # -3 109 -14535 0 # -3 110 -14536 0 # -3 111 -14537 0 # -3 112 -14538 0 # -3 113 -14539 0 # -3 114 -14540 0 # -3 115 -14541 0 # -3 116 -14542 0 # -3 117 -14543 0 # -3 118 -14544 0 # -3 119 -14545 0 # -3 120 -14546 0 # -3 121 -14547 0 # -3 122 -14548 0 # -3 123 -14549 0 # -3 124 -14550 0 # -3 125 -14551 0 # -3 126 -14552 0 # -3 127 -14553 0 # -3 128 -14554 0 # -3 129 -14555 0 # -3 130 -14556 0 # -3 131 -14557 0 # -3 132 -14558 0 # -3 133 -14559 0 # -3 134 -14560 0 # -3 135 -14561 0 # -3 136 -14562 0 # -3 137 -14563 0 # -3 138 -14564 0 # -3 139 -14565 0 # -3 140 -14566 0 # -3 141 -14567 0 # -3 142 -14568 0 # -3 143 -14569 0 # -3 144 -14570 0 # -3 145 -14571 0 # -3 146 -14572 0 # -3 147 -14573 0 # -3 148 -14574 0 # -3 149 -14575 0 # -3 150 -14576 0 # -3 151 -14577 0 # -3 152 -14578 0 # -3 153 -14579 0 # -3 154 -14580 0 # -3 155 -14581 0 # -3 156 -14582 0 # -3 157 -14583 0 # -3 158 -14584 0 # -3 159 -14585 0 # -3 160 -14586 0 # -3 161 -14587 0 # -3 162 -14588 0 # -3 163 -14589 0 # -3 164 -14590 0 # -3 165 -14591 0 # -3 166 -14592 0 # -3 167 -14593 0 # -3 168 -14594 0 # -3 169 -14595 0 # -3 170 -14596 0 # -3 171 -14597 0 # -3 172 -14598 0 # -3 173 -14599 0 # -3 174 -14600 0 # -3 175 -14601 0 # -3 176 -14602 0 # -3 177 -14603 0 # -3 178 -14604 0 # -3 179 -14605 0 # -3 180 -14606 0 # -3 181 -14607 0 # -3 182 -14608 0 # -3 183 -14609 0 # -3 184 -14610 0 # -3 185 -14611 0 # -3 186 -14612 0 # -3 187 -14613 0 # -3 188 -14614 0 # -3 189 -14615 0 # -3 190 -14616 0 # -3 191 -14617 0 # -3 192 -14618 0 # -3 193 -14619 0 # -3 194 -14620 0 # -3 195 -14621 0 # -3 196 -14622 0 # -3 197 -14623 0 # -3 198 -14624 0 # -3 199 -14625 0 # -3 200 -14626 0 # -3 201 -14627 0 # -3 202 -14628 0 # -3 203 -14629 0 # -3 204 -14630 0 # -3 205 -14631 0 # -3 206 -14632 0 # -3 207 -14633 0 # -3 208 -14634 0 # -3 209 -14635 0 # -3 210 -14636 0 # -3 211 -14637 0 # -3 212 -14638 0 # -3 213 -14639 0 # -3 214 -14640 0 # -3 215 -14641 0 # -3 216 -14642 0 # -3 217 -14643 0 # -3 218 -14644 0 # -3 219 -14645 0 # -3 220 -14646 0 # -3 221 -14647 0 # -3 222 -14648 0 # -3 223 -14649 0 # -3 224 -14650 0 # -3 225 -14651 0 # -3 226 -14652 0 # -3 227 -14653 0 # -3 228 -14654 0 # -3 229 -14655 0 # -3 230 -14656 0 # -3 231 -14657 0 # -3 232 -14658 0 # -3 233 -14659 0 # -3 234 -14660 0 # -3 235 -14661 0 # -3 236 -14662 0 # -3 237 -14663 0 # -3 238 -14664 0 # -3 239 -14665 0 # -3 240 -14666 0 # -3 241 -14667 0 # -3 242 -14668 0 # -3 243 -14669 0 # -3 244 -14670 0 # -3 245 -14671 0 # -3 246 -14672 0 # -3 247 -14673 0 # -3 248 -14674 0 # -3 249 -14675 0 # -3 250 -14676 0 # -3 251 -14677 0 # -3 252 -14678 0 # -3 253 -14679 0 # -3 254 -14680 0 # -3 255 -14681 0 # -3 256 -14682 0 # -3 257 -14683 0 # -3 258 -14684 0 # -3 259 -14685 0 # -3 260 -14686 0 # -3 261 -14687 0 # -3 262 -14688 0 # -3 263 -14689 0 # -3 264 -14690 0 # -3 265 -14691 0 # -3 266 -14692 0 # -3 267 -14693 0 # -3 268 -14694 0 # -3 269 -14695 0 # -3 270 -14696 0 # -3 271 -14697 0 # -3 272 -14698 0 # -3 273 -14699 0 # -3 274 -14700 0 # -3 275 -14701 0 # -3 276 -14702 0 # -3 277 -14703 0 # -3 278 -14704 0 # -3 279 -14705 0 # -3 280 -14706 0 # -3 281 -14707 0 # -3 282 -14708 0 # -3 283 -14709 0 # -3 284 -14710 0 # -3 285 -14711 0 # -3 286 -14712 0 # -3 287 -14713 0 # -3 288 -14714 0 # -3 289 -14715 0 # -3 290 -14716 0 # -3 291 -14717 0 # -3 292 -14718 0 # -3 293 -14719 0 # -3 294 -14720 0 # -3 295 -14721 0 # -3 296 -14722 0 # -3 297 -14723 0 # -3 298 -14724 0 # -3 299 -14725 0 # -3 300 -14726 0 # -3 301 -14727 0 # -3 302 -14728 0 # -3 303 -14729 0 # -3 304 -14730 0 # -3 305 -14731 0 # -3 306 -14732 0 # -3 307 -14733 0 # -3 308 -14734 0 # -3 309 -14735 0 # -3 310 -14736 0 # -3 311 -14737 0 # -3 312 -14738 0 # -3 313 -14739 0 # -3 314 -14740 0 # -3 315 -14741 0 # -3 316 -14742 0 # -3 317 -14743 0 # -3 318 -14744 0 # -3 319 -14745 0 # -3 320 -14746 0 # -3 321 -14747 0 # -3 322 -14748 0 # -3 323 -14749 0 # -3 324 -14750 0 # -3 325 -14751 0 # -3 326 -14752 0 # -3 327 -14753 0 # -3 328 -14754 0 # -3 329 -14755 0 # -3 330 -14756 0 # -3 331 -14757 0 # -3 332 -14758 0 # -3 333 -14759 0 # -3 334 -14760 0 # -3 335 -14761 0 # -3 336 -14762 0 # -3 337 -14763 0 # -3 338 -14764 0 # -3 339 -14765 0 # -3 340 -14766 0 # -3 341 -14767 0 # -3 342 -14768 0 # -3 343 -14769 0 # -3 344 -14770 0 # -3 345 -14771 0 # -3 346 -14772 0 # -3 347 -14773 0 # -3 348 -14774 0 # -3 349 -14775 0 # -3 350 -14776 0 # -3 351 -14777 0 # -3 352 -14778 0 # -3 353 -14779 0 # -3 354 -14780 0 # -3 355 -14781 0 # -3 356 -14782 0 # -3 357 -14783 0 # -3 358 -14784 0 # -3 359 -14785 0 # -3 360 -14786 0 # -3 361 -14787 0 # -3 362 -14788 0 # -3 363 -14789 0 # -3 364 -14790 0 # -3 365 -14791 0 # -3 366 -14792 0 # -3 367 -14793 0 # -3 368 -14794 0 # -3 369 -14795 0 # -3 370 -14796 0 # -3 371 -14797 0 # -3 372 -14798 0 # -3 373 -14799 0 # -3 374 -14800 0 # -3 375 -14801 0 # -3 376 -14802 0 # -3 377 -14803 0 # -3 378 -14804 0 # -3 379 -14805 0 # -3 380 -14806 0 # -3 381 -14807 0 # -3 382 -14808 0 # -3 383 -14809 0 # -3 384 -14810 0 # -3 385 -14811 0 # -3 386 -14812 0 # -3 387 -14813 0 # -3 388 -14814 0 # -3 389 -14815 0 # -3 390 -14816 0 # -3 391 -14817 0 # -3 392 -14818 0 # -3 393 -14819 0 # -3 394 -14820 0 # -3 395 -14821 0 # -3 396 -14822 0 # -3 397 -14823 0 # -3 398 -14824 0 # -3 399 -14825 0 # -3 400 -14826 0 # -3 401 -14827 0 # -3 402 -14828 0 # -3 403 -14829 0 # -3 404 -14830 0 # -3 405 -14831 0 # -3 406 -14832 0 # -3 407 -14833 0 # -3 408 -14834 0 # -3 409 -14835 0 # -3 410 -14836 0 # -3 411 -14837 0 # -3 412 -14838 0 # -3 413 -14839 0 # -3 414 -14840 0 # -3 415 -14841 0 # -3 416 -14842 0 # -3 417 -14843 0 # -3 418 -14844 0 # -3 419 -14845 0 # -3 420 -14846 0 # -3 421 -14847 0 # -3 422 -14848 0 # -3 423 -14849 0 # -3 424 -14850 0 # -3 425 -14851 0 # -3 426 -14852 0 # -3 427 -14853 0 # -3 428 -14854 0 # -3 429 -14855 0 # -3 430 -14856 0 # -3 431 -14857 0 # -3 432 -14858 0 # -3 433 -14859 0 # -3 434 -14860 0 # -3 435 -14861 0 # -3 436 -14862 0 # -3 437 -14863 0 # -3 438 -14864 0 # -3 439 -14865 0 # -3 440 -14866 0 # -3 441 -14867 0 # -3 442 -14868 0 # -3 443 -14869 0 # -3 444 -14870 0 # -3 445 -14871 0 # -3 446 -14872 0 # -3 447 -14873 0 # -3 448 -14874 0 # -3 449 -14875 0 # -3 450 -14876 0 # -3 451 -14877 0 # -3 452 -14878 0 # -3 453 -14879 0 # -3 454 -14880 0 # -3 455 -14881 0 # -3 456 -14882 0 # -3 457 -14883 0 # -3 458 -14884 0 # -3 459 -14885 0 # -3 460 -14886 0 # -3 461 -14887 0 # -3 462 -14888 0 # -3 463 -14889 0 # -3 464 -14890 0 # -3 465 -14891 0 # -3 466 -14892 0 # -3 467 -14893 0 # -3 468 -14894 0 # -3 469 -14895 0 # -3 470 -14896 0 # -3 471 -14897 0 # -3 472 -14898 0 # -3 473 -14899 0 # -3 474 -14900 0 # -3 475 -14901 0 # -3 476 -14902 0 # -3 477 -14903 0 # -3 478 -14904 0 # -3 479 -14905 0 # -3 480 -14906 0 # -3 481 -14907 0 # -3 482 -14908 0 # -3 483 -14909 0 # -3 484 -14910 0 # -3 485 -14911 0 # -3 486 -14912 0 # -3 487 -14913 0 # -3 488 -14914 0 # -3 489 -14915 0 # -3 490 -14916 0 # -3 491 -14917 0 # -3 492 -14918 0 # -3 493 -14919 0 # -3 494 -14920 0 # -3 495 -14921 0 # -3 496 -14922 0 # -3 497 -14923 0 # -3 498 -14924 0 # -3 499 -14925 0 # -3 500 -14926 0 # -3 501 -14927 0 # -3 502 -14928 0 # -3 503 -14929 0 # -3 504 -14930 0 # -3 505 -14931 0 # -3 506 -14932 0 # -3 507 -14933 0 # -3 508 -14934 0 # -3 509 -14935 0 # -3 510 -14936 0 # -3 511 -14937 0 # -3 512 -14938 0 # -3 513 -14939 0 # -3 514 -14940 0 # -3 515 -14941 0 # -3 516 -14942 0 # -3 517 -14943 0 # -3 518 -14944 0 # -3 519 -14945 0 # -3 520 -14946 0 # -3 521 -14947 0 # -3 522 -14948 0 # -3 523 -14949 0 # -3 524 -14950 0 # -3 525 -14951 0 # -3 526 -14952 0 # -3 527 -14953 0 # -3 528 -14954 0 # -3 529 -14955 0 # -3 530 -14956 0 # -3 531 -14957 0 # -3 532 -14958 0 # -3 533 -14959 0 # -3 534 -14960 0 # -3 535 -14961 0 # -3 536 -14962 0 # -3 537 -14963 0 # -3 538 -14964 0 # -3 539 -14965 0 # -3 540 -14966 0 # -3 541 -14967 0 # -3 542 -14968 0 # -3 543 -14969 0 # -3 544 -14970 0 # -3 545 -14971 0 # -3 546 -14972 0 # -3 547 -14973 0 # -3 548 -14974 0 # -3 549 -14975 0 # -3 550 -14976 0 # -3 551 -14977 0 # -3 552 -14978 0 # -3 553 -14979 0 # -3 554 -14980 0 # -3 555 -14981 0 # -3 556 -14982 0 # -3 557 -14983 0 # -3 558 -14984 0 # -3 559 -14985 0 # -3 560 -14986 0 # -3 561 -14987 0 # -3 562 -14988 0 # -3 563 -14989 0 # -3 564 -14990 0 # -3 565 -14991 0 # -3 566 -14992 0 # -3 567 -14993 0 # -3 568 -14994 0 # -3 569 -14995 0 # -3 570 -14996 0 # -3 571 -14997 0 # -3 572 -14998 0 # -3 573 -14999 0 # -3 574 -15000 0 # -3 575 -15001 0 # -3 576 -15002 0 # -2 0 -15003 0 # -2 1 -15004 0 # -2 2 -15005 1 # -2 3 -15006 1 # -2 4 -15007 0 # -2 5 -15008 2 # -2 6 -15009 2 # -2 7 -15010 1 # -2 8 -15011 2 # -2 9 -15012 1 # -2 10 -15013 2 # -2 11 -15014 4 # -2 12 -15015 2 # -2 13 -15016 3 # -2 14 -15017 3 # -2 15 -15018 3 # -2 16 -15019 4 # -2 17 -15020 3 # -2 18 -15021 4 # -2 19 -15022 4 # -2 20 -15023 5 # -2 21 -15024 5 # -2 22 -15025 5 # -2 23 -15026 5 # -2 24 -15027 5 # -2 25 -15028 6 # -2 26 -15029 6 # -2 27 -15030 6 # -2 28 -15031 6 # -2 29 -15032 6 # -2 30 -15033 6 # -2 31 -15034 7 # -2 32 -15035 6 # -2 33 -15036 7 # -2 34 -15037 7 # -2 35 -15038 7 # -2 36 -15039 8 # -2 37 -15040 8 # -2 38 -15041 8 # -2 39 -15042 8 # -2 40 -15043 8 # -2 41 -15044 9 # -2 42 -15045 9 # -2 43 -15046 9 # -2 44 -15047 9 # -2 45 -15048 9 # -2 46 -15049 9 # -2 47 -15050 10 # -2 48 -15051 10 # -2 49 -15052 10 # -2 50 -15053 10 # -2 51 -15054 10 # -2 52 -15055 11 # -2 53 -15056 11 # -2 54 -15057 11 # -2 55 -15058 13 # -2 56 -15059 10 # -2 57 -15060 12 # -2 58 -15061 12 # -2 59 -15062 9 # -2 60 -15063 10 # -2 61 -15064 15 # -2 62 -15065 13 # -2 63 -15066 13 # -2 64 -15067 11 # -2 65 -15068 11 # -2 66 -15069 17 # -2 67 -15070 11 # -2 68 -15071 10 # -2 69 -15072 15 # -2 70 -15073 15 # -2 71 -15074 13 # -2 72 -15075 11 # -2 73 -15076 10 # -2 74 -15077 26 # -2 75 -15078 6 # -2 76 -15079 8 # -2 77 -15080 3 # -2 78 -15081 14 # -2 79 -15082 27 # -2 80 -15083 9 # -2 81 -15084 15 # -2 82 -15085 10 # -2 83 -15086 0 # -2 84 -15087 8 # -2 85 -15088 0 # -2 86 -15089 0 # -2 87 -15090 9 # -2 88 -15091 29 # -2 89 -15092 7 # -2 90 -15093 12 # -2 91 -15094 0 # -2 92 -15095 23 # -2 93 -15096 0 # -2 94 -15097 0 # -2 95 -15098 0 # -2 96 -15099 0 # -2 97 -15100 0 # -2 98 -15101 0 # -2 99 -15102 0 # -2 100 -15103 0 # -2 101 -15104 0 # -2 102 -15105 0 # -2 103 -15106 0 # -2 104 -15107 0 # -2 105 -15108 0 # -2 106 -15109 0 # -2 107 -15110 0 # -2 108 -15111 0 # -2 109 -15112 0 # -2 110 -15113 0 # -2 111 -15114 0 # -2 112 -15115 0 # -2 113 -15116 0 # -2 114 -15117 0 # -2 115 -15118 0 # -2 116 -15119 0 # -2 117 -15120 0 # -2 118 -15121 0 # -2 119 -15122 0 # -2 120 -15123 0 # -2 121 -15124 0 # -2 122 -15125 0 # -2 123 -15126 0 # -2 124 -15127 0 # -2 125 -15128 0 # -2 126 -15129 0 # -2 127 -15130 0 # -2 128 -15131 0 # -2 129 -15132 0 # -2 130 -15133 0 # -2 131 -15134 0 # -2 132 -15135 0 # -2 133 -15136 0 # -2 134 -15137 0 # -2 135 -15138 0 # -2 136 -15139 0 # -2 137 -15140 0 # -2 138 -15141 0 # -2 139 -15142 0 # -2 140 -15143 0 # -2 141 -15144 0 # -2 142 -15145 0 # -2 143 -15146 0 # -2 144 -15147 0 # -2 145 -15148 0 # -2 146 -15149 0 # -2 147 -15150 0 # -2 148 -15151 0 # -2 149 -15152 0 # -2 150 -15153 0 # -2 151 -15154 0 # -2 152 -15155 0 # -2 153 -15156 0 # -2 154 -15157 0 # -2 155 -15158 0 # -2 156 -15159 0 # -2 157 -15160 0 # -2 158 -15161 0 # -2 159 -15162 0 # -2 160 -15163 0 # -2 161 -15164 0 # -2 162 -15165 0 # -2 163 -15166 0 # -2 164 -15167 0 # -2 165 -15168 0 # -2 166 -15169 0 # -2 167 -15170 0 # -2 168 -15171 0 # -2 169 -15172 0 # -2 170 -15173 0 # -2 171 -15174 0 # -2 172 -15175 0 # -2 173 -15176 0 # -2 174 -15177 0 # -2 175 -15178 0 # -2 176 -15179 0 # -2 177 -15180 0 # -2 178 -15181 0 # -2 179 -15182 0 # -2 180 -15183 0 # -2 181 -15184 0 # -2 182 -15185 0 # -2 183 -15186 0 # -2 184 -15187 0 # -2 185 -15188 0 # -2 186 -15189 0 # -2 187 -15190 0 # -2 188 -15191 0 # -2 189 -15192 0 # -2 190 -15193 0 # -2 191 -15194 0 # -2 192 -15195 0 # -2 193 -15196 0 # -2 194 -15197 0 # -2 195 -15198 0 # -2 196 -15199 0 # -2 197 -15200 0 # -2 198 -15201 0 # -2 199 -15202 0 # -2 200 -15203 0 # -2 201 -15204 0 # -2 202 -15205 0 # -2 203 -15206 0 # -2 204 -15207 0 # -2 205 -15208 0 # -2 206 -15209 0 # -2 207 -15210 0 # -2 208 -15211 0 # -2 209 -15212 0 # -2 210 -15213 0 # -2 211 -15214 0 # -2 212 -15215 0 # -2 213 -15216 0 # -2 214 -15217 0 # -2 215 -15218 0 # -2 216 -15219 0 # -2 217 -15220 0 # -2 218 -15221 0 # -2 219 -15222 0 # -2 220 -15223 0 # -2 221 -15224 0 # -2 222 -15225 0 # -2 223 -15226 0 # -2 224 -15227 0 # -2 225 -15228 0 # -2 226 -15229 0 # -2 227 -15230 0 # -2 228 -15231 0 # -2 229 -15232 0 # -2 230 -15233 0 # -2 231 -15234 0 # -2 232 -15235 0 # -2 233 -15236 0 # -2 234 -15237 0 # -2 235 -15238 0 # -2 236 -15239 0 # -2 237 -15240 0 # -2 238 -15241 0 # -2 239 -15242 0 # -2 240 -15243 0 # -2 241 -15244 0 # -2 242 -15245 0 # -2 243 -15246 0 # -2 244 -15247 0 # -2 245 -15248 0 # -2 246 -15249 0 # -2 247 -15250 0 # -2 248 -15251 0 # -2 249 -15252 0 # -2 250 -15253 0 # -2 251 -15254 0 # -2 252 -15255 0 # -2 253 -15256 0 # -2 254 -15257 0 # -2 255 -15258 0 # -2 256 -15259 0 # -2 257 -15260 0 # -2 258 -15261 0 # -2 259 -15262 0 # -2 260 -15263 0 # -2 261 -15264 0 # -2 262 -15265 0 # -2 263 -15266 0 # -2 264 -15267 0 # -2 265 -15268 0 # -2 266 -15269 0 # -2 267 -15270 0 # -2 268 -15271 0 # -2 269 -15272 0 # -2 270 -15273 0 # -2 271 -15274 0 # -2 272 -15275 0 # -2 273 -15276 0 # -2 274 -15277 0 # -2 275 -15278 0 # -2 276 -15279 0 # -2 277 -15280 0 # -2 278 -15281 0 # -2 279 -15282 0 # -2 280 -15283 0 # -2 281 -15284 0 # -2 282 -15285 0 # -2 283 -15286 0 # -2 284 -15287 0 # -2 285 -15288 0 # -2 286 -15289 0 # -2 287 -15290 0 # -2 288 -15291 0 # -2 289 -15292 0 # -2 290 -15293 0 # -2 291 -15294 0 # -2 292 -15295 0 # -2 293 -15296 0 # -2 294 -15297 0 # -2 295 -15298 0 # -2 296 -15299 0 # -2 297 -15300 0 # -2 298 -15301 0 # -2 299 -15302 0 # -2 300 -15303 0 # -2 301 -15304 0 # -2 302 -15305 0 # -2 303 -15306 0 # -2 304 -15307 0 # -2 305 -15308 0 # -2 306 -15309 0 # -2 307 -15310 0 # -2 308 -15311 0 # -2 309 -15312 0 # -2 310 -15313 0 # -2 311 -15314 0 # -2 312 -15315 0 # -2 313 -15316 0 # -2 314 -15317 0 # -2 315 -15318 0 # -2 316 -15319 0 # -2 317 -15320 0 # -2 318 -15321 0 # -2 319 -15322 0 # -2 320 -15323 0 # -2 321 -15324 0 # -2 322 -15325 0 # -2 323 -15326 0 # -2 324 -15327 0 # -2 325 -15328 0 # -2 326 -15329 0 # -2 327 -15330 0 # -2 328 -15331 0 # -2 329 -15332 0 # -2 330 -15333 0 # -2 331 -15334 0 # -2 332 -15335 0 # -2 333 -15336 0 # -2 334 -15337 0 # -2 335 -15338 0 # -2 336 -15339 0 # -2 337 -15340 0 # -2 338 -15341 0 # -2 339 -15342 0 # -2 340 -15343 0 # -2 341 -15344 0 # -2 342 -15345 0 # -2 343 -15346 0 # -2 344 -15347 0 # -2 345 -15348 0 # -2 346 -15349 0 # -2 347 -15350 0 # -2 348 -15351 0 # -2 349 -15352 0 # -2 350 -15353 0 # -2 351 -15354 0 # -2 352 -15355 0 # -2 353 -15356 0 # -2 354 -15357 0 # -2 355 -15358 0 # -2 356 -15359 0 # -2 357 -15360 0 # -2 358 -15361 0 # -2 359 -15362 0 # -2 360 -15363 0 # -2 361 -15364 0 # -2 362 -15365 0 # -2 363 -15366 0 # -2 364 -15367 0 # -2 365 -15368 0 # -2 366 -15369 0 # -2 367 -15370 0 # -2 368 -15371 0 # -2 369 -15372 0 # -2 370 -15373 0 # -2 371 -15374 0 # -2 372 -15375 0 # -2 373 -15376 0 # -2 374 -15377 0 # -2 375 -15378 0 # -2 376 -15379 0 # -2 377 -15380 0 # -2 378 -15381 0 # -2 379 -15382 0 # -2 380 -15383 0 # -2 381 -15384 0 # -2 382 -15385 0 # -2 383 -15386 0 # -2 384 -15387 0 # -2 385 -15388 0 # -2 386 -15389 0 # -2 387 -15390 0 # -2 388 -15391 0 # -2 389 -15392 0 # -2 390 -15393 0 # -2 391 -15394 0 # -2 392 -15395 0 # -2 393 -15396 0 # -2 394 -15397 0 # -2 395 -15398 0 # -2 396 -15399 0 # -2 397 -15400 0 # -2 398 -15401 0 # -2 399 -15402 0 # -2 400 -15403 0 # -2 401 -15404 0 # -2 402 -15405 0 # -2 403 -15406 0 # -2 404 -15407 0 # -2 405 -15408 0 # -2 406 -15409 0 # -2 407 -15410 0 # -2 408 -15411 0 # -2 409 -15412 0 # -2 410 -15413 0 # -2 411 -15414 0 # -2 412 -15415 0 # -2 413 -15416 0 # -2 414 -15417 0 # -2 415 -15418 0 # -2 416 -15419 0 # -2 417 -15420 0 # -2 418 -15421 0 # -2 419 -15422 0 # -2 420 -15423 0 # -2 421 -15424 0 # -2 422 -15425 0 # -2 423 -15426 0 # -2 424 -15427 0 # -2 425 -15428 0 # -2 426 -15429 0 # -2 427 -15430 0 # -2 428 -15431 0 # -2 429 -15432 0 # -2 430 -15433 0 # -2 431 -15434 0 # -2 432 -15435 0 # -2 433 -15436 0 # -2 434 -15437 0 # -2 435 -15438 0 # -2 436 -15439 0 # -2 437 -15440 0 # -2 438 -15441 0 # -2 439 -15442 0 # -2 440 -15443 0 # -2 441 -15444 0 # -2 442 -15445 0 # -2 443 -15446 0 # -2 444 -15447 0 # -2 445 -15448 0 # -2 446 -15449 0 # -2 447 -15450 0 # -2 448 -15451 0 # -2 449 -15452 0 # -2 450 -15453 0 # -2 451 -15454 0 # -2 452 -15455 0 # -2 453 -15456 0 # -2 454 -15457 0 # -2 455 -15458 0 # -2 456 -15459 0 # -2 457 -15460 0 # -2 458 -15461 0 # -2 459 -15462 0 # -2 460 -15463 0 # -2 461 -15464 0 # -2 462 -15465 0 # -2 463 -15466 0 # -2 464 -15467 0 # -2 465 -15468 0 # -2 466 -15469 0 # -2 467 -15470 0 # -2 468 -15471 0 # -2 469 -15472 0 # -2 470 -15473 0 # -2 471 -15474 0 # -2 472 -15475 0 # -2 473 -15476 0 # -2 474 -15477 0 # -2 475 -15478 0 # -2 476 -15479 0 # -2 477 -15480 0 # -2 478 -15481 0 # -2 479 -15482 0 # -2 480 -15483 0 # -2 481 -15484 0 # -2 482 -15485 0 # -2 483 -15486 0 # -2 484 -15487 0 # -2 485 -15488 0 # -2 486 -15489 0 # -2 487 -15490 0 # -2 488 -15491 0 # -2 489 -15492 0 # -2 490 -15493 0 # -2 491 -15494 0 # -2 492 -15495 0 # -2 493 -15496 0 # -2 494 -15497 0 # -2 495 -15498 0 # -2 496 -15499 0 # -2 497 -15500 0 # -2 498 -15501 0 # -2 499 -15502 0 # -2 500 -15503 0 # -2 501 -15504 0 # -2 502 -15505 0 # -2 503 -15506 0 # -2 504 -15507 0 # -2 505 -15508 0 # -2 506 -15509 0 # -2 507 -15510 0 # -2 508 -15511 0 # -2 509 -15512 0 # -2 510 -15513 0 # -2 511 -15514 0 # -2 512 -15515 0 # -2 513 -15516 0 # -2 514 -15517 0 # -2 515 -15518 0 # -2 516 -15519 0 # -2 517 -15520 0 # -2 518 -15521 0 # -2 519 -15522 0 # -2 520 -15523 0 # -2 521 -15524 0 # -2 522 -15525 0 # -2 523 -15526 0 # -2 524 -15527 0 # -2 525 -15528 0 # -2 526 -15529 0 # -2 527 -15530 0 # -2 528 -15531 0 # -2 529 -15532 0 # -2 530 -15533 0 # -2 531 -15534 0 # -2 532 -15535 0 # -2 533 -15536 0 # -2 534 -15537 0 # -2 535 -15538 0 # -2 536 -15539 0 # -2 537 -15540 0 # -2 538 -15541 0 # -2 539 -15542 0 # -2 540 -15543 0 # -2 541 -15544 0 # -2 542 -15545 0 # -2 543 -15546 0 # -2 544 -15547 0 # -2 545 -15548 0 # -2 546 -15549 0 # -2 547 -15550 0 # -2 548 -15551 0 # -2 549 -15552 0 # -2 550 -15553 0 # -2 551 -15554 0 # -2 552 -15555 0 # -2 553 -15556 0 # -2 554 -15557 0 # -2 555 -15558 0 # -2 556 -15559 0 # -2 557 -15560 0 # -2 558 -15561 0 # -2 559 -15562 0 # -2 560 -15563 0 # -2 561 -15564 0 # -2 562 -15565 0 # -2 563 -15566 0 # -2 564 -15567 0 # -2 565 -15568 0 # -2 566 -15569 0 # -2 567 -15570 0 # -2 568 -15571 0 # -2 569 -15572 0 # -2 570 -15573 0 # -2 571 -15574 0 # -2 572 -15575 0 # -2 573 -15576 0 # -2 574 -15577 0 # -2 575 -15578 0 # -2 576 -15579 0 # -1 0 -15580 0 # -1 1 -15581 0 # -1 2 -15582 0 # -1 3 -15583 0 # -1 4 -15584 0 # -1 5 -15585 2 # -1 6 -15586 2 # -1 7 -15587 1 # -1 8 -15588 2 # -1 9 -15589 2 # -1 10 -15590 2 # -1 11 -15591 2 # -1 12 -15592 3 # -1 13 -15593 3 # -1 14 -15594 3 # -1 15 -15595 3 # -1 16 -15596 4 # -1 17 -15597 3 # -1 18 -15598 4 # -1 19 -15599 4 # -1 20 -15600 5 # -1 21 -15601 5 # -1 22 -15602 5 # -1 23 -15603 5 # -1 24 -15604 5 # -1 25 -15605 5 # -1 26 -15606 6 # -1 27 -15607 6 # -1 28 -15608 6 # -1 29 -15609 6 # -1 30 -15610 6 # -1 31 -15611 7 # -1 32 -15612 6 # -1 33 -15613 8 # -1 34 -15614 7 # -1 35 -15615 7 # -1 36 -15616 8 # -1 37 -15617 8 # -1 38 -15618 8 # -1 39 -15619 9 # -1 40 -15620 9 # -1 41 -15621 9 # -1 42 -15622 8 # -1 43 -15623 9 # -1 44 -15624 9 # -1 45 -15625 9 # -1 46 -15626 9 # -1 47 -15627 9 # -1 48 -15628 10 # -1 49 -15629 11 # -1 50 -15630 10 # -1 51 -15631 12 # -1 52 -15632 11 # -1 53 -15633 11 # -1 54 -15634 12 # -1 55 -15635 14 # -1 56 -15636 12 # -1 57 -15637 10 # -1 58 -15638 12 # -1 59 -15639 11 # -1 60 -15640 10 # -1 61 -15641 24 # -1 62 -15642 10 # -1 63 -15643 11 # -1 64 -15644 12 # -1 65 -15645 13 # -1 66 -15646 11 # -1 67 -15647 11 # -1 68 -15648 13 # -1 69 -15649 11 # -1 70 -15650 12 # -1 71 -15651 14 # -1 72 -15652 9 # -1 73 -15653 12 # -1 74 -15654 24 # -1 75 -15655 7 # -1 76 -15656 11 # -1 77 -15657 6 # -1 78 -15658 15 # -1 79 -15659 18 # -1 80 -15660 10 # -1 81 -15661 18 # -1 82 -15662 13 # -1 83 -15663 0 # -1 84 -15664 9 # -1 85 -15665 0 # -1 86 -15666 0 # -1 87 -15667 13 # -1 88 -15668 20 # -1 89 -15669 5 # -1 90 -15670 8 # -1 91 -15671 0 # -1 92 -15672 33 # -1 93 -15673 0 # -1 94 -15674 0 # -1 95 -15675 0 # -1 96 -15676 0 # -1 97 -15677 0 # -1 98 -15678 0 # -1 99 -15679 0 # -1 100 -15680 0 # -1 101 -15681 0 # -1 102 -15682 0 # -1 103 -15683 0 # -1 104 -15684 0 # -1 105 -15685 0 # -1 106 -15686 0 # -1 107 -15687 0 # -1 108 -15688 0 # -1 109 -15689 0 # -1 110 -15690 0 # -1 111 -15691 0 # -1 112 -15692 0 # -1 113 -15693 0 # -1 114 -15694 0 # -1 115 -15695 0 # -1 116 -15696 0 # -1 117 -15697 0 # -1 118 -15698 0 # -1 119 -15699 0 # -1 120 -15700 0 # -1 121 -15701 0 # -1 122 -15702 0 # -1 123 -15703 0 # -1 124 -15704 0 # -1 125 -15705 0 # -1 126 -15706 0 # -1 127 -15707 0 # -1 128 -15708 0 # -1 129 -15709 0 # -1 130 -15710 0 # -1 131 -15711 0 # -1 132 -15712 0 # -1 133 -15713 0 # -1 134 -15714 0 # -1 135 -15715 0 # -1 136 -15716 0 # -1 137 -15717 0 # -1 138 -15718 0 # -1 139 -15719 0 # -1 140 -15720 0 # -1 141 -15721 0 # -1 142 -15722 0 # -1 143 -15723 0 # -1 144 -15724 0 # -1 145 -15725 0 # -1 146 -15726 0 # -1 147 -15727 0 # -1 148 -15728 0 # -1 149 -15729 0 # -1 150 -15730 0 # -1 151 -15731 0 # -1 152 -15732 0 # -1 153 -15733 0 # -1 154 -15734 0 # -1 155 -15735 0 # -1 156 -15736 0 # -1 157 -15737 0 # -1 158 -15738 0 # -1 159 -15739 0 # -1 160 -15740 0 # -1 161 -15741 0 # -1 162 -15742 0 # -1 163 -15743 0 # -1 164 -15744 0 # -1 165 -15745 0 # -1 166 -15746 0 # -1 167 -15747 0 # -1 168 -15748 0 # -1 169 -15749 0 # -1 170 -15750 0 # -1 171 -15751 0 # -1 172 -15752 0 # -1 173 -15753 0 # -1 174 -15754 0 # -1 175 -15755 0 # -1 176 -15756 0 # -1 177 -15757 0 # -1 178 -15758 0 # -1 179 -15759 0 # -1 180 -15760 0 # -1 181 -15761 0 # -1 182 -15762 0 # -1 183 -15763 0 # -1 184 -15764 0 # -1 185 -15765 0 # -1 186 -15766 0 # -1 187 -15767 0 # -1 188 -15768 0 # -1 189 -15769 0 # -1 190 -15770 0 # -1 191 -15771 0 # -1 192 -15772 0 # -1 193 -15773 0 # -1 194 -15774 0 # -1 195 -15775 0 # -1 196 -15776 0 # -1 197 -15777 0 # -1 198 -15778 0 # -1 199 -15779 0 # -1 200 -15780 0 # -1 201 -15781 0 # -1 202 -15782 0 # -1 203 -15783 0 # -1 204 -15784 0 # -1 205 -15785 0 # -1 206 -15786 0 # -1 207 -15787 0 # -1 208 -15788 0 # -1 209 -15789 0 # -1 210 -15790 0 # -1 211 -15791 0 # -1 212 -15792 0 # -1 213 -15793 0 # -1 214 -15794 0 # -1 215 -15795 0 # -1 216 -15796 0 # -1 217 -15797 0 # -1 218 -15798 0 # -1 219 -15799 0 # -1 220 -15800 0 # -1 221 -15801 0 # -1 222 -15802 0 # -1 223 -15803 0 # -1 224 -15804 0 # -1 225 -15805 0 # -1 226 -15806 0 # -1 227 -15807 0 # -1 228 -15808 0 # -1 229 -15809 0 # -1 230 -15810 0 # -1 231 -15811 0 # -1 232 -15812 0 # -1 233 -15813 0 # -1 234 -15814 0 # -1 235 -15815 0 # -1 236 -15816 0 # -1 237 -15817 0 # -1 238 -15818 0 # -1 239 -15819 0 # -1 240 -15820 0 # -1 241 -15821 0 # -1 242 -15822 0 # -1 243 -15823 0 # -1 244 -15824 0 # -1 245 -15825 0 # -1 246 -15826 0 # -1 247 -15827 0 # -1 248 -15828 0 # -1 249 -15829 0 # -1 250 -15830 0 # -1 251 -15831 0 # -1 252 -15832 0 # -1 253 -15833 0 # -1 254 -15834 0 # -1 255 -15835 0 # -1 256 -15836 0 # -1 257 -15837 0 # -1 258 -15838 0 # -1 259 -15839 0 # -1 260 -15840 0 # -1 261 -15841 0 # -1 262 -15842 0 # -1 263 -15843 0 # -1 264 -15844 0 # -1 265 -15845 0 # -1 266 -15846 0 # -1 267 -15847 0 # -1 268 -15848 0 # -1 269 -15849 0 # -1 270 -15850 0 # -1 271 -15851 0 # -1 272 -15852 0 # -1 273 -15853 0 # -1 274 -15854 0 # -1 275 -15855 0 # -1 276 -15856 0 # -1 277 -15857 0 # -1 278 -15858 0 # -1 279 -15859 0 # -1 280 -15860 0 # -1 281 -15861 0 # -1 282 -15862 0 # -1 283 -15863 0 # -1 284 -15864 0 # -1 285 -15865 0 # -1 286 -15866 0 # -1 287 -15867 0 # -1 288 -15868 0 # -1 289 -15869 0 # -1 290 -15870 0 # -1 291 -15871 0 # -1 292 -15872 0 # -1 293 -15873 0 # -1 294 -15874 0 # -1 295 -15875 0 # -1 296 -15876 0 # -1 297 -15877 0 # -1 298 -15878 0 # -1 299 -15879 0 # -1 300 -15880 0 # -1 301 -15881 0 # -1 302 -15882 0 # -1 303 -15883 0 # -1 304 -15884 0 # -1 305 -15885 0 # -1 306 -15886 0 # -1 307 -15887 0 # -1 308 -15888 0 # -1 309 -15889 0 # -1 310 -15890 0 # -1 311 -15891 0 # -1 312 -15892 0 # -1 313 -15893 0 # -1 314 -15894 0 # -1 315 -15895 0 # -1 316 -15896 0 # -1 317 -15897 0 # -1 318 -15898 0 # -1 319 -15899 0 # -1 320 -15900 0 # -1 321 -15901 0 # -1 322 -15902 0 # -1 323 -15903 0 # -1 324 -15904 0 # -1 325 -15905 0 # -1 326 -15906 0 # -1 327 -15907 0 # -1 328 -15908 0 # -1 329 -15909 0 # -1 330 -15910 0 # -1 331 -15911 0 # -1 332 -15912 0 # -1 333 -15913 0 # -1 334 -15914 0 # -1 335 -15915 0 # -1 336 -15916 0 # -1 337 -15917 0 # -1 338 -15918 0 # -1 339 -15919 0 # -1 340 -15920 0 # -1 341 -15921 0 # -1 342 -15922 0 # -1 343 -15923 0 # -1 344 -15924 0 # -1 345 -15925 0 # -1 346 -15926 0 # -1 347 -15927 0 # -1 348 -15928 0 # -1 349 -15929 0 # -1 350 -15930 0 # -1 351 -15931 0 # -1 352 -15932 0 # -1 353 -15933 0 # -1 354 -15934 0 # -1 355 -15935 0 # -1 356 -15936 0 # -1 357 -15937 0 # -1 358 -15938 0 # -1 359 -15939 0 # -1 360 -15940 0 # -1 361 -15941 0 # -1 362 -15942 0 # -1 363 -15943 0 # -1 364 -15944 0 # -1 365 -15945 0 # -1 366 -15946 0 # -1 367 -15947 0 # -1 368 -15948 0 # -1 369 -15949 0 # -1 370 -15950 0 # -1 371 -15951 0 # -1 372 -15952 0 # -1 373 -15953 0 # -1 374 -15954 0 # -1 375 -15955 0 # -1 376 -15956 0 # -1 377 -15957 0 # -1 378 -15958 0 # -1 379 -15959 0 # -1 380 -15960 0 # -1 381 -15961 0 # -1 382 -15962 0 # -1 383 -15963 0 # -1 384 -15964 0 # -1 385 -15965 0 # -1 386 -15966 0 # -1 387 -15967 0 # -1 388 -15968 0 # -1 389 -15969 0 # -1 390 -15970 0 # -1 391 -15971 0 # -1 392 -15972 0 # -1 393 -15973 0 # -1 394 -15974 0 # -1 395 -15975 0 # -1 396 -15976 0 # -1 397 -15977 0 # -1 398 -15978 0 # -1 399 -15979 0 # -1 400 -15980 0 # -1 401 -15981 0 # -1 402 -15982 0 # -1 403 -15983 0 # -1 404 -15984 0 # -1 405 -15985 0 # -1 406 -15986 0 # -1 407 -15987 0 # -1 408 -15988 0 # -1 409 -15989 0 # -1 410 -15990 0 # -1 411 -15991 0 # -1 412 -15992 0 # -1 413 -15993 0 # -1 414 -15994 0 # -1 415 -15995 0 # -1 416 -15996 0 # -1 417 -15997 0 # -1 418 -15998 0 # -1 419 -15999 0 # -1 420 -16000 0 # -1 421 -16001 0 # -1 422 -16002 0 # -1 423 -16003 0 # -1 424 -16004 0 # -1 425 -16005 0 # -1 426 -16006 0 # -1 427 -16007 0 # -1 428 -16008 0 # -1 429 -16009 0 # -1 430 -16010 0 # -1 431 -16011 0 # -1 432 -16012 0 # -1 433 -16013 0 # -1 434 -16014 0 # -1 435 -16015 0 # -1 436 -16016 0 # -1 437 -16017 0 # -1 438 -16018 0 # -1 439 -16019 0 # -1 440 -16020 0 # -1 441 -16021 0 # -1 442 -16022 0 # -1 443 -16023 0 # -1 444 -16024 0 # -1 445 -16025 0 # -1 446 -16026 0 # -1 447 -16027 0 # -1 448 -16028 0 # -1 449 -16029 0 # -1 450 -16030 0 # -1 451 -16031 0 # -1 452 -16032 0 # -1 453 -16033 0 # -1 454 -16034 0 # -1 455 -16035 0 # -1 456 -16036 0 # -1 457 -16037 0 # -1 458 -16038 0 # -1 459 -16039 0 # -1 460 -16040 0 # -1 461 -16041 0 # -1 462 -16042 0 # -1 463 -16043 0 # -1 464 -16044 0 # -1 465 -16045 0 # -1 466 -16046 0 # -1 467 -16047 0 # -1 468 -16048 0 # -1 469 -16049 0 # -1 470 -16050 0 # -1 471 -16051 0 # -1 472 -16052 0 # -1 473 -16053 0 # -1 474 -16054 0 # -1 475 -16055 0 # -1 476 -16056 0 # -1 477 -16057 0 # -1 478 -16058 0 # -1 479 -16059 0 # -1 480 -16060 0 # -1 481 -16061 0 # -1 482 -16062 0 # -1 483 -16063 0 # -1 484 -16064 0 # -1 485 -16065 0 # -1 486 -16066 0 # -1 487 -16067 0 # -1 488 -16068 0 # -1 489 -16069 0 # -1 490 -16070 0 # -1 491 -16071 0 # -1 492 -16072 0 # -1 493 -16073 0 # -1 494 -16074 0 # -1 495 -16075 0 # -1 496 -16076 0 # -1 497 -16077 0 # -1 498 -16078 0 # -1 499 -16079 0 # -1 500 -16080 0 # -1 501 -16081 0 # -1 502 -16082 0 # -1 503 -16083 0 # -1 504 -16084 0 # -1 505 -16085 0 # -1 506 -16086 0 # -1 507 -16087 0 # -1 508 -16088 0 # -1 509 -16089 0 # -1 510 -16090 0 # -1 511 -16091 0 # -1 512 -16092 0 # -1 513 -16093 0 # -1 514 -16094 0 # -1 515 -16095 0 # -1 516 -16096 0 # -1 517 -16097 0 # -1 518 -16098 0 # -1 519 -16099 0 # -1 520 -16100 0 # -1 521 -16101 0 # -1 522 -16102 0 # -1 523 -16103 0 # -1 524 -16104 0 # -1 525 -16105 0 # -1 526 -16106 0 # -1 527 -16107 0 # -1 528 -16108 0 # -1 529 -16109 0 # -1 530 -16110 0 # -1 531 -16111 0 # -1 532 -16112 0 # -1 533 -16113 0 # -1 534 -16114 0 # -1 535 -16115 0 # -1 536 -16116 0 # -1 537 -16117 0 # -1 538 -16118 0 # -1 539 -16119 0 # -1 540 -16120 0 # -1 541 -16121 0 # -1 542 -16122 0 # -1 543 -16123 0 # -1 544 -16124 0 # -1 545 -16125 0 # -1 546 -16126 0 # -1 547 -16127 0 # -1 548 -16128 0 # -1 549 -16129 0 # -1 550 -16130 0 # -1 551 -16131 0 # -1 552 -16132 0 # -1 553 -16133 0 # -1 554 -16134 0 # -1 555 -16135 0 # -1 556 -16136 0 # -1 557 -16137 0 # -1 558 -16138 0 # -1 559 -16139 0 # -1 560 -16140 0 # -1 561 -16141 0 # -1 562 -16142 0 # -1 563 -16143 0 # -1 564 -16144 0 # -1 565 -16145 0 # -1 566 -16146 0 # -1 567 -16147 0 # -1 568 -16148 0 # -1 569 -16149 0 # -1 570 -16150 0 # -1 571 -16151 0 # -1 572 -16152 0 # -1 573 -16153 0 # -1 574 -16154 0 # -1 575 -16155 0 # -1 576 -16156 0 # 1 0 -16157 0 # 1 1 -16158 0 # 1 2 -16159 0 # 1 3 -16160 1 # 1 4 -16161 0 # 1 5 -16162 1 # 1 6 -16163 2 # 1 7 -16164 1 # 1 8 -16165 2 # 1 9 -16166 3 # 1 10 -16167 2 # 1 11 -16168 2 # 1 12 -16169 3 # 1 13 -16170 3 # 1 14 -16171 3 # 1 15 -16172 3 # 1 16 -16173 3 # 1 17 -16174 4 # 1 18 -16175 4 # 1 19 -16176 5 # 1 20 -16177 5 # 1 21 -16178 5 # 1 22 -16179 5 # 1 23 -16180 5 # 1 24 -16181 5 # 1 25 -16182 6 # 1 26 -16183 6 # 1 27 -16184 6 # 1 28 -16185 6 # 1 29 -16186 6 # 1 30 -16187 6 # 1 31 -16188 7 # 1 32 -16189 6 # 1 33 -16190 7 # 1 34 -16191 7 # 1 35 -16192 8 # 1 36 -16193 8 # 1 37 -16194 8 # 1 38 -16195 8 # 1 39 -16196 9 # 1 40 -16197 8 # 1 41 -16198 8 # 1 42 -16199 9 # 1 43 -16200 10 # 1 44 -16201 9 # 1 45 -16202 9 # 1 46 -16203 10 # 1 47 -16204 9 # 1 48 -16205 10 # 1 49 -16206 9 # 1 50 -16207 11 # 1 51 -16208 12 # 1 52 -16209 10 # 1 53 -16210 10 # 1 54 -16211 13 # 1 55 -16212 13 # 1 56 -16213 12 # 1 57 -16214 13 # 1 58 -16215 11 # 1 59 -16216 11 # 1 60 -16217 11 # 1 61 -16218 15 # 1 62 -16219 9 # 1 63 -16220 13 # 1 64 -16221 14 # 1 65 -16222 11 # 1 66 -16223 12 # 1 67 -16224 16 # 1 68 -16225 19 # 1 69 -16226 11 # 1 70 -16227 14 # 1 71 -16228 16 # 1 72 -16229 18 # 1 73 -16230 11 # 1 74 -16231 24 # 1 75 -16232 9 # 1 76 -16233 11 # 1 77 -16234 8 # 1 78 -16235 13 # 1 79 -16236 16 # 1 80 -16237 10 # 1 81 -16238 21 # 1 82 -16239 11 # 1 83 -16240 0 # 1 84 -16241 11 # 1 85 -16242 0 # 1 86 -16243 0 # 1 87 -16244 12 # 1 88 -16245 16 # 1 89 -16246 5 # 1 90 -16247 5 # 1 91 -16248 0 # 1 92 -16249 23 # 1 93 -16250 0 # 1 94 -16251 0 # 1 95 -16252 0 # 1 96 -16253 0 # 1 97 -16254 0 # 1 98 -16255 0 # 1 99 -16256 0 # 1 100 -16257 0 # 1 101 -16258 0 # 1 102 -16259 0 # 1 103 -16260 0 # 1 104 -16261 0 # 1 105 -16262 0 # 1 106 -16263 0 # 1 107 -16264 0 # 1 108 -16265 0 # 1 109 -16266 0 # 1 110 -16267 0 # 1 111 -16268 0 # 1 112 -16269 0 # 1 113 -16270 0 # 1 114 -16271 0 # 1 115 -16272 0 # 1 116 -16273 0 # 1 117 -16274 0 # 1 118 -16275 0 # 1 119 -16276 0 # 1 120 -16277 0 # 1 121 -16278 0 # 1 122 -16279 0 # 1 123 -16280 0 # 1 124 -16281 0 # 1 125 -16282 0 # 1 126 -16283 0 # 1 127 -16284 0 # 1 128 -16285 0 # 1 129 -16286 0 # 1 130 -16287 0 # 1 131 -16288 0 # 1 132 -16289 0 # 1 133 -16290 0 # 1 134 -16291 0 # 1 135 -16292 0 # 1 136 -16293 0 # 1 137 -16294 0 # 1 138 -16295 0 # 1 139 -16296 0 # 1 140 -16297 0 # 1 141 -16298 0 # 1 142 -16299 0 # 1 143 -16300 0 # 1 144 -16301 0 # 1 145 -16302 0 # 1 146 -16303 0 # 1 147 -16304 0 # 1 148 -16305 0 # 1 149 -16306 0 # 1 150 -16307 0 # 1 151 -16308 0 # 1 152 -16309 0 # 1 153 -16310 0 # 1 154 -16311 0 # 1 155 -16312 0 # 1 156 -16313 0 # 1 157 -16314 0 # 1 158 -16315 0 # 1 159 -16316 0 # 1 160 -16317 0 # 1 161 -16318 0 # 1 162 -16319 0 # 1 163 -16320 0 # 1 164 -16321 0 # 1 165 -16322 0 # 1 166 -16323 0 # 1 167 -16324 0 # 1 168 -16325 0 # 1 169 -16326 0 # 1 170 -16327 0 # 1 171 -16328 0 # 1 172 -16329 0 # 1 173 -16330 0 # 1 174 -16331 0 # 1 175 -16332 0 # 1 176 -16333 0 # 1 177 -16334 0 # 1 178 -16335 0 # 1 179 -16336 0 # 1 180 -16337 0 # 1 181 -16338 0 # 1 182 -16339 0 # 1 183 -16340 0 # 1 184 -16341 0 # 1 185 -16342 0 # 1 186 -16343 0 # 1 187 -16344 0 # 1 188 -16345 0 # 1 189 -16346 0 # 1 190 -16347 0 # 1 191 -16348 0 # 1 192 -16349 0 # 1 193 -16350 0 # 1 194 -16351 0 # 1 195 -16352 0 # 1 196 -16353 0 # 1 197 -16354 0 # 1 198 -16355 0 # 1 199 -16356 0 # 1 200 -16357 0 # 1 201 -16358 0 # 1 202 -16359 0 # 1 203 -16360 0 # 1 204 -16361 0 # 1 205 -16362 0 # 1 206 -16363 0 # 1 207 -16364 0 # 1 208 -16365 0 # 1 209 -16366 0 # 1 210 -16367 0 # 1 211 -16368 0 # 1 212 -16369 0 # 1 213 -16370 0 # 1 214 -16371 0 # 1 215 -16372 0 # 1 216 -16373 0 # 1 217 -16374 0 # 1 218 -16375 0 # 1 219 -16376 0 # 1 220 -16377 0 # 1 221 -16378 0 # 1 222 -16379 0 # 1 223 -16380 0 # 1 224 -16381 0 # 1 225 -16382 0 # 1 226 -16383 0 # 1 227 -16384 0 # 1 228 -16385 0 # 1 229 -16386 0 # 1 230 -16387 0 # 1 231 -16388 0 # 1 232 -16389 0 # 1 233 -16390 0 # 1 234 -16391 0 # 1 235 -16392 0 # 1 236 -16393 0 # 1 237 -16394 0 # 1 238 -16395 0 # 1 239 -16396 0 # 1 240 -16397 0 # 1 241 -16398 0 # 1 242 -16399 0 # 1 243 -16400 0 # 1 244 -16401 0 # 1 245 -16402 0 # 1 246 -16403 0 # 1 247 -16404 0 # 1 248 -16405 0 # 1 249 -16406 0 # 1 250 -16407 0 # 1 251 -16408 0 # 1 252 -16409 0 # 1 253 -16410 0 # 1 254 -16411 0 # 1 255 -16412 0 # 1 256 -16413 0 # 1 257 -16414 0 # 1 258 -16415 0 # 1 259 -16416 0 # 1 260 -16417 0 # 1 261 -16418 0 # 1 262 -16419 0 # 1 263 -16420 0 # 1 264 -16421 0 # 1 265 -16422 0 # 1 266 -16423 0 # 1 267 -16424 0 # 1 268 -16425 0 # 1 269 -16426 0 # 1 270 -16427 0 # 1 271 -16428 0 # 1 272 -16429 0 # 1 273 -16430 0 # 1 274 -16431 0 # 1 275 -16432 0 # 1 276 -16433 0 # 1 277 -16434 0 # 1 278 -16435 0 # 1 279 -16436 0 # 1 280 -16437 0 # 1 281 -16438 0 # 1 282 -16439 0 # 1 283 -16440 0 # 1 284 -16441 0 # 1 285 -16442 0 # 1 286 -16443 0 # 1 287 -16444 0 # 1 288 -16445 0 # 1 289 -16446 0 # 1 290 -16447 0 # 1 291 -16448 0 # 1 292 -16449 0 # 1 293 -16450 0 # 1 294 -16451 0 # 1 295 -16452 0 # 1 296 -16453 0 # 1 297 -16454 0 # 1 298 -16455 0 # 1 299 -16456 0 # 1 300 -16457 0 # 1 301 -16458 0 # 1 302 -16459 0 # 1 303 -16460 0 # 1 304 -16461 0 # 1 305 -16462 0 # 1 306 -16463 0 # 1 307 -16464 0 # 1 308 -16465 0 # 1 309 -16466 0 # 1 310 -16467 0 # 1 311 -16468 0 # 1 312 -16469 0 # 1 313 -16470 0 # 1 314 -16471 0 # 1 315 -16472 0 # 1 316 -16473 0 # 1 317 -16474 0 # 1 318 -16475 0 # 1 319 -16476 0 # 1 320 -16477 0 # 1 321 -16478 0 # 1 322 -16479 0 # 1 323 -16480 0 # 1 324 -16481 0 # 1 325 -16482 0 # 1 326 -16483 0 # 1 327 -16484 0 # 1 328 -16485 0 # 1 329 -16486 0 # 1 330 -16487 0 # 1 331 -16488 0 # 1 332 -16489 0 # 1 333 -16490 0 # 1 334 -16491 0 # 1 335 -16492 0 # 1 336 -16493 0 # 1 337 -16494 0 # 1 338 -16495 0 # 1 339 -16496 0 # 1 340 -16497 0 # 1 341 -16498 0 # 1 342 -16499 0 # 1 343 -16500 0 # 1 344 -16501 0 # 1 345 -16502 0 # 1 346 -16503 0 # 1 347 -16504 0 # 1 348 -16505 0 # 1 349 -16506 0 # 1 350 -16507 0 # 1 351 -16508 0 # 1 352 -16509 0 # 1 353 -16510 0 # 1 354 -16511 0 # 1 355 -16512 0 # 1 356 -16513 0 # 1 357 -16514 0 # 1 358 -16515 0 # 1 359 -16516 0 # 1 360 -16517 0 # 1 361 -16518 0 # 1 362 -16519 0 # 1 363 -16520 0 # 1 364 -16521 0 # 1 365 -16522 0 # 1 366 -16523 0 # 1 367 -16524 0 # 1 368 -16525 0 # 1 369 -16526 0 # 1 370 -16527 0 # 1 371 -16528 0 # 1 372 -16529 0 # 1 373 -16530 0 # 1 374 -16531 0 # 1 375 -16532 0 # 1 376 -16533 0 # 1 377 -16534 0 # 1 378 -16535 0 # 1 379 -16536 0 # 1 380 -16537 0 # 1 381 -16538 0 # 1 382 -16539 0 # 1 383 -16540 0 # 1 384 -16541 0 # 1 385 -16542 0 # 1 386 -16543 0 # 1 387 -16544 0 # 1 388 -16545 0 # 1 389 -16546 0 # 1 390 -16547 0 # 1 391 -16548 0 # 1 392 -16549 0 # 1 393 -16550 0 # 1 394 -16551 0 # 1 395 -16552 0 # 1 396 -16553 0 # 1 397 -16554 0 # 1 398 -16555 0 # 1 399 -16556 0 # 1 400 -16557 0 # 1 401 -16558 0 # 1 402 -16559 0 # 1 403 -16560 0 # 1 404 -16561 0 # 1 405 -16562 0 # 1 406 -16563 0 # 1 407 -16564 0 # 1 408 -16565 0 # 1 409 -16566 0 # 1 410 -16567 0 # 1 411 -16568 0 # 1 412 -16569 0 # 1 413 -16570 0 # 1 414 -16571 0 # 1 415 -16572 0 # 1 416 -16573 0 # 1 417 -16574 0 # 1 418 -16575 0 # 1 419 -16576 0 # 1 420 -16577 0 # 1 421 -16578 0 # 1 422 -16579 0 # 1 423 -16580 0 # 1 424 -16581 0 # 1 425 -16582 0 # 1 426 -16583 0 # 1 427 -16584 0 # 1 428 -16585 0 # 1 429 -16586 0 # 1 430 -16587 0 # 1 431 -16588 0 # 1 432 -16589 0 # 1 433 -16590 0 # 1 434 -16591 0 # 1 435 -16592 0 # 1 436 -16593 0 # 1 437 -16594 0 # 1 438 -16595 0 # 1 439 -16596 0 # 1 440 -16597 0 # 1 441 -16598 0 # 1 442 -16599 0 # 1 443 -16600 0 # 1 444 -16601 0 # 1 445 -16602 0 # 1 446 -16603 0 # 1 447 -16604 0 # 1 448 -16605 0 # 1 449 -16606 0 # 1 450 -16607 0 # 1 451 -16608 0 # 1 452 -16609 0 # 1 453 -16610 0 # 1 454 -16611 0 # 1 455 -16612 0 # 1 456 -16613 0 # 1 457 -16614 0 # 1 458 -16615 0 # 1 459 -16616 0 # 1 460 -16617 0 # 1 461 -16618 0 # 1 462 -16619 0 # 1 463 -16620 0 # 1 464 -16621 0 # 1 465 -16622 0 # 1 466 -16623 0 # 1 467 -16624 0 # 1 468 -16625 0 # 1 469 -16626 0 # 1 470 -16627 0 # 1 471 -16628 0 # 1 472 -16629 0 # 1 473 -16630 0 # 1 474 -16631 0 # 1 475 -16632 0 # 1 476 -16633 0 # 1 477 -16634 0 # 1 478 -16635 0 # 1 479 -16636 0 # 1 480 -16637 0 # 1 481 -16638 0 # 1 482 -16639 0 # 1 483 -16640 0 # 1 484 -16641 0 # 1 485 -16642 0 # 1 486 -16643 0 # 1 487 -16644 0 # 1 488 -16645 0 # 1 489 -16646 0 # 1 490 -16647 0 # 1 491 -16648 0 # 1 492 -16649 0 # 1 493 -16650 0 # 1 494 -16651 0 # 1 495 -16652 0 # 1 496 -16653 0 # 1 497 -16654 0 # 1 498 -16655 0 # 1 499 -16656 0 # 1 500 -16657 0 # 1 501 -16658 0 # 1 502 -16659 0 # 1 503 -16660 0 # 1 504 -16661 0 # 1 505 -16662 0 # 1 506 -16663 0 # 1 507 -16664 0 # 1 508 -16665 0 # 1 509 -16666 0 # 1 510 -16667 0 # 1 511 -16668 0 # 1 512 -16669 0 # 1 513 -16670 0 # 1 514 -16671 0 # 1 515 -16672 0 # 1 516 -16673 0 # 1 517 -16674 0 # 1 518 -16675 0 # 1 519 -16676 0 # 1 520 -16677 0 # 1 521 -16678 0 # 1 522 -16679 0 # 1 523 -16680 0 # 1 524 -16681 0 # 1 525 -16682 0 # 1 526 -16683 0 # 1 527 -16684 0 # 1 528 -16685 0 # 1 529 -16686 0 # 1 530 -16687 0 # 1 531 -16688 0 # 1 532 -16689 0 # 1 533 -16690 0 # 1 534 -16691 0 # 1 535 -16692 0 # 1 536 -16693 0 # 1 537 -16694 0 # 1 538 -16695 0 # 1 539 -16696 0 # 1 540 -16697 0 # 1 541 -16698 0 # 1 542 -16699 0 # 1 543 -16700 0 # 1 544 -16701 0 # 1 545 -16702 0 # 1 546 -16703 0 # 1 547 -16704 0 # 1 548 -16705 0 # 1 549 -16706 0 # 1 550 -16707 0 # 1 551 -16708 0 # 1 552 -16709 0 # 1 553 -16710 0 # 1 554 -16711 0 # 1 555 -16712 0 # 1 556 -16713 0 # 1 557 -16714 0 # 1 558 -16715 0 # 1 559 -16716 0 # 1 560 -16717 0 # 1 561 -16718 0 # 1 562 -16719 0 # 1 563 -16720 0 # 1 564 -16721 0 # 1 565 -16722 0 # 1 566 -16723 0 # 1 567 -16724 0 # 1 568 -16725 0 # 1 569 -16726 0 # 1 570 -16727 0 # 1 571 -16728 0 # 1 572 -16729 0 # 1 573 -16730 0 # 1 574 -16731 0 # 1 575 -16732 0 # 1 576 -16733 0 # 2 0 -16734 0 # 2 1 -16735 0 # 2 2 -16736 1 # 2 3 -16737 2 # 2 4 -16738 0 # 2 5 -16739 1 # 2 6 -16740 1 # 2 7 -16741 2 # 2 8 -16742 2 # 2 9 -16743 3 # 2 10 -16744 2 # 2 11 -16745 2 # 2 12 -16746 3 # 2 13 -16747 3 # 2 14 -16748 3 # 2 15 -16749 3 # 2 16 -16750 4 # 2 17 -16751 4 # 2 18 -16752 4 # 2 19 -16753 5 # 2 20 -16754 5 # 2 21 -16755 5 # 2 22 -16756 5 # 2 23 -16757 5 # 2 24 -16758 5 # 2 25 -16759 5 # 2 26 -16760 6 # 2 27 -16761 6 # 2 28 -16762 6 # 2 29 -16763 6 # 2 30 -16764 7 # 2 31 -16765 7 # 2 32 -16766 6 # 2 33 -16767 6 # 2 34 -16768 7 # 2 35 -16769 7 # 2 36 -16770 8 # 2 37 -16771 8 # 2 38 -16772 8 # 2 39 -16773 8 # 2 40 -16774 8 # 2 41 -16775 9 # 2 42 -16776 9 # 2 43 -16777 9 # 2 44 -16778 9 # 2 45 -16779 10 # 2 46 -16780 11 # 2 47 -16781 9 # 2 48 -16782 10 # 2 49 -16783 10 # 2 50 -16784 10 # 2 51 -16785 13 # 2 52 -16786 11 # 2 53 -16787 10 # 2 54 -16788 11 # 2 55 -16789 13 # 2 56 -16790 12 # 2 57 -16791 16 # 2 58 -16792 11 # 2 59 -16793 11 # 2 60 -16794 11 # 2 61 -16795 12 # 2 62 -16796 13 # 2 63 -16797 9 # 2 64 -16798 13 # 2 65 -16799 14 # 2 66 -16800 12 # 2 67 -16801 16 # 2 68 -16802 9 # 2 69 -16803 11 # 2 70 -16804 12 # 2 71 -16805 13 # 2 72 -16806 13 # 2 73 -16807 13 # 2 74 -16808 37 # 2 75 -16809 9 # 2 76 -16810 15 # 2 77 -16811 6 # 2 78 -16812 12 # 2 79 -16813 15 # 2 80 -16814 7 # 2 81 -16815 14 # 2 82 -16816 13 # 2 83 -16817 0 # 2 84 -16818 13 # 2 85 -16819 0 # 2 86 -16820 0 # 2 87 -16821 15 # 2 88 -16822 10 # 2 89 -16823 5 # 2 90 -16824 8 # 2 91 -16825 0 # 2 92 -16826 8 # 2 93 -16827 0 # 2 94 -16828 0 # 2 95 -16829 0 # 2 96 -16830 0 # 2 97 -16831 0 # 2 98 -16832 0 # 2 99 -16833 0 # 2 100 -16834 0 # 2 101 -16835 0 # 2 102 -16836 0 # 2 103 -16837 0 # 2 104 -16838 0 # 2 105 -16839 0 # 2 106 -16840 0 # 2 107 -16841 0 # 2 108 -16842 0 # 2 109 -16843 0 # 2 110 -16844 0 # 2 111 -16845 0 # 2 112 -16846 0 # 2 113 -16847 0 # 2 114 -16848 0 # 2 115 -16849 0 # 2 116 -16850 0 # 2 117 -16851 0 # 2 118 -16852 0 # 2 119 -16853 0 # 2 120 -16854 0 # 2 121 -16855 0 # 2 122 -16856 0 # 2 123 -16857 0 # 2 124 -16858 0 # 2 125 -16859 0 # 2 126 -16860 0 # 2 127 -16861 0 # 2 128 -16862 0 # 2 129 -16863 0 # 2 130 -16864 0 # 2 131 -16865 0 # 2 132 -16866 0 # 2 133 -16867 0 # 2 134 -16868 0 # 2 135 -16869 0 # 2 136 -16870 0 # 2 137 -16871 0 # 2 138 -16872 0 # 2 139 -16873 0 # 2 140 -16874 0 # 2 141 -16875 0 # 2 142 -16876 0 # 2 143 -16877 0 # 2 144 -16878 0 # 2 145 -16879 0 # 2 146 -16880 0 # 2 147 -16881 0 # 2 148 -16882 0 # 2 149 -16883 0 # 2 150 -16884 0 # 2 151 -16885 0 # 2 152 -16886 0 # 2 153 -16887 0 # 2 154 -16888 0 # 2 155 -16889 0 # 2 156 -16890 0 # 2 157 -16891 0 # 2 158 -16892 0 # 2 159 -16893 0 # 2 160 -16894 0 # 2 161 -16895 0 # 2 162 -16896 0 # 2 163 -16897 0 # 2 164 -16898 0 # 2 165 -16899 0 # 2 166 -16900 0 # 2 167 -16901 0 # 2 168 -16902 0 # 2 169 -16903 0 # 2 170 -16904 0 # 2 171 -16905 0 # 2 172 -16906 0 # 2 173 -16907 0 # 2 174 -16908 0 # 2 175 -16909 0 # 2 176 -16910 0 # 2 177 -16911 0 # 2 178 -16912 0 # 2 179 -16913 0 # 2 180 -16914 0 # 2 181 -16915 0 # 2 182 -16916 0 # 2 183 -16917 0 # 2 184 -16918 0 # 2 185 -16919 0 # 2 186 -16920 0 # 2 187 -16921 0 # 2 188 -16922 0 # 2 189 -16923 0 # 2 190 -16924 0 # 2 191 -16925 0 # 2 192 -16926 0 # 2 193 -16927 0 # 2 194 -16928 0 # 2 195 -16929 0 # 2 196 -16930 0 # 2 197 -16931 0 # 2 198 -16932 0 # 2 199 -16933 0 # 2 200 -16934 0 # 2 201 -16935 0 # 2 202 -16936 0 # 2 203 -16937 0 # 2 204 -16938 0 # 2 205 -16939 0 # 2 206 -16940 0 # 2 207 -16941 0 # 2 208 -16942 0 # 2 209 -16943 0 # 2 210 -16944 0 # 2 211 -16945 0 # 2 212 -16946 0 # 2 213 -16947 0 # 2 214 -16948 0 # 2 215 -16949 0 # 2 216 -16950 0 # 2 217 -16951 0 # 2 218 -16952 0 # 2 219 -16953 0 # 2 220 -16954 0 # 2 221 -16955 0 # 2 222 -16956 0 # 2 223 -16957 0 # 2 224 -16958 0 # 2 225 -16959 0 # 2 226 -16960 0 # 2 227 -16961 0 # 2 228 -16962 0 # 2 229 -16963 0 # 2 230 -16964 0 # 2 231 -16965 0 # 2 232 -16966 0 # 2 233 -16967 0 # 2 234 -16968 0 # 2 235 -16969 0 # 2 236 -16970 0 # 2 237 -16971 0 # 2 238 -16972 0 # 2 239 -16973 0 # 2 240 -16974 0 # 2 241 -16975 0 # 2 242 -16976 0 # 2 243 -16977 0 # 2 244 -16978 0 # 2 245 -16979 0 # 2 246 -16980 0 # 2 247 -16981 0 # 2 248 -16982 0 # 2 249 -16983 0 # 2 250 -16984 0 # 2 251 -16985 0 # 2 252 -16986 0 # 2 253 -16987 0 # 2 254 -16988 0 # 2 255 -16989 0 # 2 256 -16990 0 # 2 257 -16991 0 # 2 258 -16992 0 # 2 259 -16993 0 # 2 260 -16994 0 # 2 261 -16995 0 # 2 262 -16996 0 # 2 263 -16997 0 # 2 264 -16998 0 # 2 265 -16999 0 # 2 266 -17000 0 # 2 267 -17001 0 # 2 268 -17002 0 # 2 269 -17003 0 # 2 270 -17004 0 # 2 271 -17005 0 # 2 272 -17006 0 # 2 273 -17007 0 # 2 274 -17008 0 # 2 275 -17009 0 # 2 276 -17010 0 # 2 277 -17011 0 # 2 278 -17012 0 # 2 279 -17013 0 # 2 280 -17014 0 # 2 281 -17015 0 # 2 282 -17016 0 # 2 283 -17017 0 # 2 284 -17018 0 # 2 285 -17019 0 # 2 286 -17020 0 # 2 287 -17021 0 # 2 288 -17022 0 # 2 289 -17023 0 # 2 290 -17024 0 # 2 291 -17025 0 # 2 292 -17026 0 # 2 293 -17027 0 # 2 294 -17028 0 # 2 295 -17029 0 # 2 296 -17030 0 # 2 297 -17031 0 # 2 298 -17032 0 # 2 299 -17033 0 # 2 300 -17034 0 # 2 301 -17035 0 # 2 302 -17036 0 # 2 303 -17037 0 # 2 304 -17038 0 # 2 305 -17039 0 # 2 306 -17040 0 # 2 307 -17041 0 # 2 308 -17042 0 # 2 309 -17043 0 # 2 310 -17044 0 # 2 311 -17045 0 # 2 312 -17046 0 # 2 313 -17047 0 # 2 314 -17048 0 # 2 315 -17049 0 # 2 316 -17050 0 # 2 317 -17051 0 # 2 318 -17052 0 # 2 319 -17053 0 # 2 320 -17054 0 # 2 321 -17055 0 # 2 322 -17056 0 # 2 323 -17057 0 # 2 324 -17058 0 # 2 325 -17059 0 # 2 326 -17060 0 # 2 327 -17061 0 # 2 328 -17062 0 # 2 329 -17063 0 # 2 330 -17064 0 # 2 331 -17065 0 # 2 332 -17066 0 # 2 333 -17067 0 # 2 334 -17068 0 # 2 335 -17069 0 # 2 336 -17070 0 # 2 337 -17071 0 # 2 338 -17072 0 # 2 339 -17073 0 # 2 340 -17074 0 # 2 341 -17075 0 # 2 342 -17076 0 # 2 343 -17077 0 # 2 344 -17078 0 # 2 345 -17079 0 # 2 346 -17080 0 # 2 347 -17081 0 # 2 348 -17082 0 # 2 349 -17083 0 # 2 350 -17084 0 # 2 351 -17085 0 # 2 352 -17086 0 # 2 353 -17087 0 # 2 354 -17088 0 # 2 355 -17089 0 # 2 356 -17090 0 # 2 357 -17091 0 # 2 358 -17092 0 # 2 359 -17093 0 # 2 360 -17094 0 # 2 361 -17095 0 # 2 362 -17096 0 # 2 363 -17097 0 # 2 364 -17098 0 # 2 365 -17099 0 # 2 366 -17100 0 # 2 367 -17101 0 # 2 368 -17102 0 # 2 369 -17103 0 # 2 370 -17104 0 # 2 371 -17105 0 # 2 372 -17106 0 # 2 373 -17107 0 # 2 374 -17108 0 # 2 375 -17109 0 # 2 376 -17110 0 # 2 377 -17111 0 # 2 378 -17112 0 # 2 379 -17113 0 # 2 380 -17114 0 # 2 381 -17115 0 # 2 382 -17116 0 # 2 383 -17117 0 # 2 384 -17118 0 # 2 385 -17119 0 # 2 386 -17120 0 # 2 387 -17121 0 # 2 388 -17122 0 # 2 389 -17123 0 # 2 390 -17124 0 # 2 391 -17125 0 # 2 392 -17126 0 # 2 393 -17127 0 # 2 394 -17128 0 # 2 395 -17129 0 # 2 396 -17130 0 # 2 397 -17131 0 # 2 398 -17132 0 # 2 399 -17133 0 # 2 400 -17134 0 # 2 401 -17135 0 # 2 402 -17136 0 # 2 403 -17137 0 # 2 404 -17138 0 # 2 405 -17139 0 # 2 406 -17140 0 # 2 407 -17141 0 # 2 408 -17142 0 # 2 409 -17143 0 # 2 410 -17144 0 # 2 411 -17145 0 # 2 412 -17146 0 # 2 413 -17147 0 # 2 414 -17148 0 # 2 415 -17149 0 # 2 416 -17150 0 # 2 417 -17151 0 # 2 418 -17152 0 # 2 419 -17153 0 # 2 420 -17154 0 # 2 421 -17155 0 # 2 422 -17156 0 # 2 423 -17157 0 # 2 424 -17158 0 # 2 425 -17159 0 # 2 426 -17160 0 # 2 427 -17161 0 # 2 428 -17162 0 # 2 429 -17163 0 # 2 430 -17164 0 # 2 431 -17165 0 # 2 432 -17166 0 # 2 433 -17167 0 # 2 434 -17168 0 # 2 435 -17169 0 # 2 436 -17170 0 # 2 437 -17171 0 # 2 438 -17172 0 # 2 439 -17173 0 # 2 440 -17174 0 # 2 441 -17175 0 # 2 442 -17176 0 # 2 443 -17177 0 # 2 444 -17178 0 # 2 445 -17179 0 # 2 446 -17180 0 # 2 447 -17181 0 # 2 448 -17182 0 # 2 449 -17183 0 # 2 450 -17184 0 # 2 451 -17185 0 # 2 452 -17186 0 # 2 453 -17187 0 # 2 454 -17188 0 # 2 455 -17189 0 # 2 456 -17190 0 # 2 457 -17191 0 # 2 458 -17192 0 # 2 459 -17193 0 # 2 460 -17194 0 # 2 461 -17195 0 # 2 462 -17196 0 # 2 463 -17197 0 # 2 464 -17198 0 # 2 465 -17199 0 # 2 466 -17200 0 # 2 467 -17201 0 # 2 468 -17202 0 # 2 469 -17203 0 # 2 470 -17204 0 # 2 471 -17205 0 # 2 472 -17206 0 # 2 473 -17207 0 # 2 474 -17208 0 # 2 475 -17209 0 # 2 476 -17210 0 # 2 477 -17211 0 # 2 478 -17212 0 # 2 479 -17213 0 # 2 480 -17214 0 # 2 481 -17215 0 # 2 482 -17216 0 # 2 483 -17217 0 # 2 484 -17218 0 # 2 485 -17219 0 # 2 486 -17220 0 # 2 487 -17221 0 # 2 488 -17222 0 # 2 489 -17223 0 # 2 490 -17224 0 # 2 491 -17225 0 # 2 492 -17226 0 # 2 493 -17227 0 # 2 494 -17228 0 # 2 495 -17229 0 # 2 496 -17230 0 # 2 497 -17231 0 # 2 498 -17232 0 # 2 499 -17233 0 # 2 500 -17234 0 # 2 501 -17235 0 # 2 502 -17236 0 # 2 503 -17237 0 # 2 504 -17238 0 # 2 505 -17239 0 # 2 506 -17240 0 # 2 507 -17241 0 # 2 508 -17242 0 # 2 509 -17243 0 # 2 510 -17244 0 # 2 511 -17245 0 # 2 512 -17246 0 # 2 513 -17247 0 # 2 514 -17248 0 # 2 515 -17249 0 # 2 516 -17250 0 # 2 517 -17251 0 # 2 518 -17252 0 # 2 519 -17253 0 # 2 520 -17254 0 # 2 521 -17255 0 # 2 522 -17256 0 # 2 523 -17257 0 # 2 524 -17258 0 # 2 525 -17259 0 # 2 526 -17260 0 # 2 527 -17261 0 # 2 528 -17262 0 # 2 529 -17263 0 # 2 530 -17264 0 # 2 531 -17265 0 # 2 532 -17266 0 # 2 533 -17267 0 # 2 534 -17268 0 # 2 535 -17269 0 # 2 536 -17270 0 # 2 537 -17271 0 # 2 538 -17272 0 # 2 539 -17273 0 # 2 540 -17274 0 # 2 541 -17275 0 # 2 542 -17276 0 # 2 543 -17277 0 # 2 544 -17278 0 # 2 545 -17279 0 # 2 546 -17280 0 # 2 547 -17281 0 # 2 548 -17282 0 # 2 549 -17283 0 # 2 550 -17284 0 # 2 551 -17285 0 # 2 552 -17286 0 # 2 553 -17287 0 # 2 554 -17288 0 # 2 555 -17289 0 # 2 556 -17290 0 # 2 557 -17291 0 # 2 558 -17292 0 # 2 559 -17293 0 # 2 560 -17294 0 # 2 561 -17295 0 # 2 562 -17296 0 # 2 563 -17297 0 # 2 564 -17298 0 # 2 565 -17299 0 # 2 566 -17300 0 # 2 567 -17301 0 # 2 568 -17302 0 # 2 569 -17303 0 # 2 570 -17304 0 # 2 571 -17305 0 # 2 572 -17306 0 # 2 573 -17307 0 # 2 574 -17308 0 # 2 575 -17309 0 # 2 576 -17310 0 # 3 0 -17311 0 # 3 1 -17312 0 # 3 2 -17313 1 # 3 3 -17314 1 # 3 4 -17315 0 # 3 5 -17316 1 # 3 6 -17317 1 # 3 7 -17318 2 # 3 8 -17319 4 # 3 9 -17320 2 # 3 10 -17321 3 # 3 11 -17322 2 # 3 12 -17323 4 # 3 13 -17324 4 # 3 14 -17325 4 # 3 15 -17326 3 # 3 16 -17327 4 # 3 17 -17328 4 # 3 18 -17329 4 # 3 19 -17330 5 # 3 20 -17331 5 # 3 21 -17332 5 # 3 22 -17333 6 # 3 23 -17334 5 # 3 24 -17335 5 # 3 25 -17336 6 # 3 26 -17337 6 # 3 27 -17338 6 # 3 28 -17339 6 # 3 29 -17340 7 # 3 30 -17341 7 # 3 31 -17342 7 # 3 32 -17343 7 # 3 33 -17344 7 # 3 34 -17345 7 # 3 35 -17346 7 # 3 36 -17347 8 # 3 37 -17348 8 # 3 38 -17349 8 # 3 39 -17350 9 # 3 40 -17351 8 # 3 41 -17352 9 # 3 42 -17353 9 # 3 43 -17354 8 # 3 44 -17355 9 # 3 45 -17356 11 # 3 46 -17357 11 # 3 47 -17358 9 # 3 48 -17359 10 # 3 49 -17360 9 # 3 50 -17361 10 # 3 51 -17362 12 # 3 52 -17363 10 # 3 53 -17364 10 # 3 54 -17365 11 # 3 55 -17366 13 # 3 56 -17367 13 # 3 57 -17368 14 # 3 58 -17369 11 # 3 59 -17370 11 # 3 60 -17371 10 # 3 61 -17372 14 # 3 62 -17373 13 # 3 63 -17374 8 # 3 64 -17375 15 # 3 65 -17376 15 # 3 66 -17377 11 # 3 67 -17378 12 # 3 68 -17379 18 # 3 69 -17380 9 # 3 70 -17381 16 # 3 71 -17382 8 # 3 72 -17383 17 # 3 73 -17384 16 # 3 74 -17385 20 # 3 75 -17386 12 # 3 76 -17387 22 # 3 77 -17388 6 # 3 78 -17389 12 # 3 79 -17390 6 # 3 80 -17391 8 # 3 81 -17392 6 # 3 82 -17393 11 # 3 83 -17394 0 # 3 84 -17395 10 # 3 85 -17396 0 # 3 86 -17397 0 # 3 87 -17398 13 # 3 88 -17399 15 # 3 89 -17400 7 # 3 90 -17401 8 # 3 91 -17402 0 # 3 92 -17403 7 # 3 93 -17404 0 # 3 94 -17405 0 # 3 95 -17406 0 # 3 96 -17407 0 # 3 97 -17408 0 # 3 98 -17409 0 # 3 99 -17410 0 # 3 100 -17411 0 # 3 101 -17412 0 # 3 102 -17413 0 # 3 103 -17414 0 # 3 104 -17415 0 # 3 105 -17416 0 # 3 106 -17417 0 # 3 107 -17418 0 # 3 108 -17419 0 # 3 109 -17420 0 # 3 110 -17421 0 # 3 111 -17422 0 # 3 112 -17423 0 # 3 113 -17424 0 # 3 114 -17425 0 # 3 115 -17426 0 # 3 116 -17427 0 # 3 117 -17428 0 # 3 118 -17429 0 # 3 119 -17430 0 # 3 120 -17431 0 # 3 121 -17432 0 # 3 122 -17433 0 # 3 123 -17434 0 # 3 124 -17435 0 # 3 125 -17436 0 # 3 126 -17437 0 # 3 127 -17438 0 # 3 128 -17439 0 # 3 129 -17440 0 # 3 130 -17441 0 # 3 131 -17442 0 # 3 132 -17443 0 # 3 133 -17444 0 # 3 134 -17445 0 # 3 135 -17446 0 # 3 136 -17447 0 # 3 137 -17448 0 # 3 138 -17449 0 # 3 139 -17450 0 # 3 140 -17451 0 # 3 141 -17452 0 # 3 142 -17453 0 # 3 143 -17454 0 # 3 144 -17455 0 # 3 145 -17456 0 # 3 146 -17457 0 # 3 147 -17458 0 # 3 148 -17459 0 # 3 149 -17460 0 # 3 150 -17461 0 # 3 151 -17462 0 # 3 152 -17463 0 # 3 153 -17464 0 # 3 154 -17465 0 # 3 155 -17466 0 # 3 156 -17467 0 # 3 157 -17468 0 # 3 158 -17469 0 # 3 159 -17470 0 # 3 160 -17471 0 # 3 161 -17472 0 # 3 162 -17473 0 # 3 163 -17474 0 # 3 164 -17475 0 # 3 165 -17476 0 # 3 166 -17477 0 # 3 167 -17478 0 # 3 168 -17479 0 # 3 169 -17480 0 # 3 170 -17481 0 # 3 171 -17482 0 # 3 172 -17483 0 # 3 173 -17484 0 # 3 174 -17485 0 # 3 175 -17486 0 # 3 176 -17487 0 # 3 177 -17488 0 # 3 178 -17489 0 # 3 179 -17490 0 # 3 180 -17491 0 # 3 181 -17492 0 # 3 182 -17493 0 # 3 183 -17494 0 # 3 184 -17495 0 # 3 185 -17496 0 # 3 186 -17497 0 # 3 187 -17498 0 # 3 188 -17499 0 # 3 189 -17500 0 # 3 190 -17501 0 # 3 191 -17502 0 # 3 192 -17503 0 # 3 193 -17504 0 # 3 194 -17505 0 # 3 195 -17506 0 # 3 196 -17507 0 # 3 197 -17508 0 # 3 198 -17509 0 # 3 199 -17510 0 # 3 200 -17511 0 # 3 201 -17512 0 # 3 202 -17513 0 # 3 203 -17514 0 # 3 204 -17515 0 # 3 205 -17516 0 # 3 206 -17517 0 # 3 207 -17518 0 # 3 208 -17519 0 # 3 209 -17520 0 # 3 210 -17521 0 # 3 211 -17522 0 # 3 212 -17523 0 # 3 213 -17524 0 # 3 214 -17525 0 # 3 215 -17526 0 # 3 216 -17527 0 # 3 217 -17528 0 # 3 218 -17529 0 # 3 219 -17530 0 # 3 220 -17531 0 # 3 221 -17532 0 # 3 222 -17533 0 # 3 223 -17534 0 # 3 224 -17535 0 # 3 225 -17536 0 # 3 226 -17537 0 # 3 227 -17538 0 # 3 228 -17539 0 # 3 229 -17540 0 # 3 230 -17541 0 # 3 231 -17542 0 # 3 232 -17543 0 # 3 233 -17544 0 # 3 234 -17545 0 # 3 235 -17546 0 # 3 236 -17547 0 # 3 237 -17548 0 # 3 238 -17549 0 # 3 239 -17550 0 # 3 240 -17551 0 # 3 241 -17552 0 # 3 242 -17553 0 # 3 243 -17554 0 # 3 244 -17555 0 # 3 245 -17556 0 # 3 246 -17557 0 # 3 247 -17558 0 # 3 248 -17559 0 # 3 249 -17560 0 # 3 250 -17561 0 # 3 251 -17562 0 # 3 252 -17563 0 # 3 253 -17564 0 # 3 254 -17565 0 # 3 255 -17566 0 # 3 256 -17567 0 # 3 257 -17568 0 # 3 258 -17569 0 # 3 259 -17570 0 # 3 260 -17571 0 # 3 261 -17572 0 # 3 262 -17573 0 # 3 263 -17574 0 # 3 264 -17575 0 # 3 265 -17576 0 # 3 266 -17577 0 # 3 267 -17578 0 # 3 268 -17579 0 # 3 269 -17580 0 # 3 270 -17581 0 # 3 271 -17582 0 # 3 272 -17583 0 # 3 273 -17584 0 # 3 274 -17585 0 # 3 275 -17586 0 # 3 276 -17587 0 # 3 277 -17588 0 # 3 278 -17589 0 # 3 279 -17590 0 # 3 280 -17591 0 # 3 281 -17592 0 # 3 282 -17593 0 # 3 283 -17594 0 # 3 284 -17595 0 # 3 285 -17596 0 # 3 286 -17597 0 # 3 287 -17598 0 # 3 288 -17599 0 # 3 289 -17600 0 # 3 290 -17601 0 # 3 291 -17602 0 # 3 292 -17603 0 # 3 293 -17604 0 # 3 294 -17605 0 # 3 295 -17606 0 # 3 296 -17607 0 # 3 297 -17608 0 # 3 298 -17609 0 # 3 299 -17610 0 # 3 300 -17611 0 # 3 301 -17612 0 # 3 302 -17613 0 # 3 303 -17614 0 # 3 304 -17615 0 # 3 305 -17616 0 # 3 306 -17617 0 # 3 307 -17618 0 # 3 308 -17619 0 # 3 309 -17620 0 # 3 310 -17621 0 # 3 311 -17622 0 # 3 312 -17623 0 # 3 313 -17624 0 # 3 314 -17625 0 # 3 315 -17626 0 # 3 316 -17627 0 # 3 317 -17628 0 # 3 318 -17629 0 # 3 319 -17630 0 # 3 320 -17631 0 # 3 321 -17632 0 # 3 322 -17633 0 # 3 323 -17634 0 # 3 324 -17635 0 # 3 325 -17636 0 # 3 326 -17637 0 # 3 327 -17638 0 # 3 328 -17639 0 # 3 329 -17640 0 # 3 330 -17641 0 # 3 331 -17642 0 # 3 332 -17643 0 # 3 333 -17644 0 # 3 334 -17645 0 # 3 335 -17646 0 # 3 336 -17647 0 # 3 337 -17648 0 # 3 338 -17649 0 # 3 339 -17650 0 # 3 340 -17651 0 # 3 341 -17652 0 # 3 342 -17653 0 # 3 343 -17654 0 # 3 344 -17655 0 # 3 345 -17656 0 # 3 346 -17657 0 # 3 347 -17658 0 # 3 348 -17659 0 # 3 349 -17660 0 # 3 350 -17661 0 # 3 351 -17662 0 # 3 352 -17663 0 # 3 353 -17664 0 # 3 354 -17665 0 # 3 355 -17666 0 # 3 356 -17667 0 # 3 357 -17668 0 # 3 358 -17669 0 # 3 359 -17670 0 # 3 360 -17671 0 # 3 361 -17672 0 # 3 362 -17673 0 # 3 363 -17674 0 # 3 364 -17675 0 # 3 365 -17676 0 # 3 366 -17677 0 # 3 367 -17678 0 # 3 368 -17679 0 # 3 369 -17680 0 # 3 370 -17681 0 # 3 371 -17682 0 # 3 372 -17683 0 # 3 373 -17684 0 # 3 374 -17685 0 # 3 375 -17686 0 # 3 376 -17687 0 # 3 377 -17688 0 # 3 378 -17689 0 # 3 379 -17690 0 # 3 380 -17691 0 # 3 381 -17692 0 # 3 382 -17693 0 # 3 383 -17694 0 # 3 384 -17695 0 # 3 385 -17696 0 # 3 386 -17697 0 # 3 387 -17698 0 # 3 388 -17699 0 # 3 389 -17700 0 # 3 390 -17701 0 # 3 391 -17702 0 # 3 392 -17703 0 # 3 393 -17704 0 # 3 394 -17705 0 # 3 395 -17706 0 # 3 396 -17707 0 # 3 397 -17708 0 # 3 398 -17709 0 # 3 399 -17710 0 # 3 400 -17711 0 # 3 401 -17712 0 # 3 402 -17713 0 # 3 403 -17714 0 # 3 404 -17715 0 # 3 405 -17716 0 # 3 406 -17717 0 # 3 407 -17718 0 # 3 408 -17719 0 # 3 409 -17720 0 # 3 410 -17721 0 # 3 411 -17722 0 # 3 412 -17723 0 # 3 413 -17724 0 # 3 414 -17725 0 # 3 415 -17726 0 # 3 416 -17727 0 # 3 417 -17728 0 # 3 418 -17729 0 # 3 419 -17730 0 # 3 420 -17731 0 # 3 421 -17732 0 # 3 422 -17733 0 # 3 423 -17734 0 # 3 424 -17735 0 # 3 425 -17736 0 # 3 426 -17737 0 # 3 427 -17738 0 # 3 428 -17739 0 # 3 429 -17740 0 # 3 430 -17741 0 # 3 431 -17742 0 # 3 432 -17743 0 # 3 433 -17744 0 # 3 434 -17745 0 # 3 435 -17746 0 # 3 436 -17747 0 # 3 437 -17748 0 # 3 438 -17749 0 # 3 439 -17750 0 # 3 440 -17751 0 # 3 441 -17752 0 # 3 442 -17753 0 # 3 443 -17754 0 # 3 444 -17755 0 # 3 445 -17756 0 # 3 446 -17757 0 # 3 447 -17758 0 # 3 448 -17759 0 # 3 449 -17760 0 # 3 450 -17761 0 # 3 451 -17762 0 # 3 452 -17763 0 # 3 453 -17764 0 # 3 454 -17765 0 # 3 455 -17766 0 # 3 456 -17767 0 # 3 457 -17768 0 # 3 458 -17769 0 # 3 459 -17770 0 # 3 460 -17771 0 # 3 461 -17772 0 # 3 462 -17773 0 # 3 463 -17774 0 # 3 464 -17775 0 # 3 465 -17776 0 # 3 466 -17777 0 # 3 467 -17778 0 # 3 468 -17779 0 # 3 469 -17780 0 # 3 470 -17781 0 # 3 471 -17782 0 # 3 472 -17783 0 # 3 473 -17784 0 # 3 474 -17785 0 # 3 475 -17786 0 # 3 476 -17787 0 # 3 477 -17788 0 # 3 478 -17789 0 # 3 479 -17790 0 # 3 480 -17791 0 # 3 481 -17792 0 # 3 482 -17793 0 # 3 483 -17794 0 # 3 484 -17795 0 # 3 485 -17796 0 # 3 486 -17797 0 # 3 487 -17798 0 # 3 488 -17799 0 # 3 489 -17800 0 # 3 490 -17801 0 # 3 491 -17802 0 # 3 492 -17803 0 # 3 493 -17804 0 # 3 494 -17805 0 # 3 495 -17806 0 # 3 496 -17807 0 # 3 497 -17808 0 # 3 498 -17809 0 # 3 499 -17810 0 # 3 500 -17811 0 # 3 501 -17812 0 # 3 502 -17813 0 # 3 503 -17814 0 # 3 504 -17815 0 # 3 505 -17816 0 # 3 506 -17817 0 # 3 507 -17818 0 # 3 508 -17819 0 # 3 509 -17820 0 # 3 510 -17821 0 # 3 511 -17822 0 # 3 512 -17823 0 # 3 513 -17824 0 # 3 514 -17825 0 # 3 515 -17826 0 # 3 516 -17827 0 # 3 517 -17828 0 # 3 518 -17829 0 # 3 519 -17830 0 # 3 520 -17831 0 # 3 521 -17832 0 # 3 522 -17833 0 # 3 523 -17834 0 # 3 524 -17835 0 # 3 525 -17836 0 # 3 526 -17837 0 # 3 527 -17838 0 # 3 528 -17839 0 # 3 529 -17840 0 # 3 530 -17841 0 # 3 531 -17842 0 # 3 532 -17843 0 # 3 533 -17844 0 # 3 534 -17845 0 # 3 535 -17846 0 # 3 536 -17847 0 # 3 537 -17848 0 # 3 538 -17849 0 # 3 539 -17850 0 # 3 540 -17851 0 # 3 541 -17852 0 # 3 542 -17853 0 # 3 543 -17854 0 # 3 544 -17855 0 # 3 545 -17856 0 # 3 546 -17857 0 # 3 547 -17858 0 # 3 548 -17859 0 # 3 549 -17860 0 # 3 550 -17861 0 # 3 551 -17862 0 # 3 552 -17863 0 # 3 553 -17864 0 # 3 554 -17865 0 # 3 555 -17866 0 # 3 556 -17867 0 # 3 557 -17868 0 # 3 558 -17869 0 # 3 559 -17870 0 # 3 560 -17871 0 # 3 561 -17872 0 # 3 562 -17873 0 # 3 563 -17874 0 # 3 564 -17875 0 # 3 565 -17876 0 # 3 566 -17877 0 # 3 567 -17878 0 # 3 568 -17879 0 # 3 569 -17880 0 # 3 570 -17881 0 # 3 571 -17882 0 # 3 572 -17883 0 # 3 573 -17884 0 # 3 574 -17885 0 # 3 575 -17886 0 # 3 576 -17887 0 # 4 0 -17888 0 # 4 1 -17889 0 # 4 2 -17890 0 # 4 3 -17891 1 # 4 4 -17892 0 # 4 5 -17893 4 # 4 6 -17894 1 # 4 7 -17895 2 # 4 8 -17896 3 # 4 9 -17897 3 # 4 10 -17898 3 # 4 11 -17899 2 # 4 12 -17900 4 # 4 13 -17901 4 # 4 14 -17902 4 # 4 15 -17903 4 # 4 16 -17904 4 # 4 17 -17905 5 # 4 18 -17906 4 # 4 19 -17907 5 # 4 20 -17908 5 # 4 21 -17909 5 # 4 22 -17910 6 # 4 23 -17911 5 # 4 24 -17912 6 # 4 25 -17913 6 # 4 26 -17914 6 # 4 27 -17915 6 # 4 28 -17916 6 # 4 29 -17917 6 # 4 30 -17918 7 # 4 31 -17919 7 # 4 32 -17920 7 # 4 33 -17921 7 # 4 34 -17922 7 # 4 35 -17923 8 # 4 36 -17924 7 # 4 37 -17925 9 # 4 38 -17926 8 # 4 39 -17927 8 # 4 40 -17928 8 # 4 41 -17929 9 # 4 42 -17930 8 # 4 43 -17931 9 # 4 44 -17932 9 # 4 45 -17933 9 # 4 46 -17934 11 # 4 47 -17935 10 # 4 48 -17936 9 # 4 49 -17937 9 # 4 50 -17938 9 # 4 51 -17939 11 # 4 52 -17940 9 # 4 53 -17941 9 # 4 54 -17942 11 # 4 55 -17943 12 # 4 56 -17944 13 # 4 57 -17945 11 # 4 58 -17946 10 # 4 59 -17947 11 # 4 60 -17948 9 # 4 61 -17949 13 # 4 62 -17950 13 # 4 63 -17951 9 # 4 64 -17952 19 # 4 65 -17953 9 # 4 66 -17954 10 # 4 67 -17955 14 # 4 68 -17956 23 # 4 69 -17957 10 # 4 70 -17958 11 # 4 71 -17959 10 # 4 72 -17960 20 # 4 73 -17961 10 # 4 74 -17962 15 # 4 75 -17963 10 # 4 76 -17964 19 # 4 77 -17965 7 # 4 78 -17966 10 # 4 79 -17967 7 # 4 80 -17968 6 # 4 81 -17969 9 # 4 82 -17970 10 # 4 83 -17971 0 # 4 84 -17972 9 # 4 85 -17973 0 # 4 86 -17974 0 # 4 87 -17975 12 # 4 88 -17976 9 # 4 89 -17977 3 # 4 90 -17978 4 # 4 91 -17979 0 # 4 92 -17980 5 # 4 93 -17981 0 # 4 94 -17982 0 # 4 95 -17983 0 # 4 96 -17984 0 # 4 97 -17985 0 # 4 98 -17986 0 # 4 99 -17987 0 # 4 100 -17988 0 # 4 101 -17989 0 # 4 102 -17990 0 # 4 103 -17991 0 # 4 104 -17992 0 # 4 105 -17993 0 # 4 106 -17994 0 # 4 107 -17995 0 # 4 108 -17996 0 # 4 109 -17997 0 # 4 110 -17998 0 # 4 111 -17999 0 # 4 112 -18000 0 # 4 113 -18001 0 # 4 114 -18002 0 # 4 115 -18003 0 # 4 116 -18004 0 # 4 117 -18005 0 # 4 118 -18006 0 # 4 119 -18007 0 # 4 120 -18008 0 # 4 121 -18009 0 # 4 122 -18010 0 # 4 123 -18011 0 # 4 124 -18012 0 # 4 125 -18013 0 # 4 126 -18014 0 # 4 127 -18015 0 # 4 128 -18016 0 # 4 129 -18017 0 # 4 130 -18018 0 # 4 131 -18019 0 # 4 132 -18020 0 # 4 133 -18021 0 # 4 134 -18022 0 # 4 135 -18023 0 # 4 136 -18024 0 # 4 137 -18025 0 # 4 138 -18026 0 # 4 139 -18027 0 # 4 140 -18028 0 # 4 141 -18029 0 # 4 142 -18030 0 # 4 143 -18031 0 # 4 144 -18032 0 # 4 145 -18033 0 # 4 146 -18034 0 # 4 147 -18035 0 # 4 148 -18036 0 # 4 149 -18037 0 # 4 150 -18038 0 # 4 151 -18039 0 # 4 152 -18040 0 # 4 153 -18041 0 # 4 154 -18042 0 # 4 155 -18043 0 # 4 156 -18044 0 # 4 157 -18045 0 # 4 158 -18046 0 # 4 159 -18047 0 # 4 160 -18048 0 # 4 161 -18049 0 # 4 162 -18050 0 # 4 163 -18051 0 # 4 164 -18052 0 # 4 165 -18053 0 # 4 166 -18054 0 # 4 167 -18055 0 # 4 168 -18056 0 # 4 169 -18057 0 # 4 170 -18058 0 # 4 171 -18059 0 # 4 172 -18060 0 # 4 173 -18061 0 # 4 174 -18062 0 # 4 175 -18063 0 # 4 176 -18064 0 # 4 177 -18065 0 # 4 178 -18066 0 # 4 179 -18067 0 # 4 180 -18068 0 # 4 181 -18069 0 # 4 182 -18070 0 # 4 183 -18071 0 # 4 184 -18072 0 # 4 185 -18073 0 # 4 186 -18074 0 # 4 187 -18075 0 # 4 188 -18076 0 # 4 189 -18077 0 # 4 190 -18078 0 # 4 191 -18079 0 # 4 192 -18080 0 # 4 193 -18081 0 # 4 194 -18082 0 # 4 195 -18083 0 # 4 196 -18084 0 # 4 197 -18085 0 # 4 198 -18086 0 # 4 199 -18087 0 # 4 200 -18088 0 # 4 201 -18089 0 # 4 202 -18090 0 # 4 203 -18091 0 # 4 204 -18092 0 # 4 205 -18093 0 # 4 206 -18094 0 # 4 207 -18095 0 # 4 208 -18096 0 # 4 209 -18097 0 # 4 210 -18098 0 # 4 211 -18099 0 # 4 212 -18100 0 # 4 213 -18101 0 # 4 214 -18102 0 # 4 215 -18103 0 # 4 216 -18104 0 # 4 217 -18105 0 # 4 218 -18106 0 # 4 219 -18107 0 # 4 220 -18108 0 # 4 221 -18109 0 # 4 222 -18110 0 # 4 223 -18111 0 # 4 224 -18112 0 # 4 225 -18113 0 # 4 226 -18114 0 # 4 227 -18115 0 # 4 228 -18116 0 # 4 229 -18117 0 # 4 230 -18118 0 # 4 231 -18119 0 # 4 232 -18120 0 # 4 233 -18121 0 # 4 234 -18122 0 # 4 235 -18123 0 # 4 236 -18124 0 # 4 237 -18125 0 # 4 238 -18126 0 # 4 239 -18127 0 # 4 240 -18128 0 # 4 241 -18129 0 # 4 242 -18130 0 # 4 243 -18131 0 # 4 244 -18132 0 # 4 245 -18133 0 # 4 246 -18134 0 # 4 247 -18135 0 # 4 248 -18136 0 # 4 249 -18137 0 # 4 250 -18138 0 # 4 251 -18139 0 # 4 252 -18140 0 # 4 253 -18141 0 # 4 254 -18142 0 # 4 255 -18143 0 # 4 256 -18144 0 # 4 257 -18145 0 # 4 258 -18146 0 # 4 259 -18147 0 # 4 260 -18148 0 # 4 261 -18149 0 # 4 262 -18150 0 # 4 263 -18151 0 # 4 264 -18152 0 # 4 265 -18153 0 # 4 266 -18154 0 # 4 267 -18155 0 # 4 268 -18156 0 # 4 269 -18157 0 # 4 270 -18158 0 # 4 271 -18159 0 # 4 272 -18160 0 # 4 273 -18161 0 # 4 274 -18162 0 # 4 275 -18163 0 # 4 276 -18164 0 # 4 277 -18165 0 # 4 278 -18166 0 # 4 279 -18167 0 # 4 280 -18168 0 # 4 281 -18169 0 # 4 282 -18170 0 # 4 283 -18171 0 # 4 284 -18172 0 # 4 285 -18173 0 # 4 286 -18174 0 # 4 287 -18175 0 # 4 288 -18176 0 # 4 289 -18177 0 # 4 290 -18178 0 # 4 291 -18179 0 # 4 292 -18180 0 # 4 293 -18181 0 # 4 294 -18182 0 # 4 295 -18183 0 # 4 296 -18184 0 # 4 297 -18185 0 # 4 298 -18186 0 # 4 299 -18187 0 # 4 300 -18188 0 # 4 301 -18189 0 # 4 302 -18190 0 # 4 303 -18191 0 # 4 304 -18192 0 # 4 305 -18193 0 # 4 306 -18194 0 # 4 307 -18195 0 # 4 308 -18196 0 # 4 309 -18197 0 # 4 310 -18198 0 # 4 311 -18199 0 # 4 312 -18200 0 # 4 313 -18201 0 # 4 314 -18202 0 # 4 315 -18203 0 # 4 316 -18204 0 # 4 317 -18205 0 # 4 318 -18206 0 # 4 319 -18207 0 # 4 320 -18208 0 # 4 321 -18209 0 # 4 322 -18210 0 # 4 323 -18211 0 # 4 324 -18212 0 # 4 325 -18213 0 # 4 326 -18214 0 # 4 327 -18215 0 # 4 328 -18216 0 # 4 329 -18217 0 # 4 330 -18218 0 # 4 331 -18219 0 # 4 332 -18220 0 # 4 333 -18221 0 # 4 334 -18222 0 # 4 335 -18223 0 # 4 336 -18224 0 # 4 337 -18225 0 # 4 338 -18226 0 # 4 339 -18227 0 # 4 340 -18228 0 # 4 341 -18229 0 # 4 342 -18230 0 # 4 343 -18231 0 # 4 344 -18232 0 # 4 345 -18233 0 # 4 346 -18234 0 # 4 347 -18235 0 # 4 348 -18236 0 # 4 349 -18237 0 # 4 350 -18238 0 # 4 351 -18239 0 # 4 352 -18240 0 # 4 353 -18241 0 # 4 354 -18242 0 # 4 355 -18243 0 # 4 356 -18244 0 # 4 357 -18245 0 # 4 358 -18246 0 # 4 359 -18247 0 # 4 360 -18248 0 # 4 361 -18249 0 # 4 362 -18250 0 # 4 363 -18251 0 # 4 364 -18252 0 # 4 365 -18253 0 # 4 366 -18254 0 # 4 367 -18255 0 # 4 368 -18256 0 # 4 369 -18257 0 # 4 370 -18258 0 # 4 371 -18259 0 # 4 372 -18260 0 # 4 373 -18261 0 # 4 374 -18262 0 # 4 375 -18263 0 # 4 376 -18264 0 # 4 377 -18265 0 # 4 378 -18266 0 # 4 379 -18267 0 # 4 380 -18268 0 # 4 381 -18269 0 # 4 382 -18270 0 # 4 383 -18271 0 # 4 384 -18272 0 # 4 385 -18273 0 # 4 386 -18274 0 # 4 387 -18275 0 # 4 388 -18276 0 # 4 389 -18277 0 # 4 390 -18278 0 # 4 391 -18279 0 # 4 392 -18280 0 # 4 393 -18281 0 # 4 394 -18282 0 # 4 395 -18283 0 # 4 396 -18284 0 # 4 397 -18285 0 # 4 398 -18286 0 # 4 399 -18287 0 # 4 400 -18288 0 # 4 401 -18289 0 # 4 402 -18290 0 # 4 403 -18291 0 # 4 404 -18292 0 # 4 405 -18293 0 # 4 406 -18294 0 # 4 407 -18295 0 # 4 408 -18296 0 # 4 409 -18297 0 # 4 410 -18298 0 # 4 411 -18299 0 # 4 412 -18300 0 # 4 413 -18301 0 # 4 414 -18302 0 # 4 415 -18303 0 # 4 416 -18304 0 # 4 417 -18305 0 # 4 418 -18306 0 # 4 419 -18307 0 # 4 420 -18308 0 # 4 421 -18309 0 # 4 422 -18310 0 # 4 423 -18311 0 # 4 424 -18312 0 # 4 425 -18313 0 # 4 426 -18314 0 # 4 427 -18315 0 # 4 428 -18316 0 # 4 429 -18317 0 # 4 430 -18318 0 # 4 431 -18319 0 # 4 432 -18320 0 # 4 433 -18321 0 # 4 434 -18322 0 # 4 435 -18323 0 # 4 436 -18324 0 # 4 437 -18325 0 # 4 438 -18326 0 # 4 439 -18327 0 # 4 440 -18328 0 # 4 441 -18329 0 # 4 442 -18330 0 # 4 443 -18331 0 # 4 444 -18332 0 # 4 445 -18333 0 # 4 446 -18334 0 # 4 447 -18335 0 # 4 448 -18336 0 # 4 449 -18337 0 # 4 450 -18338 0 # 4 451 -18339 0 # 4 452 -18340 0 # 4 453 -18341 0 # 4 454 -18342 0 # 4 455 -18343 0 # 4 456 -18344 0 # 4 457 -18345 0 # 4 458 -18346 0 # 4 459 -18347 0 # 4 460 -18348 0 # 4 461 -18349 0 # 4 462 -18350 0 # 4 463 -18351 0 # 4 464 -18352 0 # 4 465 -18353 0 # 4 466 -18354 0 # 4 467 -18355 0 # 4 468 -18356 0 # 4 469 -18357 0 # 4 470 -18358 0 # 4 471 -18359 0 # 4 472 -18360 0 # 4 473 -18361 0 # 4 474 -18362 0 # 4 475 -18363 0 # 4 476 -18364 0 # 4 477 -18365 0 # 4 478 -18366 0 # 4 479 -18367 0 # 4 480 -18368 0 # 4 481 -18369 0 # 4 482 -18370 0 # 4 483 -18371 0 # 4 484 -18372 0 # 4 485 -18373 0 # 4 486 -18374 0 # 4 487 -18375 0 # 4 488 -18376 0 # 4 489 -18377 0 # 4 490 -18378 0 # 4 491 -18379 0 # 4 492 -18380 0 # 4 493 -18381 0 # 4 494 -18382 0 # 4 495 -18383 0 # 4 496 -18384 0 # 4 497 -18385 0 # 4 498 -18386 0 # 4 499 -18387 0 # 4 500 -18388 0 # 4 501 -18389 0 # 4 502 -18390 0 # 4 503 -18391 0 # 4 504 -18392 0 # 4 505 -18393 0 # 4 506 -18394 0 # 4 507 -18395 0 # 4 508 -18396 0 # 4 509 -18397 0 # 4 510 -18398 0 # 4 511 -18399 0 # 4 512 -18400 0 # 4 513 -18401 0 # 4 514 -18402 0 # 4 515 -18403 0 # 4 516 -18404 0 # 4 517 -18405 0 # 4 518 -18406 0 # 4 519 -18407 0 # 4 520 -18408 0 # 4 521 -18409 0 # 4 522 -18410 0 # 4 523 -18411 0 # 4 524 -18412 0 # 4 525 -18413 0 # 4 526 -18414 0 # 4 527 -18415 0 # 4 528 -18416 0 # 4 529 -18417 0 # 4 530 -18418 0 # 4 531 -18419 0 # 4 532 -18420 0 # 4 533 -18421 0 # 4 534 -18422 0 # 4 535 -18423 0 # 4 536 -18424 0 # 4 537 -18425 0 # 4 538 -18426 0 # 4 539 -18427 0 # 4 540 -18428 0 # 4 541 -18429 0 # 4 542 -18430 0 # 4 543 -18431 0 # 4 544 -18432 0 # 4 545 -18433 0 # 4 546 -18434 0 # 4 547 -18435 0 # 4 548 -18436 0 # 4 549 -18437 0 # 4 550 -18438 0 # 4 551 -18439 0 # 4 552 -18440 0 # 4 553 -18441 0 # 4 554 -18442 0 # 4 555 -18443 0 # 4 556 -18444 0 # 4 557 -18445 0 # 4 558 -18446 0 # 4 559 -18447 0 # 4 560 -18448 0 # 4 561 -18449 0 # 4 562 -18450 0 # 4 563 -18451 0 # 4 564 -18452 0 # 4 565 -18453 0 # 4 566 -18454 0 # 4 567 -18455 0 # 4 568 -18456 0 # 4 569 -18457 0 # 4 570 -18458 0 # 4 571 -18459 0 # 4 572 -18460 0 # 4 573 -18461 0 # 4 574 -18462 0 # 4 575 -18463 0 # 4 576 -18464 0 # 5 0 -18465 0 # 5 1 -18466 0 # 5 2 -18467 0 # 5 3 -18468 1 # 5 4 -18469 0 # 5 5 -18470 2 # 5 6 -18471 2 # 5 7 -18472 2 # 5 8 -18473 4 # 5 9 -18474 4 # 5 10 -18475 4 # 5 11 -18476 3 # 5 12 -18477 4 # 5 13 -18478 4 # 5 14 -18479 4 # 5 15 -18480 5 # 5 16 -18481 4 # 5 17 -18482 5 # 5 18 -18483 5 # 5 19 -18484 5 # 5 20 -18485 5 # 5 21 -18486 5 # 5 22 -18487 5 # 5 23 -18488 6 # 5 24 -18489 5 # 5 25 -18490 6 # 5 26 -18491 6 # 5 27 -18492 6 # 5 28 -18493 6 # 5 29 -18494 6 # 5 30 -18495 7 # 5 31 -18496 6 # 5 32 -18497 7 # 5 33 -18498 7 # 5 34 -18499 8 # 5 35 -18500 7 # 5 36 -18501 8 # 5 37 -18502 8 # 5 38 -18503 8 # 5 39 -18504 8 # 5 40 -18505 7 # 5 41 -18506 9 # 5 42 -18507 8 # 5 43 -18508 9 # 5 44 -18509 8 # 5 45 -18510 10 # 5 46 -18511 9 # 5 47 -18512 8 # 5 48 -18513 10 # 5 49 -18514 9 # 5 50 -18515 9 # 5 51 -18516 10 # 5 52 -18517 9 # 5 53 -18518 9 # 5 54 -18519 10 # 5 55 -18520 11 # 5 56 -18521 12 # 5 57 -18522 12 # 5 58 -18523 9 # 5 59 -18524 9 # 5 60 -18525 9 # 5 61 -18526 12 # 5 62 -18527 13 # 5 63 -18528 9 # 5 64 -18529 15 # 5 65 -18530 9 # 5 66 -18531 11 # 5 67 -18532 12 # 5 68 -18533 16 # 5 69 -18534 9 # 5 70 -18535 12 # 5 71 -18536 9 # 5 72 -18537 19 # 5 73 -18538 14 # 5 74 -18539 46 # 5 75 -18540 11 # 5 76 -18541 15 # 5 77 -18542 20 # 5 78 -18543 8 # 5 79 -18544 10 # 5 80 -18545 7 # 5 81 -18546 5 # 5 82 -18547 7 # 5 83 -18548 0 # 5 84 -18549 12 # 5 85 -18550 0 # 5 86 -18551 0 # 5 87 -18552 3 # 5 88 -18553 7 # 5 89 -18554 2 # 5 90 -18555 5 # 5 91 -18556 0 # 5 92 -18557 4 # 5 93 -18558 0 # 5 94 -18559 0 # 5 95 -18560 0 # 5 96 -18561 0 # 5 97 -18562 0 # 5 98 -18563 0 # 5 99 -18564 0 # 5 100 -18565 0 # 5 101 -18566 0 # 5 102 -18567 0 # 5 103 -18568 0 # 5 104 -18569 0 # 5 105 -18570 0 # 5 106 -18571 0 # 5 107 -18572 0 # 5 108 -18573 0 # 5 109 -18574 0 # 5 110 -18575 0 # 5 111 -18576 0 # 5 112 -18577 0 # 5 113 -18578 0 # 5 114 -18579 0 # 5 115 -18580 0 # 5 116 -18581 0 # 5 117 -18582 0 # 5 118 -18583 0 # 5 119 -18584 0 # 5 120 -18585 0 # 5 121 -18586 0 # 5 122 -18587 0 # 5 123 -18588 0 # 5 124 -18589 0 # 5 125 -18590 0 # 5 126 -18591 0 # 5 127 -18592 0 # 5 128 -18593 0 # 5 129 -18594 0 # 5 130 -18595 0 # 5 131 -18596 0 # 5 132 -18597 0 # 5 133 -18598 0 # 5 134 -18599 0 # 5 135 -18600 0 # 5 136 -18601 0 # 5 137 -18602 0 # 5 138 -18603 0 # 5 139 -18604 0 # 5 140 -18605 0 # 5 141 -18606 0 # 5 142 -18607 0 # 5 143 -18608 0 # 5 144 -18609 0 # 5 145 -18610 0 # 5 146 -18611 0 # 5 147 -18612 0 # 5 148 -18613 0 # 5 149 -18614 0 # 5 150 -18615 0 # 5 151 -18616 0 # 5 152 -18617 0 # 5 153 -18618 0 # 5 154 -18619 0 # 5 155 -18620 0 # 5 156 -18621 0 # 5 157 -18622 0 # 5 158 -18623 0 # 5 159 -18624 0 # 5 160 -18625 0 # 5 161 -18626 0 # 5 162 -18627 0 # 5 163 -18628 0 # 5 164 -18629 0 # 5 165 -18630 0 # 5 166 -18631 0 # 5 167 -18632 0 # 5 168 -18633 0 # 5 169 -18634 0 # 5 170 -18635 0 # 5 171 -18636 0 # 5 172 -18637 0 # 5 173 -18638 0 # 5 174 -18639 0 # 5 175 -18640 0 # 5 176 -18641 0 # 5 177 -18642 0 # 5 178 -18643 0 # 5 179 -18644 0 # 5 180 -18645 0 # 5 181 -18646 0 # 5 182 -18647 0 # 5 183 -18648 0 # 5 184 -18649 0 # 5 185 -18650 0 # 5 186 -18651 0 # 5 187 -18652 0 # 5 188 -18653 0 # 5 189 -18654 0 # 5 190 -18655 0 # 5 191 -18656 0 # 5 192 -18657 0 # 5 193 -18658 0 # 5 194 -18659 0 # 5 195 -18660 0 # 5 196 -18661 0 # 5 197 -18662 0 # 5 198 -18663 0 # 5 199 -18664 0 # 5 200 -18665 0 # 5 201 -18666 0 # 5 202 -18667 0 # 5 203 -18668 0 # 5 204 -18669 0 # 5 205 -18670 0 # 5 206 -18671 0 # 5 207 -18672 0 # 5 208 -18673 0 # 5 209 -18674 0 # 5 210 -18675 0 # 5 211 -18676 0 # 5 212 -18677 0 # 5 213 -18678 0 # 5 214 -18679 0 # 5 215 -18680 0 # 5 216 -18681 0 # 5 217 -18682 0 # 5 218 -18683 0 # 5 219 -18684 0 # 5 220 -18685 0 # 5 221 -18686 0 # 5 222 -18687 0 # 5 223 -18688 0 # 5 224 -18689 0 # 5 225 -18690 0 # 5 226 -18691 0 # 5 227 -18692 0 # 5 228 -18693 0 # 5 229 -18694 0 # 5 230 -18695 0 # 5 231 -18696 0 # 5 232 -18697 0 # 5 233 -18698 0 # 5 234 -18699 0 # 5 235 -18700 0 # 5 236 -18701 0 # 5 237 -18702 0 # 5 238 -18703 0 # 5 239 -18704 0 # 5 240 -18705 0 # 5 241 -18706 0 # 5 242 -18707 0 # 5 243 -18708 0 # 5 244 -18709 0 # 5 245 -18710 0 # 5 246 -18711 0 # 5 247 -18712 0 # 5 248 -18713 0 # 5 249 -18714 0 # 5 250 -18715 0 # 5 251 -18716 0 # 5 252 -18717 0 # 5 253 -18718 0 # 5 254 -18719 0 # 5 255 -18720 0 # 5 256 -18721 0 # 5 257 -18722 0 # 5 258 -18723 0 # 5 259 -18724 0 # 5 260 -18725 0 # 5 261 -18726 0 # 5 262 -18727 0 # 5 263 -18728 0 # 5 264 -18729 0 # 5 265 -18730 0 # 5 266 -18731 0 # 5 267 -18732 0 # 5 268 -18733 0 # 5 269 -18734 0 # 5 270 -18735 0 # 5 271 -18736 0 # 5 272 -18737 0 # 5 273 -18738 0 # 5 274 -18739 0 # 5 275 -18740 0 # 5 276 -18741 0 # 5 277 -18742 0 # 5 278 -18743 0 # 5 279 -18744 0 # 5 280 -18745 0 # 5 281 -18746 0 # 5 282 -18747 0 # 5 283 -18748 0 # 5 284 -18749 0 # 5 285 -18750 0 # 5 286 -18751 0 # 5 287 -18752 0 # 5 288 -18753 0 # 5 289 -18754 0 # 5 290 -18755 0 # 5 291 -18756 0 # 5 292 -18757 0 # 5 293 -18758 0 # 5 294 -18759 0 # 5 295 -18760 0 # 5 296 -18761 0 # 5 297 -18762 0 # 5 298 -18763 0 # 5 299 -18764 0 # 5 300 -18765 0 # 5 301 -18766 0 # 5 302 -18767 0 # 5 303 -18768 0 # 5 304 -18769 0 # 5 305 -18770 0 # 5 306 -18771 0 # 5 307 -18772 0 # 5 308 -18773 0 # 5 309 -18774 0 # 5 310 -18775 0 # 5 311 -18776 0 # 5 312 -18777 0 # 5 313 -18778 0 # 5 314 -18779 0 # 5 315 -18780 0 # 5 316 -18781 0 # 5 317 -18782 0 # 5 318 -18783 0 # 5 319 -18784 0 # 5 320 -18785 0 # 5 321 -18786 0 # 5 322 -18787 0 # 5 323 -18788 0 # 5 324 -18789 0 # 5 325 -18790 0 # 5 326 -18791 0 # 5 327 -18792 0 # 5 328 -18793 0 # 5 329 -18794 0 # 5 330 -18795 0 # 5 331 -18796 0 # 5 332 -18797 0 # 5 333 -18798 0 # 5 334 -18799 0 # 5 335 -18800 0 # 5 336 -18801 0 # 5 337 -18802 0 # 5 338 -18803 0 # 5 339 -18804 0 # 5 340 -18805 0 # 5 341 -18806 0 # 5 342 -18807 0 # 5 343 -18808 0 # 5 344 -18809 0 # 5 345 -18810 0 # 5 346 -18811 0 # 5 347 -18812 0 # 5 348 -18813 0 # 5 349 -18814 0 # 5 350 -18815 0 # 5 351 -18816 0 # 5 352 -18817 0 # 5 353 -18818 0 # 5 354 -18819 0 # 5 355 -18820 0 # 5 356 -18821 0 # 5 357 -18822 0 # 5 358 -18823 0 # 5 359 -18824 0 # 5 360 -18825 0 # 5 361 -18826 0 # 5 362 -18827 0 # 5 363 -18828 0 # 5 364 -18829 0 # 5 365 -18830 0 # 5 366 -18831 0 # 5 367 -18832 0 # 5 368 -18833 0 # 5 369 -18834 0 # 5 370 -18835 0 # 5 371 -18836 0 # 5 372 -18837 0 # 5 373 -18838 0 # 5 374 -18839 0 # 5 375 -18840 0 # 5 376 -18841 0 # 5 377 -18842 0 # 5 378 -18843 0 # 5 379 -18844 0 # 5 380 -18845 0 # 5 381 -18846 0 # 5 382 -18847 0 # 5 383 -18848 0 # 5 384 -18849 0 # 5 385 -18850 0 # 5 386 -18851 0 # 5 387 -18852 0 # 5 388 -18853 0 # 5 389 -18854 0 # 5 390 -18855 0 # 5 391 -18856 0 # 5 392 -18857 0 # 5 393 -18858 0 # 5 394 -18859 0 # 5 395 -18860 0 # 5 396 -18861 0 # 5 397 -18862 0 # 5 398 -18863 0 # 5 399 -18864 0 # 5 400 -18865 0 # 5 401 -18866 0 # 5 402 -18867 0 # 5 403 -18868 0 # 5 404 -18869 0 # 5 405 -18870 0 # 5 406 -18871 0 # 5 407 -18872 0 # 5 408 -18873 0 # 5 409 -18874 0 # 5 410 -18875 0 # 5 411 -18876 0 # 5 412 -18877 0 # 5 413 -18878 0 # 5 414 -18879 0 # 5 415 -18880 0 # 5 416 -18881 0 # 5 417 -18882 0 # 5 418 -18883 0 # 5 419 -18884 0 # 5 420 -18885 0 # 5 421 -18886 0 # 5 422 -18887 0 # 5 423 -18888 0 # 5 424 -18889 0 # 5 425 -18890 0 # 5 426 -18891 0 # 5 427 -18892 0 # 5 428 -18893 0 # 5 429 -18894 0 # 5 430 -18895 0 # 5 431 -18896 0 # 5 432 -18897 0 # 5 433 -18898 0 # 5 434 -18899 0 # 5 435 -18900 0 # 5 436 -18901 0 # 5 437 -18902 0 # 5 438 -18903 0 # 5 439 -18904 0 # 5 440 -18905 0 # 5 441 -18906 0 # 5 442 -18907 0 # 5 443 -18908 0 # 5 444 -18909 0 # 5 445 -18910 0 # 5 446 -18911 0 # 5 447 -18912 0 # 5 448 -18913 0 # 5 449 -18914 0 # 5 450 -18915 0 # 5 451 -18916 0 # 5 452 -18917 0 # 5 453 -18918 0 # 5 454 -18919 0 # 5 455 -18920 0 # 5 456 -18921 0 # 5 457 -18922 0 # 5 458 -18923 0 # 5 459 -18924 0 # 5 460 -18925 0 # 5 461 -18926 0 # 5 462 -18927 0 # 5 463 -18928 0 # 5 464 -18929 0 # 5 465 -18930 0 # 5 466 -18931 0 # 5 467 -18932 0 # 5 468 -18933 0 # 5 469 -18934 0 # 5 470 -18935 0 # 5 471 -18936 0 # 5 472 -18937 0 # 5 473 -18938 0 # 5 474 -18939 0 # 5 475 -18940 0 # 5 476 -18941 0 # 5 477 -18942 0 # 5 478 -18943 0 # 5 479 -18944 0 # 5 480 -18945 0 # 5 481 -18946 0 # 5 482 -18947 0 # 5 483 -18948 0 # 5 484 -18949 0 # 5 485 -18950 0 # 5 486 -18951 0 # 5 487 -18952 0 # 5 488 -18953 0 # 5 489 -18954 0 # 5 490 -18955 0 # 5 491 -18956 0 # 5 492 -18957 0 # 5 493 -18958 0 # 5 494 -18959 0 # 5 495 -18960 0 # 5 496 -18961 0 # 5 497 -18962 0 # 5 498 -18963 0 # 5 499 -18964 0 # 5 500 -18965 0 # 5 501 -18966 0 # 5 502 -18967 0 # 5 503 -18968 0 # 5 504 -18969 0 # 5 505 -18970 0 # 5 506 -18971 0 # 5 507 -18972 0 # 5 508 -18973 0 # 5 509 -18974 0 # 5 510 -18975 0 # 5 511 -18976 0 # 5 512 -18977 0 # 5 513 -18978 0 # 5 514 -18979 0 # 5 515 -18980 0 # 5 516 -18981 0 # 5 517 -18982 0 # 5 518 -18983 0 # 5 519 -18984 0 # 5 520 -18985 0 # 5 521 -18986 0 # 5 522 -18987 0 # 5 523 -18988 0 # 5 524 -18989 0 # 5 525 -18990 0 # 5 526 -18991 0 # 5 527 -18992 0 # 5 528 -18993 0 # 5 529 -18994 0 # 5 530 -18995 0 # 5 531 -18996 0 # 5 532 -18997 0 # 5 533 -18998 0 # 5 534 -18999 0 # 5 535 -19000 0 # 5 536 -19001 0 # 5 537 -19002 0 # 5 538 -19003 0 # 5 539 -19004 0 # 5 540 -19005 0 # 5 541 -19006 0 # 5 542 -19007 0 # 5 543 -19008 0 # 5 544 -19009 0 # 5 545 -19010 0 # 5 546 -19011 0 # 5 547 -19012 0 # 5 548 -19013 0 # 5 549 -19014 0 # 5 550 -19015 0 # 5 551 -19016 0 # 5 552 -19017 0 # 5 553 -19018 0 # 5 554 -19019 0 # 5 555 -19020 0 # 5 556 -19021 0 # 5 557 -19022 0 # 5 558 -19023 0 # 5 559 -19024 0 # 5 560 -19025 0 # 5 561 -19026 0 # 5 562 -19027 0 # 5 563 -19028 0 # 5 564 -19029 0 # 5 565 -19030 0 # 5 566 -19031 0 # 5 567 -19032 0 # 5 568 -19033 0 # 5 569 -19034 0 # 5 570 -19035 0 # 5 571 -19036 0 # 5 572 -19037 0 # 5 573 -19038 0 # 5 574 -19039 0 # 5 575 -19040 0 # 5 576 -19041 0 # 6 0 -19042 0 # 6 1 -19043 0 # 6 2 -19044 0 # 6 3 -19045 1 # 6 4 -19046 0 # 6 5 -19047 1 # 6 6 -19048 3 # 6 7 -19049 2 # 6 8 -19050 4 # 6 9 -19051 2 # 6 10 -19052 4 # 6 11 -19053 3 # 6 12 -19054 4 # 6 13 -19055 4 # 6 14 -19056 6 # 6 15 -19057 6 # 6 16 -19058 5 # 6 17 -19059 5 # 6 18 -19060 5 # 6 19 -19061 5 # 6 20 -19062 6 # 6 21 -19063 5 # 6 22 -19064 5 # 6 23 -19065 6 # 6 24 -19066 6 # 6 25 -19067 6 # 6 26 -19068 6 # 6 27 -19069 6 # 6 28 -19070 7 # 6 29 -19071 7 # 6 30 -19072 7 # 6 31 -19073 7 # 6 32 -19074 7 # 6 33 -19075 7 # 6 34 -19076 8 # 6 35 -19077 7 # 6 36 -19078 8 # 6 37 -19079 8 # 6 38 -19080 9 # 6 39 -19081 8 # 6 40 -19082 7 # 6 41 -19083 8 # 6 42 -19084 9 # 6 43 -19085 9 # 6 44 -19086 8 # 6 45 -19087 10 # 6 46 -19088 9 # 6 47 -19089 9 # 6 48 -19090 8 # 6 49 -19091 9 # 6 50 -19092 10 # 6 51 -19093 9 # 6 52 -19094 10 # 6 53 -19095 9 # 6 54 -19096 9 # 6 55 -19097 10 # 6 56 -19098 10 # 6 57 -19099 11 # 6 58 -19100 9 # 6 59 -19101 10 # 6 60 -19102 10 # 6 61 -19103 10 # 6 62 -19104 14 # 6 63 -19105 9 # 6 64 -19106 13 # 6 65 -19107 10 # 6 66 -19108 9 # 6 67 -19109 9 # 6 68 -19110 17 # 6 69 -19111 8 # 6 70 -19112 9 # 6 71 -19113 10 # 6 72 -19114 12 # 6 73 -19115 16 # 6 74 -19116 43 # 6 75 -19117 13 # 6 76 -19118 13 # 6 77 -19119 18 # 6 78 -19120 8 # 6 79 -19121 9 # 6 80 -19122 7 # 6 81 -19123 4 # 6 82 -19124 6 # 6 83 -19125 0 # 6 84 -19126 10 # 6 85 -19127 0 # 6 86 -19128 0 # 6 87 -19129 3 # 6 88 -19130 10 # 6 89 -19131 4 # 6 90 -19132 6 # 6 91 -19133 0 # 6 92 -19134 1 # 6 93 -19135 0 # 6 94 -19136 0 # 6 95 -19137 0 # 6 96 -19138 0 # 6 97 -19139 0 # 6 98 -19140 0 # 6 99 -19141 0 # 6 100 -19142 0 # 6 101 -19143 0 # 6 102 -19144 0 # 6 103 -19145 0 # 6 104 -19146 0 # 6 105 -19147 0 # 6 106 -19148 0 # 6 107 -19149 0 # 6 108 -19150 0 # 6 109 -19151 0 # 6 110 -19152 0 # 6 111 -19153 0 # 6 112 -19154 0 # 6 113 -19155 0 # 6 114 -19156 0 # 6 115 -19157 0 # 6 116 -19158 0 # 6 117 -19159 0 # 6 118 -19160 0 # 6 119 -19161 0 # 6 120 -19162 0 # 6 121 -19163 0 # 6 122 -19164 0 # 6 123 -19165 0 # 6 124 -19166 0 # 6 125 -19167 0 # 6 126 -19168 0 # 6 127 -19169 0 # 6 128 -19170 0 # 6 129 -19171 0 # 6 130 -19172 0 # 6 131 -19173 0 # 6 132 -19174 0 # 6 133 -19175 0 # 6 134 -19176 0 # 6 135 -19177 0 # 6 136 -19178 0 # 6 137 -19179 0 # 6 138 -19180 0 # 6 139 -19181 0 # 6 140 -19182 0 # 6 141 -19183 0 # 6 142 -19184 0 # 6 143 -19185 0 # 6 144 -19186 0 # 6 145 -19187 0 # 6 146 -19188 0 # 6 147 -19189 0 # 6 148 -19190 0 # 6 149 -19191 0 # 6 150 -19192 0 # 6 151 -19193 0 # 6 152 -19194 0 # 6 153 -19195 0 # 6 154 -19196 0 # 6 155 -19197 0 # 6 156 -19198 0 # 6 157 -19199 0 # 6 158 -19200 0 # 6 159 -19201 0 # 6 160 -19202 0 # 6 161 -19203 0 # 6 162 -19204 0 # 6 163 -19205 0 # 6 164 -19206 0 # 6 165 -19207 0 # 6 166 -19208 0 # 6 167 -19209 0 # 6 168 -19210 0 # 6 169 -19211 0 # 6 170 -19212 0 # 6 171 -19213 0 # 6 172 -19214 0 # 6 173 -19215 0 # 6 174 -19216 0 # 6 175 -19217 0 # 6 176 -19218 0 # 6 177 -19219 0 # 6 178 -19220 0 # 6 179 -19221 0 # 6 180 -19222 0 # 6 181 -19223 0 # 6 182 -19224 0 # 6 183 -19225 0 # 6 184 -19226 0 # 6 185 -19227 0 # 6 186 -19228 0 # 6 187 -19229 0 # 6 188 -19230 0 # 6 189 -19231 0 # 6 190 -19232 0 # 6 191 -19233 0 # 6 192 -19234 0 # 6 193 -19235 0 # 6 194 -19236 0 # 6 195 -19237 0 # 6 196 -19238 0 # 6 197 -19239 0 # 6 198 -19240 0 # 6 199 -19241 0 # 6 200 -19242 0 # 6 201 -19243 0 # 6 202 -19244 0 # 6 203 -19245 0 # 6 204 -19246 0 # 6 205 -19247 0 # 6 206 -19248 0 # 6 207 -19249 0 # 6 208 -19250 0 # 6 209 -19251 0 # 6 210 -19252 0 # 6 211 -19253 0 # 6 212 -19254 0 # 6 213 -19255 0 # 6 214 -19256 0 # 6 215 -19257 0 # 6 216 -19258 0 # 6 217 -19259 0 # 6 218 -19260 0 # 6 219 -19261 0 # 6 220 -19262 0 # 6 221 -19263 0 # 6 222 -19264 0 # 6 223 -19265 0 # 6 224 -19266 0 # 6 225 -19267 0 # 6 226 -19268 0 # 6 227 -19269 0 # 6 228 -19270 0 # 6 229 -19271 0 # 6 230 -19272 0 # 6 231 -19273 0 # 6 232 -19274 0 # 6 233 -19275 0 # 6 234 -19276 0 # 6 235 -19277 0 # 6 236 -19278 0 # 6 237 -19279 0 # 6 238 -19280 0 # 6 239 -19281 0 # 6 240 -19282 0 # 6 241 -19283 0 # 6 242 -19284 0 # 6 243 -19285 0 # 6 244 -19286 0 # 6 245 -19287 0 # 6 246 -19288 0 # 6 247 -19289 0 # 6 248 -19290 0 # 6 249 -19291 0 # 6 250 -19292 0 # 6 251 -19293 0 # 6 252 -19294 0 # 6 253 -19295 0 # 6 254 -19296 0 # 6 255 -19297 0 # 6 256 -19298 0 # 6 257 -19299 0 # 6 258 -19300 0 # 6 259 -19301 0 # 6 260 -19302 0 # 6 261 -19303 0 # 6 262 -19304 0 # 6 263 -19305 0 # 6 264 -19306 0 # 6 265 -19307 0 # 6 266 -19308 0 # 6 267 -19309 0 # 6 268 -19310 0 # 6 269 -19311 0 # 6 270 -19312 0 # 6 271 -19313 0 # 6 272 -19314 0 # 6 273 -19315 0 # 6 274 -19316 0 # 6 275 -19317 0 # 6 276 -19318 0 # 6 277 -19319 0 # 6 278 -19320 0 # 6 279 -19321 0 # 6 280 -19322 0 # 6 281 -19323 0 # 6 282 -19324 0 # 6 283 -19325 0 # 6 284 -19326 0 # 6 285 -19327 0 # 6 286 -19328 0 # 6 287 -19329 0 # 6 288 -19330 0 # 6 289 -19331 0 # 6 290 -19332 0 # 6 291 -19333 0 # 6 292 -19334 0 # 6 293 -19335 0 # 6 294 -19336 0 # 6 295 -19337 0 # 6 296 -19338 0 # 6 297 -19339 0 # 6 298 -19340 0 # 6 299 -19341 0 # 6 300 -19342 0 # 6 301 -19343 0 # 6 302 -19344 0 # 6 303 -19345 0 # 6 304 -19346 0 # 6 305 -19347 0 # 6 306 -19348 0 # 6 307 -19349 0 # 6 308 -19350 0 # 6 309 -19351 0 # 6 310 -19352 0 # 6 311 -19353 0 # 6 312 -19354 0 # 6 313 -19355 0 # 6 314 -19356 0 # 6 315 -19357 0 # 6 316 -19358 0 # 6 317 -19359 0 # 6 318 -19360 0 # 6 319 -19361 0 # 6 320 -19362 0 # 6 321 -19363 0 # 6 322 -19364 0 # 6 323 -19365 0 # 6 324 -19366 0 # 6 325 -19367 0 # 6 326 -19368 0 # 6 327 -19369 0 # 6 328 -19370 0 # 6 329 -19371 0 # 6 330 -19372 0 # 6 331 -19373 0 # 6 332 -19374 0 # 6 333 -19375 0 # 6 334 -19376 0 # 6 335 -19377 0 # 6 336 -19378 0 # 6 337 -19379 0 # 6 338 -19380 0 # 6 339 -19381 0 # 6 340 -19382 0 # 6 341 -19383 0 # 6 342 -19384 0 # 6 343 -19385 0 # 6 344 -19386 0 # 6 345 -19387 0 # 6 346 -19388 0 # 6 347 -19389 0 # 6 348 -19390 0 # 6 349 -19391 0 # 6 350 -19392 0 # 6 351 -19393 0 # 6 352 -19394 0 # 6 353 -19395 0 # 6 354 -19396 0 # 6 355 -19397 0 # 6 356 -19398 0 # 6 357 -19399 0 # 6 358 -19400 0 # 6 359 -19401 0 # 6 360 -19402 0 # 6 361 -19403 0 # 6 362 -19404 0 # 6 363 -19405 0 # 6 364 -19406 0 # 6 365 -19407 0 # 6 366 -19408 0 # 6 367 -19409 0 # 6 368 -19410 0 # 6 369 -19411 0 # 6 370 -19412 0 # 6 371 -19413 0 # 6 372 -19414 0 # 6 373 -19415 0 # 6 374 -19416 0 # 6 375 -19417 0 # 6 376 -19418 0 # 6 377 -19419 0 # 6 378 -19420 0 # 6 379 -19421 0 # 6 380 -19422 0 # 6 381 -19423 0 # 6 382 -19424 0 # 6 383 -19425 0 # 6 384 -19426 0 # 6 385 -19427 0 # 6 386 -19428 0 # 6 387 -19429 0 # 6 388 -19430 0 # 6 389 -19431 0 # 6 390 -19432 0 # 6 391 -19433 0 # 6 392 -19434 0 # 6 393 -19435 0 # 6 394 -19436 0 # 6 395 -19437 0 # 6 396 -19438 0 # 6 397 -19439 0 # 6 398 -19440 0 # 6 399 -19441 0 # 6 400 -19442 0 # 6 401 -19443 0 # 6 402 -19444 0 # 6 403 -19445 0 # 6 404 -19446 0 # 6 405 -19447 0 # 6 406 -19448 0 # 6 407 -19449 0 # 6 408 -19450 0 # 6 409 -19451 0 # 6 410 -19452 0 # 6 411 -19453 0 # 6 412 -19454 0 # 6 413 -19455 0 # 6 414 -19456 0 # 6 415 -19457 0 # 6 416 -19458 0 # 6 417 -19459 0 # 6 418 -19460 0 # 6 419 -19461 0 # 6 420 -19462 0 # 6 421 -19463 0 # 6 422 -19464 0 # 6 423 -19465 0 # 6 424 -19466 0 # 6 425 -19467 0 # 6 426 -19468 0 # 6 427 -19469 0 # 6 428 -19470 0 # 6 429 -19471 0 # 6 430 -19472 0 # 6 431 -19473 0 # 6 432 -19474 0 # 6 433 -19475 0 # 6 434 -19476 0 # 6 435 -19477 0 # 6 436 -19478 0 # 6 437 -19479 0 # 6 438 -19480 0 # 6 439 -19481 0 # 6 440 -19482 0 # 6 441 -19483 0 # 6 442 -19484 0 # 6 443 -19485 0 # 6 444 -19486 0 # 6 445 -19487 0 # 6 446 -19488 0 # 6 447 -19489 0 # 6 448 -19490 0 # 6 449 -19491 0 # 6 450 -19492 0 # 6 451 -19493 0 # 6 452 -19494 0 # 6 453 -19495 0 # 6 454 -19496 0 # 6 455 -19497 0 # 6 456 -19498 0 # 6 457 -19499 0 # 6 458 -19500 0 # 6 459 -19501 0 # 6 460 -19502 0 # 6 461 -19503 0 # 6 462 -19504 0 # 6 463 -19505 0 # 6 464 -19506 0 # 6 465 -19507 0 # 6 466 -19508 0 # 6 467 -19509 0 # 6 468 -19510 0 # 6 469 -19511 0 # 6 470 -19512 0 # 6 471 -19513 0 # 6 472 -19514 0 # 6 473 -19515 0 # 6 474 -19516 0 # 6 475 -19517 0 # 6 476 -19518 0 # 6 477 -19519 0 # 6 478 -19520 0 # 6 479 -19521 0 # 6 480 -19522 0 # 6 481 -19523 0 # 6 482 -19524 0 # 6 483 -19525 0 # 6 484 -19526 0 # 6 485 -19527 0 # 6 486 -19528 0 # 6 487 -19529 0 # 6 488 -19530 0 # 6 489 -19531 0 # 6 490 -19532 0 # 6 491 -19533 0 # 6 492 -19534 0 # 6 493 -19535 0 # 6 494 -19536 0 # 6 495 -19537 0 # 6 496 -19538 0 # 6 497 -19539 0 # 6 498 -19540 0 # 6 499 -19541 0 # 6 500 -19542 0 # 6 501 -19543 0 # 6 502 -19544 0 # 6 503 -19545 0 # 6 504 -19546 0 # 6 505 -19547 0 # 6 506 -19548 0 # 6 507 -19549 0 # 6 508 -19550 0 # 6 509 -19551 0 # 6 510 -19552 0 # 6 511 -19553 0 # 6 512 -19554 0 # 6 513 -19555 0 # 6 514 -19556 0 # 6 515 -19557 0 # 6 516 -19558 0 # 6 517 -19559 0 # 6 518 -19560 0 # 6 519 -19561 0 # 6 520 -19562 0 # 6 521 -19563 0 # 6 522 -19564 0 # 6 523 -19565 0 # 6 524 -19566 0 # 6 525 -19567 0 # 6 526 -19568 0 # 6 527 -19569 0 # 6 528 -19570 0 # 6 529 -19571 0 # 6 530 -19572 0 # 6 531 -19573 0 # 6 532 -19574 0 # 6 533 -19575 0 # 6 534 -19576 0 # 6 535 -19577 0 # 6 536 -19578 0 # 6 537 -19579 0 # 6 538 -19580 0 # 6 539 -19581 0 # 6 540 -19582 0 # 6 541 -19583 0 # 6 542 -19584 0 # 6 543 -19585 0 # 6 544 -19586 0 # 6 545 -19587 0 # 6 546 -19588 0 # 6 547 -19589 0 # 6 548 -19590 0 # 6 549 -19591 0 # 6 550 -19592 0 # 6 551 -19593 0 # 6 552 -19594 0 # 6 553 -19595 0 # 6 554 -19596 0 # 6 555 -19597 0 # 6 556 -19598 0 # 6 557 -19599 0 # 6 558 -19600 0 # 6 559 -19601 0 # 6 560 -19602 0 # 6 561 -19603 0 # 6 562 -19604 0 # 6 563 -19605 0 # 6 564 -19606 0 # 6 565 -19607 0 # 6 566 -19608 0 # 6 567 -19609 0 # 6 568 -19610 0 # 6 569 -19611 0 # 6 570 -19612 0 # 6 571 -19613 0 # 6 572 -19614 0 # 6 573 -19615 0 # 6 574 -19616 0 # 6 575 -19617 0 # 6 576 -19618 0 # 7 0 -19619 0 # 7 1 -19620 0 # 7 2 -19621 0 # 7 3 -19622 0 # 7 4 -19623 1 # 7 5 -19624 4 # 7 6 -19625 3 # 7 7 -19626 2 # 7 8 -19627 4 # 7 9 -19628 2 # 7 10 -19629 5 # 7 11 -19630 3 # 7 12 -19631 4 # 7 13 -19632 5 # 7 14 -19633 5 # 7 15 -19634 5 # 7 16 -19635 5 # 7 17 -19636 6 # 7 18 -19637 5 # 7 19 -19638 6 # 7 20 -19639 6 # 7 21 -19640 6 # 7 22 -19641 6 # 7 23 -19642 6 # 7 24 -19643 6 # 7 25 -19644 6 # 7 26 -19645 6 # 7 27 -19646 6 # 7 28 -19647 7 # 7 29 -19648 7 # 7 30 -19649 7 # 7 31 -19650 7 # 7 32 -19651 7 # 7 33 -19652 7 # 7 34 -19653 8 # 7 35 -19654 8 # 7 36 -19655 8 # 7 37 -19656 7 # 7 38 -19657 9 # 7 39 -19658 8 # 7 40 -19659 7 # 7 41 -19660 8 # 7 42 -19661 8 # 7 43 -19662 8 # 7 44 -19663 8 # 7 45 -19664 8 # 7 46 -19665 9 # 7 47 -19666 10 # 7 48 -19667 9 # 7 49 -19668 10 # 7 50 -19669 9 # 7 51 -19670 9 # 7 52 -19671 9 # 7 53 -19672 9 # 7 54 -19673 9 # 7 55 -19674 10 # 7 56 -19675 9 # 7 57 -19676 10 # 7 58 -19677 10 # 7 59 -19678 10 # 7 60 -19679 9 # 7 61 -19680 10 # 7 62 -19681 11 # 7 63 -19682 9 # 7 64 -19683 12 # 7 65 -19684 7 # 7 66 -19685 9 # 7 67 -19686 8 # 7 68 -19687 16 # 7 69 -19688 9 # 7 70 -19689 11 # 7 71 -19690 12 # 7 72 -19691 9 # 7 73 -19692 15 # 7 74 -19693 12 # 7 75 -19694 8 # 7 76 -19695 11 # 7 77 -19696 16 # 7 78 -19697 9 # 7 79 -19698 18 # 7 80 -19699 9 # 7 81 -19700 7 # 7 82 -19701 7 # 7 83 -19702 0 # 7 84 -19703 9 # 7 85 -19704 0 # 7 86 -19705 0 # 7 87 -19706 5 # 7 88 -19707 12 # 7 89 -19708 7 # 7 90 -19709 7 # 7 91 -19710 0 # 7 92 -19711 2 # 7 93 -19712 0 # 7 94 -19713 0 # 7 95 -19714 0 # 7 96 -19715 0 # 7 97 -19716 0 # 7 98 -19717 0 # 7 99 -19718 0 # 7 100 -19719 0 # 7 101 -19720 0 # 7 102 -19721 0 # 7 103 -19722 0 # 7 104 -19723 0 # 7 105 -19724 0 # 7 106 -19725 0 # 7 107 -19726 0 # 7 108 -19727 0 # 7 109 -19728 0 # 7 110 -19729 0 # 7 111 -19730 0 # 7 112 -19731 0 # 7 113 -19732 0 # 7 114 -19733 0 # 7 115 -19734 0 # 7 116 -19735 0 # 7 117 -19736 0 # 7 118 -19737 0 # 7 119 -19738 0 # 7 120 -19739 0 # 7 121 -19740 0 # 7 122 -19741 0 # 7 123 -19742 0 # 7 124 -19743 0 # 7 125 -19744 0 # 7 126 -19745 0 # 7 127 -19746 0 # 7 128 -19747 0 # 7 129 -19748 0 # 7 130 -19749 0 # 7 131 -19750 0 # 7 132 -19751 0 # 7 133 -19752 0 # 7 134 -19753 0 # 7 135 -19754 0 # 7 136 -19755 0 # 7 137 -19756 0 # 7 138 -19757 0 # 7 139 -19758 0 # 7 140 -19759 0 # 7 141 -19760 0 # 7 142 -19761 0 # 7 143 -19762 0 # 7 144 -19763 0 # 7 145 -19764 0 # 7 146 -19765 0 # 7 147 -19766 0 # 7 148 -19767 0 # 7 149 -19768 0 # 7 150 -19769 0 # 7 151 -19770 0 # 7 152 -19771 0 # 7 153 -19772 0 # 7 154 -19773 0 # 7 155 -19774 0 # 7 156 -19775 0 # 7 157 -19776 0 # 7 158 -19777 0 # 7 159 -19778 0 # 7 160 -19779 0 # 7 161 -19780 0 # 7 162 -19781 0 # 7 163 -19782 0 # 7 164 -19783 0 # 7 165 -19784 0 # 7 166 -19785 0 # 7 167 -19786 0 # 7 168 -19787 0 # 7 169 -19788 0 # 7 170 -19789 0 # 7 171 -19790 0 # 7 172 -19791 0 # 7 173 -19792 0 # 7 174 -19793 0 # 7 175 -19794 0 # 7 176 -19795 0 # 7 177 -19796 0 # 7 178 -19797 0 # 7 179 -19798 0 # 7 180 -19799 0 # 7 181 -19800 0 # 7 182 -19801 0 # 7 183 -19802 0 # 7 184 -19803 0 # 7 185 -19804 0 # 7 186 -19805 0 # 7 187 -19806 0 # 7 188 -19807 0 # 7 189 -19808 0 # 7 190 -19809 0 # 7 191 -19810 0 # 7 192 -19811 0 # 7 193 -19812 0 # 7 194 -19813 0 # 7 195 -19814 0 # 7 196 -19815 0 # 7 197 -19816 0 # 7 198 -19817 0 # 7 199 -19818 0 # 7 200 -19819 0 # 7 201 -19820 0 # 7 202 -19821 0 # 7 203 -19822 0 # 7 204 -19823 0 # 7 205 -19824 0 # 7 206 -19825 0 # 7 207 -19826 0 # 7 208 -19827 0 # 7 209 -19828 0 # 7 210 -19829 0 # 7 211 -19830 0 # 7 212 -19831 0 # 7 213 -19832 0 # 7 214 -19833 0 # 7 215 -19834 0 # 7 216 -19835 0 # 7 217 -19836 0 # 7 218 -19837 0 # 7 219 -19838 0 # 7 220 -19839 0 # 7 221 -19840 0 # 7 222 -19841 0 # 7 223 -19842 0 # 7 224 -19843 0 # 7 225 -19844 0 # 7 226 -19845 0 # 7 227 -19846 0 # 7 228 -19847 0 # 7 229 -19848 0 # 7 230 -19849 0 # 7 231 -19850 0 # 7 232 -19851 0 # 7 233 -19852 0 # 7 234 -19853 0 # 7 235 -19854 0 # 7 236 -19855 0 # 7 237 -19856 0 # 7 238 -19857 0 # 7 239 -19858 0 # 7 240 -19859 0 # 7 241 -19860 0 # 7 242 -19861 0 # 7 243 -19862 0 # 7 244 -19863 0 # 7 245 -19864 0 # 7 246 -19865 0 # 7 247 -19866 0 # 7 248 -19867 0 # 7 249 -19868 0 # 7 250 -19869 0 # 7 251 -19870 0 # 7 252 -19871 0 # 7 253 -19872 0 # 7 254 -19873 0 # 7 255 -19874 0 # 7 256 -19875 0 # 7 257 -19876 0 # 7 258 -19877 0 # 7 259 -19878 0 # 7 260 -19879 0 # 7 261 -19880 0 # 7 262 -19881 0 # 7 263 -19882 0 # 7 264 -19883 0 # 7 265 -19884 0 # 7 266 -19885 0 # 7 267 -19886 0 # 7 268 -19887 0 # 7 269 -19888 0 # 7 270 -19889 0 # 7 271 -19890 0 # 7 272 -19891 0 # 7 273 -19892 0 # 7 274 -19893 0 # 7 275 -19894 0 # 7 276 -19895 0 # 7 277 -19896 0 # 7 278 -19897 0 # 7 279 -19898 0 # 7 280 -19899 0 # 7 281 -19900 0 # 7 282 -19901 0 # 7 283 -19902 0 # 7 284 -19903 0 # 7 285 -19904 0 # 7 286 -19905 0 # 7 287 -19906 0 # 7 288 -19907 0 # 7 289 -19908 0 # 7 290 -19909 0 # 7 291 -19910 0 # 7 292 -19911 0 # 7 293 -19912 0 # 7 294 -19913 0 # 7 295 -19914 0 # 7 296 -19915 0 # 7 297 -19916 0 # 7 298 -19917 0 # 7 299 -19918 0 # 7 300 -19919 0 # 7 301 -19920 0 # 7 302 -19921 0 # 7 303 -19922 0 # 7 304 -19923 0 # 7 305 -19924 0 # 7 306 -19925 0 # 7 307 -19926 0 # 7 308 -19927 0 # 7 309 -19928 0 # 7 310 -19929 0 # 7 311 -19930 0 # 7 312 -19931 0 # 7 313 -19932 0 # 7 314 -19933 0 # 7 315 -19934 0 # 7 316 -19935 0 # 7 317 -19936 0 # 7 318 -19937 0 # 7 319 -19938 0 # 7 320 -19939 0 # 7 321 -19940 0 # 7 322 -19941 0 # 7 323 -19942 0 # 7 324 -19943 0 # 7 325 -19944 0 # 7 326 -19945 0 # 7 327 -19946 0 # 7 328 -19947 0 # 7 329 -19948 0 # 7 330 -19949 0 # 7 331 -19950 0 # 7 332 -19951 0 # 7 333 -19952 0 # 7 334 -19953 0 # 7 335 -19954 0 # 7 336 -19955 0 # 7 337 -19956 0 # 7 338 -19957 0 # 7 339 -19958 0 # 7 340 -19959 0 # 7 341 -19960 0 # 7 342 -19961 0 # 7 343 -19962 0 # 7 344 -19963 0 # 7 345 -19964 0 # 7 346 -19965 0 # 7 347 -19966 0 # 7 348 -19967 0 # 7 349 -19968 0 # 7 350 -19969 0 # 7 351 -19970 0 # 7 352 -19971 0 # 7 353 -19972 0 # 7 354 -19973 0 # 7 355 -19974 0 # 7 356 -19975 0 # 7 357 -19976 0 # 7 358 -19977 0 # 7 359 -19978 0 # 7 360 -19979 0 # 7 361 -19980 0 # 7 362 -19981 0 # 7 363 -19982 0 # 7 364 -19983 0 # 7 365 -19984 0 # 7 366 -19985 0 # 7 367 -19986 0 # 7 368 -19987 0 # 7 369 -19988 0 # 7 370 -19989 0 # 7 371 -19990 0 # 7 372 -19991 0 # 7 373 -19992 0 # 7 374 -19993 0 # 7 375 -19994 0 # 7 376 -19995 0 # 7 377 -19996 0 # 7 378 -19997 0 # 7 379 -19998 0 # 7 380 -19999 0 # 7 381 -20000 0 # 7 382 -20001 0 # 7 383 -20002 0 # 7 384 -20003 0 # 7 385 -20004 0 # 7 386 -20005 0 # 7 387 -20006 0 # 7 388 -20007 0 # 7 389 -20008 0 # 7 390 -20009 0 # 7 391 -20010 0 # 7 392 -20011 0 # 7 393 -20012 0 # 7 394 -20013 0 # 7 395 -20014 0 # 7 396 -20015 0 # 7 397 -20016 0 # 7 398 -20017 0 # 7 399 -20018 0 # 7 400 -20019 0 # 7 401 -20020 0 # 7 402 -20021 0 # 7 403 -20022 0 # 7 404 -20023 0 # 7 405 -20024 0 # 7 406 -20025 0 # 7 407 -20026 0 # 7 408 -20027 0 # 7 409 -20028 0 # 7 410 -20029 0 # 7 411 -20030 0 # 7 412 -20031 0 # 7 413 -20032 0 # 7 414 -20033 0 # 7 415 -20034 0 # 7 416 -20035 0 # 7 417 -20036 0 # 7 418 -20037 0 # 7 419 -20038 0 # 7 420 -20039 0 # 7 421 -20040 0 # 7 422 -20041 0 # 7 423 -20042 0 # 7 424 -20043 0 # 7 425 -20044 0 # 7 426 -20045 0 # 7 427 -20046 0 # 7 428 -20047 0 # 7 429 -20048 0 # 7 430 -20049 0 # 7 431 -20050 0 # 7 432 -20051 0 # 7 433 -20052 0 # 7 434 -20053 0 # 7 435 -20054 0 # 7 436 -20055 0 # 7 437 -20056 0 # 7 438 -20057 0 # 7 439 -20058 0 # 7 440 -20059 0 # 7 441 -20060 0 # 7 442 -20061 0 # 7 443 -20062 0 # 7 444 -20063 0 # 7 445 -20064 0 # 7 446 -20065 0 # 7 447 -20066 0 # 7 448 -20067 0 # 7 449 -20068 0 # 7 450 -20069 0 # 7 451 -20070 0 # 7 452 -20071 0 # 7 453 -20072 0 # 7 454 -20073 0 # 7 455 -20074 0 # 7 456 -20075 0 # 7 457 -20076 0 # 7 458 -20077 0 # 7 459 -20078 0 # 7 460 -20079 0 # 7 461 -20080 0 # 7 462 -20081 0 # 7 463 -20082 0 # 7 464 -20083 0 # 7 465 -20084 0 # 7 466 -20085 0 # 7 467 -20086 0 # 7 468 -20087 0 # 7 469 -20088 0 # 7 470 -20089 0 # 7 471 -20090 0 # 7 472 -20091 0 # 7 473 -20092 0 # 7 474 -20093 0 # 7 475 -20094 0 # 7 476 -20095 0 # 7 477 -20096 0 # 7 478 -20097 0 # 7 479 -20098 0 # 7 480 -20099 0 # 7 481 -20100 0 # 7 482 -20101 0 # 7 483 -20102 0 # 7 484 -20103 0 # 7 485 -20104 0 # 7 486 -20105 0 # 7 487 -20106 0 # 7 488 -20107 0 # 7 489 -20108 0 # 7 490 -20109 0 # 7 491 -20110 0 # 7 492 -20111 0 # 7 493 -20112 0 # 7 494 -20113 0 # 7 495 -20114 0 # 7 496 -20115 0 # 7 497 -20116 0 # 7 498 -20117 0 # 7 499 -20118 0 # 7 500 -20119 0 # 7 501 -20120 0 # 7 502 -20121 0 # 7 503 -20122 0 # 7 504 -20123 0 # 7 505 -20124 0 # 7 506 -20125 0 # 7 507 -20126 0 # 7 508 -20127 0 # 7 509 -20128 0 # 7 510 -20129 0 # 7 511 -20130 0 # 7 512 -20131 0 # 7 513 -20132 0 # 7 514 -20133 0 # 7 515 -20134 0 # 7 516 -20135 0 # 7 517 -20136 0 # 7 518 -20137 0 # 7 519 -20138 0 # 7 520 -20139 0 # 7 521 -20140 0 # 7 522 -20141 0 # 7 523 -20142 0 # 7 524 -20143 0 # 7 525 -20144 0 # 7 526 -20145 0 # 7 527 -20146 0 # 7 528 -20147 0 # 7 529 -20148 0 # 7 530 -20149 0 # 7 531 -20150 0 # 7 532 -20151 0 # 7 533 -20152 0 # 7 534 -20153 0 # 7 535 -20154 0 # 7 536 -20155 0 # 7 537 -20156 0 # 7 538 -20157 0 # 7 539 -20158 0 # 7 540 -20159 0 # 7 541 -20160 0 # 7 542 -20161 0 # 7 543 -20162 0 # 7 544 -20163 0 # 7 545 -20164 0 # 7 546 -20165 0 # 7 547 -20166 0 # 7 548 -20167 0 # 7 549 -20168 0 # 7 550 -20169 0 # 7 551 -20170 0 # 7 552 -20171 0 # 7 553 -20172 0 # 7 554 -20173 0 # 7 555 -20174 0 # 7 556 -20175 0 # 7 557 -20176 0 # 7 558 -20177 0 # 7 559 -20178 0 # 7 560 -20179 0 # 7 561 -20180 0 # 7 562 -20181 0 # 7 563 -20182 0 # 7 564 -20183 0 # 7 565 -20184 0 # 7 566 -20185 0 # 7 567 -20186 0 # 7 568 -20187 0 # 7 569 -20188 0 # 7 570 -20189 0 # 7 571 -20190 0 # 7 572 -20191 0 # 7 573 -20192 0 # 7 574 -20193 0 # 7 575 -20194 0 # 7 576 -20195 0 # 8 0 -20196 0 # 8 1 -20197 0 # 8 2 -20198 0 # 8 3 -20199 1 # 8 4 -20200 1 # 8 5 -20201 4 # 8 6 -20202 3 # 8 7 -20203 3 # 8 8 -20204 5 # 8 9 -20205 3 # 8 10 -20206 5 # 8 11 -20207 3 # 8 12 -20208 4 # 8 13 -20209 5 # 8 14 -20210 5 # 8 15 -20211 5 # 8 16 -20212 4 # 8 17 -20213 5 # 8 18 -20214 5 # 8 19 -20215 6 # 8 20 -20216 5 # 8 21 -20217 6 # 8 22 -20218 6 # 8 23 -20219 6 # 8 24 -20220 6 # 8 25 -20221 6 # 8 26 -20222 6 # 8 27 -20223 6 # 8 28 -20224 6 # 8 29 -20225 6 # 8 30 -20226 7 # 8 31 -20227 7 # 8 32 -20228 7 # 8 33 -20229 7 # 8 34 -20230 8 # 8 35 -20231 7 # 8 36 -20232 8 # 8 37 -20233 7 # 8 38 -20234 8 # 8 39 -20235 8 # 8 40 -20236 8 # 8 41 -20237 8 # 8 42 -20238 9 # 8 43 -20239 8 # 8 44 -20240 7 # 8 45 -20241 7 # 8 46 -20242 8 # 8 47 -20243 10 # 8 48 -20244 8 # 8 49 -20245 8 # 8 50 -20246 9 # 8 51 -20247 9 # 8 52 -20248 9 # 8 53 -20249 10 # 8 54 -20250 9 # 8 55 -20251 9 # 8 56 -20252 9 # 8 57 -20253 10 # 8 58 -20254 9 # 8 59 -20255 9 # 8 60 -20256 9 # 8 61 -20257 8 # 8 62 -20258 11 # 8 63 -20259 10 # 8 64 -20260 10 # 8 65 -20261 8 # 8 66 -20262 11 # 8 67 -20263 9 # 8 68 -20264 11 # 8 69 -20265 7 # 8 70 -20266 6 # 8 71 -20267 10 # 8 72 -20268 14 # 8 73 -20269 13 # 8 74 -20270 10 # 8 75 -20271 10 # 8 76 -20272 8 # 8 77 -20273 20 # 8 78 -20274 9 # 8 79 -20275 16 # 8 80 -20276 10 # 8 81 -20277 8 # 8 82 -20278 5 # 8 83 -20279 0 # 8 84 -20280 9 # 8 85 -20281 0 # 8 86 -20282 0 # 8 87 -20283 5 # 8 88 -20284 3 # 8 89 -20285 5 # 8 90 -20286 4 # 8 91 -20287 0 # 8 92 -20288 3 # 8 93 -20289 0 # 8 94 -20290 0 # 8 95 -20291 0 # 8 96 -20292 0 # 8 97 -20293 0 # 8 98 -20294 0 # 8 99 -20295 0 # 8 100 -20296 0 # 8 101 -20297 0 # 8 102 -20298 0 # 8 103 -20299 0 # 8 104 -20300 0 # 8 105 -20301 0 # 8 106 -20302 0 # 8 107 -20303 0 # 8 108 -20304 0 # 8 109 -20305 0 # 8 110 -20306 0 # 8 111 -20307 0 # 8 112 -20308 0 # 8 113 -20309 0 # 8 114 -20310 0 # 8 115 -20311 0 # 8 116 -20312 0 # 8 117 -20313 0 # 8 118 -20314 0 # 8 119 -20315 0 # 8 120 -20316 0 # 8 121 -20317 0 # 8 122 -20318 0 # 8 123 -20319 0 # 8 124 -20320 0 # 8 125 -20321 0 # 8 126 -20322 0 # 8 127 -20323 0 # 8 128 -20324 0 # 8 129 -20325 0 # 8 130 -20326 0 # 8 131 -20327 0 # 8 132 -20328 0 # 8 133 -20329 0 # 8 134 -20330 0 # 8 135 -20331 0 # 8 136 -20332 0 # 8 137 -20333 0 # 8 138 -20334 0 # 8 139 -20335 0 # 8 140 -20336 0 # 8 141 -20337 0 # 8 142 -20338 0 # 8 143 -20339 0 # 8 144 -20340 0 # 8 145 -20341 0 # 8 146 -20342 0 # 8 147 -20343 0 # 8 148 -20344 0 # 8 149 -20345 0 # 8 150 -20346 0 # 8 151 -20347 0 # 8 152 -20348 0 # 8 153 -20349 0 # 8 154 -20350 0 # 8 155 -20351 0 # 8 156 -20352 0 # 8 157 -20353 0 # 8 158 -20354 0 # 8 159 -20355 0 # 8 160 -20356 0 # 8 161 -20357 0 # 8 162 -20358 0 # 8 163 -20359 0 # 8 164 -20360 0 # 8 165 -20361 0 # 8 166 -20362 0 # 8 167 -20363 0 # 8 168 -20364 0 # 8 169 -20365 0 # 8 170 -20366 0 # 8 171 -20367 0 # 8 172 -20368 0 # 8 173 -20369 0 # 8 174 -20370 0 # 8 175 -20371 0 # 8 176 -20372 0 # 8 177 -20373 0 # 8 178 -20374 0 # 8 179 -20375 0 # 8 180 -20376 0 # 8 181 -20377 0 # 8 182 -20378 0 # 8 183 -20379 0 # 8 184 -20380 0 # 8 185 -20381 0 # 8 186 -20382 0 # 8 187 -20383 0 # 8 188 -20384 0 # 8 189 -20385 0 # 8 190 -20386 0 # 8 191 -20387 0 # 8 192 -20388 0 # 8 193 -20389 0 # 8 194 -20390 0 # 8 195 -20391 0 # 8 196 -20392 0 # 8 197 -20393 0 # 8 198 -20394 0 # 8 199 -20395 0 # 8 200 -20396 0 # 8 201 -20397 0 # 8 202 -20398 0 # 8 203 -20399 0 # 8 204 -20400 0 # 8 205 -20401 0 # 8 206 -20402 0 # 8 207 -20403 0 # 8 208 -20404 0 # 8 209 -20405 0 # 8 210 -20406 0 # 8 211 -20407 0 # 8 212 -20408 0 # 8 213 -20409 0 # 8 214 -20410 0 # 8 215 -20411 0 # 8 216 -20412 0 # 8 217 -20413 0 # 8 218 -20414 0 # 8 219 -20415 0 # 8 220 -20416 0 # 8 221 -20417 0 # 8 222 -20418 0 # 8 223 -20419 0 # 8 224 -20420 0 # 8 225 -20421 0 # 8 226 -20422 0 # 8 227 -20423 0 # 8 228 -20424 0 # 8 229 -20425 0 # 8 230 -20426 0 # 8 231 -20427 0 # 8 232 -20428 0 # 8 233 -20429 0 # 8 234 -20430 0 # 8 235 -20431 0 # 8 236 -20432 0 # 8 237 -20433 0 # 8 238 -20434 0 # 8 239 -20435 0 # 8 240 -20436 0 # 8 241 -20437 0 # 8 242 -20438 0 # 8 243 -20439 0 # 8 244 -20440 0 # 8 245 -20441 0 # 8 246 -20442 0 # 8 247 -20443 0 # 8 248 -20444 0 # 8 249 -20445 0 # 8 250 -20446 0 # 8 251 -20447 0 # 8 252 -20448 0 # 8 253 -20449 0 # 8 254 -20450 0 # 8 255 -20451 0 # 8 256 -20452 0 # 8 257 -20453 0 # 8 258 -20454 0 # 8 259 -20455 0 # 8 260 -20456 0 # 8 261 -20457 0 # 8 262 -20458 0 # 8 263 -20459 0 # 8 264 -20460 0 # 8 265 -20461 0 # 8 266 -20462 0 # 8 267 -20463 0 # 8 268 -20464 0 # 8 269 -20465 0 # 8 270 -20466 0 # 8 271 -20467 0 # 8 272 -20468 0 # 8 273 -20469 0 # 8 274 -20470 0 # 8 275 -20471 0 # 8 276 -20472 0 # 8 277 -20473 0 # 8 278 -20474 0 # 8 279 -20475 0 # 8 280 -20476 0 # 8 281 -20477 0 # 8 282 -20478 0 # 8 283 -20479 0 # 8 284 -20480 0 # 8 285 -20481 0 # 8 286 -20482 0 # 8 287 -20483 0 # 8 288 -20484 0 # 8 289 -20485 0 # 8 290 -20486 0 # 8 291 -20487 0 # 8 292 -20488 0 # 8 293 -20489 0 # 8 294 -20490 0 # 8 295 -20491 0 # 8 296 -20492 0 # 8 297 -20493 0 # 8 298 -20494 0 # 8 299 -20495 0 # 8 300 -20496 0 # 8 301 -20497 0 # 8 302 -20498 0 # 8 303 -20499 0 # 8 304 -20500 0 # 8 305 -20501 0 # 8 306 -20502 0 # 8 307 -20503 0 # 8 308 -20504 0 # 8 309 -20505 0 # 8 310 -20506 0 # 8 311 -20507 0 # 8 312 -20508 0 # 8 313 -20509 0 # 8 314 -20510 0 # 8 315 -20511 0 # 8 316 -20512 0 # 8 317 -20513 0 # 8 318 -20514 0 # 8 319 -20515 0 # 8 320 -20516 0 # 8 321 -20517 0 # 8 322 -20518 0 # 8 323 -20519 0 # 8 324 -20520 0 # 8 325 -20521 0 # 8 326 -20522 0 # 8 327 -20523 0 # 8 328 -20524 0 # 8 329 -20525 0 # 8 330 -20526 0 # 8 331 -20527 0 # 8 332 -20528 0 # 8 333 -20529 0 # 8 334 -20530 0 # 8 335 -20531 0 # 8 336 -20532 0 # 8 337 -20533 0 # 8 338 -20534 0 # 8 339 -20535 0 # 8 340 -20536 0 # 8 341 -20537 0 # 8 342 -20538 0 # 8 343 -20539 0 # 8 344 -20540 0 # 8 345 -20541 0 # 8 346 -20542 0 # 8 347 -20543 0 # 8 348 -20544 0 # 8 349 -20545 0 # 8 350 -20546 0 # 8 351 -20547 0 # 8 352 -20548 0 # 8 353 -20549 0 # 8 354 -20550 0 # 8 355 -20551 0 # 8 356 -20552 0 # 8 357 -20553 0 # 8 358 -20554 0 # 8 359 -20555 0 # 8 360 -20556 0 # 8 361 -20557 0 # 8 362 -20558 0 # 8 363 -20559 0 # 8 364 -20560 0 # 8 365 -20561 0 # 8 366 -20562 0 # 8 367 -20563 0 # 8 368 -20564 0 # 8 369 -20565 0 # 8 370 -20566 0 # 8 371 -20567 0 # 8 372 -20568 0 # 8 373 -20569 0 # 8 374 -20570 0 # 8 375 -20571 0 # 8 376 -20572 0 # 8 377 -20573 0 # 8 378 -20574 0 # 8 379 -20575 0 # 8 380 -20576 0 # 8 381 -20577 0 # 8 382 -20578 0 # 8 383 -20579 0 # 8 384 -20580 0 # 8 385 -20581 0 # 8 386 -20582 0 # 8 387 -20583 0 # 8 388 -20584 0 # 8 389 -20585 0 # 8 390 -20586 0 # 8 391 -20587 0 # 8 392 -20588 0 # 8 393 -20589 0 # 8 394 -20590 0 # 8 395 -20591 0 # 8 396 -20592 0 # 8 397 -20593 0 # 8 398 -20594 0 # 8 399 -20595 0 # 8 400 -20596 0 # 8 401 -20597 0 # 8 402 -20598 0 # 8 403 -20599 0 # 8 404 -20600 0 # 8 405 -20601 0 # 8 406 -20602 0 # 8 407 -20603 0 # 8 408 -20604 0 # 8 409 -20605 0 # 8 410 -20606 0 # 8 411 -20607 0 # 8 412 -20608 0 # 8 413 -20609 0 # 8 414 -20610 0 # 8 415 -20611 0 # 8 416 -20612 0 # 8 417 -20613 0 # 8 418 -20614 0 # 8 419 -20615 0 # 8 420 -20616 0 # 8 421 -20617 0 # 8 422 -20618 0 # 8 423 -20619 0 # 8 424 -20620 0 # 8 425 -20621 0 # 8 426 -20622 0 # 8 427 -20623 0 # 8 428 -20624 0 # 8 429 -20625 0 # 8 430 -20626 0 # 8 431 -20627 0 # 8 432 -20628 0 # 8 433 -20629 0 # 8 434 -20630 0 # 8 435 -20631 0 # 8 436 -20632 0 # 8 437 -20633 0 # 8 438 -20634 0 # 8 439 -20635 0 # 8 440 -20636 0 # 8 441 -20637 0 # 8 442 -20638 0 # 8 443 -20639 0 # 8 444 -20640 0 # 8 445 -20641 0 # 8 446 -20642 0 # 8 447 -20643 0 # 8 448 -20644 0 # 8 449 -20645 0 # 8 450 -20646 0 # 8 451 -20647 0 # 8 452 -20648 0 # 8 453 -20649 0 # 8 454 -20650 0 # 8 455 -20651 0 # 8 456 -20652 0 # 8 457 -20653 0 # 8 458 -20654 0 # 8 459 -20655 0 # 8 460 -20656 0 # 8 461 -20657 0 # 8 462 -20658 0 # 8 463 -20659 0 # 8 464 -20660 0 # 8 465 -20661 0 # 8 466 -20662 0 # 8 467 -20663 0 # 8 468 -20664 0 # 8 469 -20665 0 # 8 470 -20666 0 # 8 471 -20667 0 # 8 472 -20668 0 # 8 473 -20669 0 # 8 474 -20670 0 # 8 475 -20671 0 # 8 476 -20672 0 # 8 477 -20673 0 # 8 478 -20674 0 # 8 479 -20675 0 # 8 480 -20676 0 # 8 481 -20677 0 # 8 482 -20678 0 # 8 483 -20679 0 # 8 484 -20680 0 # 8 485 -20681 0 # 8 486 -20682 0 # 8 487 -20683 0 # 8 488 -20684 0 # 8 489 -20685 0 # 8 490 -20686 0 # 8 491 -20687 0 # 8 492 -20688 0 # 8 493 -20689 0 # 8 494 -20690 0 # 8 495 -20691 0 # 8 496 -20692 0 # 8 497 -20693 0 # 8 498 -20694 0 # 8 499 -20695 0 # 8 500 -20696 0 # 8 501 -20697 0 # 8 502 -20698 0 # 8 503 -20699 0 # 8 504 -20700 0 # 8 505 -20701 0 # 8 506 -20702 0 # 8 507 -20703 0 # 8 508 -20704 0 # 8 509 -20705 0 # 8 510 -20706 0 # 8 511 -20707 0 # 8 512 -20708 0 # 8 513 -20709 0 # 8 514 -20710 0 # 8 515 -20711 0 # 8 516 -20712 0 # 8 517 -20713 0 # 8 518 -20714 0 # 8 519 -20715 0 # 8 520 -20716 0 # 8 521 -20717 0 # 8 522 -20718 0 # 8 523 -20719 0 # 8 524 -20720 0 # 8 525 -20721 0 # 8 526 -20722 0 # 8 527 -20723 0 # 8 528 -20724 0 # 8 529 -20725 0 # 8 530 -20726 0 # 8 531 -20727 0 # 8 532 -20728 0 # 8 533 -20729 0 # 8 534 -20730 0 # 8 535 -20731 0 # 8 536 -20732 0 # 8 537 -20733 0 # 8 538 -20734 0 # 8 539 -20735 0 # 8 540 -20736 0 # 8 541 -20737 0 # 8 542 -20738 0 # 8 543 -20739 0 # 8 544 -20740 0 # 8 545 -20741 0 # 8 546 -20742 0 # 8 547 -20743 0 # 8 548 -20744 0 # 8 549 -20745 0 # 8 550 -20746 0 # 8 551 -20747 0 # 8 552 -20748 0 # 8 553 -20749 0 # 8 554 -20750 0 # 8 555 -20751 0 # 8 556 -20752 0 # 8 557 -20753 0 # 8 558 -20754 0 # 8 559 -20755 0 # 8 560 -20756 0 # 8 561 -20757 0 # 8 562 -20758 0 # 8 563 -20759 0 # 8 564 -20760 0 # 8 565 -20761 0 # 8 566 -20762 0 # 8 567 -20763 0 # 8 568 -20764 0 # 8 569 -20765 0 # 8 570 -20766 0 # 8 571 -20767 0 # 8 572 -20768 0 # 8 573 -20769 0 # 8 574 -20770 0 # 8 575 -20771 0 # 8 576 -20772 0 # 9 0 -20773 0 # 9 1 -20774 0 # 9 2 -20775 0 # 9 3 -20776 2 # 9 4 -20777 1 # 9 5 -20778 2 # 9 6 -20779 7 # 9 7 -20780 3 # 9 8 -20781 5 # 9 9 -20782 5 # 9 10 -20783 4 # 9 11 -20784 4 # 9 12 -20785 5 # 9 13 -20786 5 # 9 14 -20787 5 # 9 15 -20788 5 # 9 16 -20789 4 # 9 17 -20790 5 # 9 18 -20791 5 # 9 19 -20792 5 # 9 20 -20793 6 # 9 21 -20794 5 # 9 22 -20795 6 # 9 23 -20796 6 # 9 24 -20797 6 # 9 25 -20798 6 # 9 26 -20799 6 # 9 27 -20800 6 # 9 28 -20801 6 # 9 29 -20802 7 # 9 30 -20803 7 # 9 31 -20804 7 # 9 32 -20805 7 # 9 33 -20806 6 # 9 34 -20807 7 # 9 35 -20808 7 # 9 36 -20809 7 # 9 37 -20810 7 # 9 38 -20811 7 # 9 39 -20812 7 # 9 40 -20813 8 # 9 41 -20814 8 # 9 42 -20815 8 # 9 43 -20816 8 # 9 44 -20817 7 # 9 45 -20818 8 # 9 46 -20819 9 # 9 47 -20820 9 # 9 48 -20821 7 # 9 49 -20822 8 # 9 50 -20823 10 # 9 51 -20824 10 # 9 52 -20825 9 # 9 53 -20826 8 # 9 54 -20827 7 # 9 55 -20828 9 # 9 56 -20829 9 # 9 57 -20830 8 # 9 58 -20831 9 # 9 59 -20832 9 # 9 60 -20833 9 # 9 61 -20834 12 # 9 62 -20835 11 # 9 63 -20836 9 # 9 64 -20837 9 # 9 65 -20838 6 # 9 66 -20839 10 # 9 67 -20840 8 # 9 68 -20841 12 # 9 69 -20842 6 # 9 70 -20843 6 # 9 71 -20844 10 # 9 72 -20845 15 # 9 73 -20846 10 # 9 74 -20847 18 # 9 75 -20848 7 # 9 76 -20849 7 # 9 77 -20850 26 # 9 78 -20851 9 # 9 79 -20852 15 # 9 80 -20853 8 # 9 81 -20854 6 # 9 82 -20855 9 # 9 83 -20856 0 # 9 84 -20857 8 # 9 85 -20858 0 # 9 86 -20859 0 # 9 87 -20860 2 # 9 88 -20861 1 # 9 89 -20862 4 # 9 90 -20863 6 # 9 91 -20864 0 # 9 92 -20865 3 # 9 93 -20866 0 # 9 94 -20867 0 # 9 95 -20868 0 # 9 96 -20869 0 # 9 97 -20870 0 # 9 98 -20871 0 # 9 99 -20872 0 # 9 100 -20873 0 # 9 101 -20874 0 # 9 102 -20875 0 # 9 103 -20876 0 # 9 104 -20877 0 # 9 105 -20878 0 # 9 106 -20879 0 # 9 107 -20880 0 # 9 108 -20881 0 # 9 109 -20882 0 # 9 110 -20883 0 # 9 111 -20884 0 # 9 112 -20885 0 # 9 113 -20886 0 # 9 114 -20887 0 # 9 115 -20888 0 # 9 116 -20889 0 # 9 117 -20890 0 # 9 118 -20891 0 # 9 119 -20892 0 # 9 120 -20893 0 # 9 121 -20894 0 # 9 122 -20895 0 # 9 123 -20896 0 # 9 124 -20897 0 # 9 125 -20898 0 # 9 126 -20899 0 # 9 127 -20900 0 # 9 128 -20901 0 # 9 129 -20902 0 # 9 130 -20903 0 # 9 131 -20904 0 # 9 132 -20905 0 # 9 133 -20906 0 # 9 134 -20907 0 # 9 135 -20908 0 # 9 136 -20909 0 # 9 137 -20910 0 # 9 138 -20911 0 # 9 139 -20912 0 # 9 140 -20913 0 # 9 141 -20914 0 # 9 142 -20915 0 # 9 143 -20916 0 # 9 144 -20917 0 # 9 145 -20918 0 # 9 146 -20919 0 # 9 147 -20920 0 # 9 148 -20921 0 # 9 149 -20922 0 # 9 150 -20923 0 # 9 151 -20924 0 # 9 152 -20925 0 # 9 153 -20926 0 # 9 154 -20927 0 # 9 155 -20928 0 # 9 156 -20929 0 # 9 157 -20930 0 # 9 158 -20931 0 # 9 159 -20932 0 # 9 160 -20933 0 # 9 161 -20934 0 # 9 162 -20935 0 # 9 163 -20936 0 # 9 164 -20937 0 # 9 165 -20938 0 # 9 166 -20939 0 # 9 167 -20940 0 # 9 168 -20941 0 # 9 169 -20942 0 # 9 170 -20943 0 # 9 171 -20944 0 # 9 172 -20945 0 # 9 173 -20946 0 # 9 174 -20947 0 # 9 175 -20948 0 # 9 176 -20949 0 # 9 177 -20950 0 # 9 178 -20951 0 # 9 179 -20952 0 # 9 180 -20953 0 # 9 181 -20954 0 # 9 182 -20955 0 # 9 183 -20956 0 # 9 184 -20957 0 # 9 185 -20958 0 # 9 186 -20959 0 # 9 187 -20960 0 # 9 188 -20961 0 # 9 189 -20962 0 # 9 190 -20963 0 # 9 191 -20964 0 # 9 192 -20965 0 # 9 193 -20966 0 # 9 194 -20967 0 # 9 195 -20968 0 # 9 196 -20969 0 # 9 197 -20970 0 # 9 198 -20971 0 # 9 199 -20972 0 # 9 200 -20973 0 # 9 201 -20974 0 # 9 202 -20975 0 # 9 203 -20976 0 # 9 204 -20977 0 # 9 205 -20978 0 # 9 206 -20979 0 # 9 207 -20980 0 # 9 208 -20981 0 # 9 209 -20982 0 # 9 210 -20983 0 # 9 211 -20984 0 # 9 212 -20985 0 # 9 213 -20986 0 # 9 214 -20987 0 # 9 215 -20988 0 # 9 216 -20989 0 # 9 217 -20990 0 # 9 218 -20991 0 # 9 219 -20992 0 # 9 220 -20993 0 # 9 221 -20994 0 # 9 222 -20995 0 # 9 223 -20996 0 # 9 224 -20997 0 # 9 225 -20998 0 # 9 226 -20999 0 # 9 227 -21000 0 # 9 228 -21001 0 # 9 229 -21002 0 # 9 230 -21003 0 # 9 231 -21004 0 # 9 232 -21005 0 # 9 233 -21006 0 # 9 234 -21007 0 # 9 235 -21008 0 # 9 236 -21009 0 # 9 237 -21010 0 # 9 238 -21011 0 # 9 239 -21012 0 # 9 240 -21013 0 # 9 241 -21014 0 # 9 242 -21015 0 # 9 243 -21016 0 # 9 244 -21017 0 # 9 245 -21018 0 # 9 246 -21019 0 # 9 247 -21020 0 # 9 248 -21021 0 # 9 249 -21022 0 # 9 250 -21023 0 # 9 251 -21024 0 # 9 252 -21025 0 # 9 253 -21026 0 # 9 254 -21027 0 # 9 255 -21028 0 # 9 256 -21029 0 # 9 257 -21030 0 # 9 258 -21031 0 # 9 259 -21032 0 # 9 260 -21033 0 # 9 261 -21034 0 # 9 262 -21035 0 # 9 263 -21036 0 # 9 264 -21037 0 # 9 265 -21038 0 # 9 266 -21039 0 # 9 267 -21040 0 # 9 268 -21041 0 # 9 269 -21042 0 # 9 270 -21043 0 # 9 271 -21044 0 # 9 272 -21045 0 # 9 273 -21046 0 # 9 274 -21047 0 # 9 275 -21048 0 # 9 276 -21049 0 # 9 277 -21050 0 # 9 278 -21051 0 # 9 279 -21052 0 # 9 280 -21053 0 # 9 281 -21054 0 # 9 282 -21055 0 # 9 283 -21056 0 # 9 284 -21057 0 # 9 285 -21058 0 # 9 286 -21059 0 # 9 287 -21060 0 # 9 288 -21061 0 # 9 289 -21062 0 # 9 290 -21063 0 # 9 291 -21064 0 # 9 292 -21065 0 # 9 293 -21066 0 # 9 294 -21067 0 # 9 295 -21068 0 # 9 296 -21069 0 # 9 297 -21070 0 # 9 298 -21071 0 # 9 299 -21072 0 # 9 300 -21073 0 # 9 301 -21074 0 # 9 302 -21075 0 # 9 303 -21076 0 # 9 304 -21077 0 # 9 305 -21078 0 # 9 306 -21079 0 # 9 307 -21080 0 # 9 308 -21081 0 # 9 309 -21082 0 # 9 310 -21083 0 # 9 311 -21084 0 # 9 312 -21085 0 # 9 313 -21086 0 # 9 314 -21087 0 # 9 315 -21088 0 # 9 316 -21089 0 # 9 317 -21090 0 # 9 318 -21091 0 # 9 319 -21092 0 # 9 320 -21093 0 # 9 321 -21094 0 # 9 322 -21095 0 # 9 323 -21096 0 # 9 324 -21097 0 # 9 325 -21098 0 # 9 326 -21099 0 # 9 327 -21100 0 # 9 328 -21101 0 # 9 329 -21102 0 # 9 330 -21103 0 # 9 331 -21104 0 # 9 332 -21105 0 # 9 333 -21106 0 # 9 334 -21107 0 # 9 335 -21108 0 # 9 336 -21109 0 # 9 337 -21110 0 # 9 338 -21111 0 # 9 339 -21112 0 # 9 340 -21113 0 # 9 341 -21114 0 # 9 342 -21115 0 # 9 343 -21116 0 # 9 344 -21117 0 # 9 345 -21118 0 # 9 346 -21119 0 # 9 347 -21120 0 # 9 348 -21121 0 # 9 349 -21122 0 # 9 350 -21123 0 # 9 351 -21124 0 # 9 352 -21125 0 # 9 353 -21126 0 # 9 354 -21127 0 # 9 355 -21128 0 # 9 356 -21129 0 # 9 357 -21130 0 # 9 358 -21131 0 # 9 359 -21132 0 # 9 360 -21133 0 # 9 361 -21134 0 # 9 362 -21135 0 # 9 363 -21136 0 # 9 364 -21137 0 # 9 365 -21138 0 # 9 366 -21139 0 # 9 367 -21140 0 # 9 368 -21141 0 # 9 369 -21142 0 # 9 370 -21143 0 # 9 371 -21144 0 # 9 372 -21145 0 # 9 373 -21146 0 # 9 374 -21147 0 # 9 375 -21148 0 # 9 376 -21149 0 # 9 377 -21150 0 # 9 378 -21151 0 # 9 379 -21152 0 # 9 380 -21153 0 # 9 381 -21154 0 # 9 382 -21155 0 # 9 383 -21156 0 # 9 384 -21157 0 # 9 385 -21158 0 # 9 386 -21159 0 # 9 387 -21160 0 # 9 388 -21161 0 # 9 389 -21162 0 # 9 390 -21163 0 # 9 391 -21164 0 # 9 392 -21165 0 # 9 393 -21166 0 # 9 394 -21167 0 # 9 395 -21168 0 # 9 396 -21169 0 # 9 397 -21170 0 # 9 398 -21171 0 # 9 399 -21172 0 # 9 400 -21173 0 # 9 401 -21174 0 # 9 402 -21175 0 # 9 403 -21176 0 # 9 404 -21177 0 # 9 405 -21178 0 # 9 406 -21179 0 # 9 407 -21180 0 # 9 408 -21181 0 # 9 409 -21182 0 # 9 410 -21183 0 # 9 411 -21184 0 # 9 412 -21185 0 # 9 413 -21186 0 # 9 414 -21187 0 # 9 415 -21188 0 # 9 416 -21189 0 # 9 417 -21190 0 # 9 418 -21191 0 # 9 419 -21192 0 # 9 420 -21193 0 # 9 421 -21194 0 # 9 422 -21195 0 # 9 423 -21196 0 # 9 424 -21197 0 # 9 425 -21198 0 # 9 426 -21199 0 # 9 427 -21200 0 # 9 428 -21201 0 # 9 429 -21202 0 # 9 430 -21203 0 # 9 431 -21204 0 # 9 432 -21205 0 # 9 433 -21206 0 # 9 434 -21207 0 # 9 435 -21208 0 # 9 436 -21209 0 # 9 437 -21210 0 # 9 438 -21211 0 # 9 439 -21212 0 # 9 440 -21213 0 # 9 441 -21214 0 # 9 442 -21215 0 # 9 443 -21216 0 # 9 444 -21217 0 # 9 445 -21218 0 # 9 446 -21219 0 # 9 447 -21220 0 # 9 448 -21221 0 # 9 449 -21222 0 # 9 450 -21223 0 # 9 451 -21224 0 # 9 452 -21225 0 # 9 453 -21226 0 # 9 454 -21227 0 # 9 455 -21228 0 # 9 456 -21229 0 # 9 457 -21230 0 # 9 458 -21231 0 # 9 459 -21232 0 # 9 460 -21233 0 # 9 461 -21234 0 # 9 462 -21235 0 # 9 463 -21236 0 # 9 464 -21237 0 # 9 465 -21238 0 # 9 466 -21239 0 # 9 467 -21240 0 # 9 468 -21241 0 # 9 469 -21242 0 # 9 470 -21243 0 # 9 471 -21244 0 # 9 472 -21245 0 # 9 473 -21246 0 # 9 474 -21247 0 # 9 475 -21248 0 # 9 476 -21249 0 # 9 477 -21250 0 # 9 478 -21251 0 # 9 479 -21252 0 # 9 480 -21253 0 # 9 481 -21254 0 # 9 482 -21255 0 # 9 483 -21256 0 # 9 484 -21257 0 # 9 485 -21258 0 # 9 486 -21259 0 # 9 487 -21260 0 # 9 488 -21261 0 # 9 489 -21262 0 # 9 490 -21263 0 # 9 491 -21264 0 # 9 492 -21265 0 # 9 493 -21266 0 # 9 494 -21267 0 # 9 495 -21268 0 # 9 496 -21269 0 # 9 497 -21270 0 # 9 498 -21271 0 # 9 499 -21272 0 # 9 500 -21273 0 # 9 501 -21274 0 # 9 502 -21275 0 # 9 503 -21276 0 # 9 504 -21277 0 # 9 505 -21278 0 # 9 506 -21279 0 # 9 507 -21280 0 # 9 508 -21281 0 # 9 509 -21282 0 # 9 510 -21283 0 # 9 511 -21284 0 # 9 512 -21285 0 # 9 513 -21286 0 # 9 514 -21287 0 # 9 515 -21288 0 # 9 516 -21289 0 # 9 517 -21290 0 # 9 518 -21291 0 # 9 519 -21292 0 # 9 520 -21293 0 # 9 521 -21294 0 # 9 522 -21295 0 # 9 523 -21296 0 # 9 524 -21297 0 # 9 525 -21298 0 # 9 526 -21299 0 # 9 527 -21300 0 # 9 528 -21301 0 # 9 529 -21302 0 # 9 530 -21303 0 # 9 531 -21304 0 # 9 532 -21305 0 # 9 533 -21306 0 # 9 534 -21307 0 # 9 535 -21308 0 # 9 536 -21309 0 # 9 537 -21310 0 # 9 538 -21311 0 # 9 539 -21312 0 # 9 540 -21313 0 # 9 541 -21314 0 # 9 542 -21315 0 # 9 543 -21316 0 # 9 544 -21317 0 # 9 545 -21318 0 # 9 546 -21319 0 # 9 547 -21320 0 # 9 548 -21321 0 # 9 549 -21322 0 # 9 550 -21323 0 # 9 551 -21324 0 # 9 552 -21325 0 # 9 553 -21326 0 # 9 554 -21327 0 # 9 555 -21328 0 # 9 556 -21329 0 # 9 557 -21330 0 # 9 558 -21331 0 # 9 559 -21332 0 # 9 560 -21333 0 # 9 561 -21334 0 # 9 562 -21335 0 # 9 563 -21336 0 # 9 564 -21337 0 # 9 565 -21338 0 # 9 566 -21339 0 # 9 567 -21340 0 # 9 568 -21341 0 # 9 569 -21342 0 # 9 570 -21343 0 # 9 571 -21344 0 # 9 572 -21345 0 # 9 573 -21346 0 # 9 574 -21347 0 # 9 575 -21348 0 # 9 576 -21349 0 # 10 0 -21350 0 # 10 1 -21351 0 # 10 2 -21352 0 # 10 3 -21353 1 # 10 4 -21354 1 # 10 5 -21355 2 # 10 6 -21356 6 # 10 7 -21357 2 # 10 8 -21358 4 # 10 9 -21359 3 # 10 10 -21360 4 # 10 11 -21361 4 # 10 12 -21362 5 # 10 13 -21363 4 # 10 14 -21364 5 # 10 15 -21365 5 # 10 16 -21366 4 # 10 17 -21367 5 # 10 18 -21368 4 # 10 19 -21369 5 # 10 20 -21370 5 # 10 21 -21371 5 # 10 22 -21372 5 # 10 23 -21373 5 # 10 24 -21374 6 # 10 25 -21375 6 # 10 26 -21376 6 # 10 27 -21377 6 # 10 28 -21378 6 # 10 29 -21379 7 # 10 30 -21380 6 # 10 31 -21381 7 # 10 32 -21382 6 # 10 33 -21383 6 # 10 34 -21384 7 # 10 35 -21385 7 # 10 36 -21386 7 # 10 37 -21387 7 # 10 38 -21388 8 # 10 39 -21389 7 # 10 40 -21390 7 # 10 41 -21391 8 # 10 42 -21392 8 # 10 43 -21393 8 # 10 44 -21394 7 # 10 45 -21395 8 # 10 46 -21396 8 # 10 47 -21397 9 # 10 48 -21398 8 # 10 49 -21399 9 # 10 50 -21400 8 # 10 51 -21401 9 # 10 52 -21402 8 # 10 53 -21403 10 # 10 54 -21404 9 # 10 55 -21405 8 # 10 56 -21406 9 # 10 57 -21407 7 # 10 58 -21408 9 # 10 59 -21409 8 # 10 60 -21410 9 # 10 61 -21411 10 # 10 62 -21412 8 # 10 63 -21413 9 # 10 64 -21414 7 # 10 65 -21415 7 # 10 66 -21416 9 # 10 67 -21417 8 # 10 68 -21418 13 # 10 69 -21419 8 # 10 70 -21420 8 # 10 71 -21421 9 # 10 72 -21422 7 # 10 73 -21423 8 # 10 74 -21424 14 # 10 75 -21425 7 # 10 76 -21426 4 # 10 77 -21427 9 # 10 78 -21428 9 # 10 79 -21429 15 # 10 80 -21430 10 # 10 81 -21431 5 # 10 82 -21432 7 # 10 83 -21433 0 # 10 84 -21434 3 # 10 85 -21435 0 # 10 86 -21436 0 # 10 87 -21437 5 # 10 88 -21438 4 # 10 89 -21439 7 # 10 90 -21440 4 # 10 91 -21441 0 # 10 92 -21442 3 # 10 93 -21443 0 # 10 94 -21444 0 # 10 95 -21445 0 # 10 96 -21446 0 # 10 97 -21447 0 # 10 98 -21448 0 # 10 99 -21449 0 # 10 100 -21450 0 # 10 101 -21451 0 # 10 102 -21452 0 # 10 103 -21453 0 # 10 104 -21454 0 # 10 105 -21455 0 # 10 106 -21456 0 # 10 107 -21457 0 # 10 108 -21458 0 # 10 109 -21459 0 # 10 110 -21460 0 # 10 111 -21461 0 # 10 112 -21462 0 # 10 113 -21463 0 # 10 114 -21464 0 # 10 115 -21465 0 # 10 116 -21466 0 # 10 117 -21467 0 # 10 118 -21468 0 # 10 119 -21469 0 # 10 120 -21470 0 # 10 121 -21471 0 # 10 122 -21472 0 # 10 123 -21473 0 # 10 124 -21474 0 # 10 125 -21475 0 # 10 126 -21476 0 # 10 127 -21477 0 # 10 128 -21478 0 # 10 129 -21479 0 # 10 130 -21480 0 # 10 131 -21481 0 # 10 132 -21482 0 # 10 133 -21483 0 # 10 134 -21484 0 # 10 135 -21485 0 # 10 136 -21486 0 # 10 137 -21487 0 # 10 138 -21488 0 # 10 139 -21489 0 # 10 140 -21490 0 # 10 141 -21491 0 # 10 142 -21492 0 # 10 143 -21493 0 # 10 144 -21494 0 # 10 145 -21495 0 # 10 146 -21496 0 # 10 147 -21497 0 # 10 148 -21498 0 # 10 149 -21499 0 # 10 150 -21500 0 # 10 151 -21501 0 # 10 152 -21502 0 # 10 153 -21503 0 # 10 154 -21504 0 # 10 155 -21505 0 # 10 156 -21506 0 # 10 157 -21507 0 # 10 158 -21508 0 # 10 159 -21509 0 # 10 160 -21510 0 # 10 161 -21511 0 # 10 162 -21512 0 # 10 163 -21513 0 # 10 164 -21514 0 # 10 165 -21515 0 # 10 166 -21516 0 # 10 167 -21517 0 # 10 168 -21518 0 # 10 169 -21519 0 # 10 170 -21520 0 # 10 171 -21521 0 # 10 172 -21522 0 # 10 173 -21523 0 # 10 174 -21524 0 # 10 175 -21525 0 # 10 176 -21526 0 # 10 177 -21527 0 # 10 178 -21528 0 # 10 179 -21529 0 # 10 180 -21530 0 # 10 181 -21531 0 # 10 182 -21532 0 # 10 183 -21533 0 # 10 184 -21534 0 # 10 185 -21535 0 # 10 186 -21536 0 # 10 187 -21537 0 # 10 188 -21538 0 # 10 189 -21539 0 # 10 190 -21540 0 # 10 191 -21541 0 # 10 192 -21542 0 # 10 193 -21543 0 # 10 194 -21544 0 # 10 195 -21545 0 # 10 196 -21546 0 # 10 197 -21547 0 # 10 198 -21548 0 # 10 199 -21549 0 # 10 200 -21550 0 # 10 201 -21551 0 # 10 202 -21552 0 # 10 203 -21553 0 # 10 204 -21554 0 # 10 205 -21555 0 # 10 206 -21556 0 # 10 207 -21557 0 # 10 208 -21558 0 # 10 209 -21559 0 # 10 210 -21560 0 # 10 211 -21561 0 # 10 212 -21562 0 # 10 213 -21563 0 # 10 214 -21564 0 # 10 215 -21565 0 # 10 216 -21566 0 # 10 217 -21567 0 # 10 218 -21568 0 # 10 219 -21569 0 # 10 220 -21570 0 # 10 221 -21571 0 # 10 222 -21572 0 # 10 223 -21573 0 # 10 224 -21574 0 # 10 225 -21575 0 # 10 226 -21576 0 # 10 227 -21577 0 # 10 228 -21578 0 # 10 229 -21579 0 # 10 230 -21580 0 # 10 231 -21581 0 # 10 232 -21582 0 # 10 233 -21583 0 # 10 234 -21584 0 # 10 235 -21585 0 # 10 236 -21586 0 # 10 237 -21587 0 # 10 238 -21588 0 # 10 239 -21589 0 # 10 240 -21590 0 # 10 241 -21591 0 # 10 242 -21592 0 # 10 243 -21593 0 # 10 244 -21594 0 # 10 245 -21595 0 # 10 246 -21596 0 # 10 247 -21597 0 # 10 248 -21598 0 # 10 249 -21599 0 # 10 250 -21600 0 # 10 251 -21601 0 # 10 252 -21602 0 # 10 253 -21603 0 # 10 254 -21604 0 # 10 255 -21605 0 # 10 256 -21606 0 # 10 257 -21607 0 # 10 258 -21608 0 # 10 259 -21609 0 # 10 260 -21610 0 # 10 261 -21611 0 # 10 262 -21612 0 # 10 263 -21613 0 # 10 264 -21614 0 # 10 265 -21615 0 # 10 266 -21616 0 # 10 267 -21617 0 # 10 268 -21618 0 # 10 269 -21619 0 # 10 270 -21620 0 # 10 271 -21621 0 # 10 272 -21622 0 # 10 273 -21623 0 # 10 274 -21624 0 # 10 275 -21625 0 # 10 276 -21626 0 # 10 277 -21627 0 # 10 278 -21628 0 # 10 279 -21629 0 # 10 280 -21630 0 # 10 281 -21631 0 # 10 282 -21632 0 # 10 283 -21633 0 # 10 284 -21634 0 # 10 285 -21635 0 # 10 286 -21636 0 # 10 287 -21637 0 # 10 288 -21638 0 # 10 289 -21639 0 # 10 290 -21640 0 # 10 291 -21641 0 # 10 292 -21642 0 # 10 293 -21643 0 # 10 294 -21644 0 # 10 295 -21645 0 # 10 296 -21646 0 # 10 297 -21647 0 # 10 298 -21648 0 # 10 299 -21649 0 # 10 300 -21650 0 # 10 301 -21651 0 # 10 302 -21652 0 # 10 303 -21653 0 # 10 304 -21654 0 # 10 305 -21655 0 # 10 306 -21656 0 # 10 307 -21657 0 # 10 308 -21658 0 # 10 309 -21659 0 # 10 310 -21660 0 # 10 311 -21661 0 # 10 312 -21662 0 # 10 313 -21663 0 # 10 314 -21664 0 # 10 315 -21665 0 # 10 316 -21666 0 # 10 317 -21667 0 # 10 318 -21668 0 # 10 319 -21669 0 # 10 320 -21670 0 # 10 321 -21671 0 # 10 322 -21672 0 # 10 323 -21673 0 # 10 324 -21674 0 # 10 325 -21675 0 # 10 326 -21676 0 # 10 327 -21677 0 # 10 328 -21678 0 # 10 329 -21679 0 # 10 330 -21680 0 # 10 331 -21681 0 # 10 332 -21682 0 # 10 333 -21683 0 # 10 334 -21684 0 # 10 335 -21685 0 # 10 336 -21686 0 # 10 337 -21687 0 # 10 338 -21688 0 # 10 339 -21689 0 # 10 340 -21690 0 # 10 341 -21691 0 # 10 342 -21692 0 # 10 343 -21693 0 # 10 344 -21694 0 # 10 345 -21695 0 # 10 346 -21696 0 # 10 347 -21697 0 # 10 348 -21698 0 # 10 349 -21699 0 # 10 350 -21700 0 # 10 351 -21701 0 # 10 352 -21702 0 # 10 353 -21703 0 # 10 354 -21704 0 # 10 355 -21705 0 # 10 356 -21706 0 # 10 357 -21707 0 # 10 358 -21708 0 # 10 359 -21709 0 # 10 360 -21710 0 # 10 361 -21711 0 # 10 362 -21712 0 # 10 363 -21713 0 # 10 364 -21714 0 # 10 365 -21715 0 # 10 366 -21716 0 # 10 367 -21717 0 # 10 368 -21718 0 # 10 369 -21719 0 # 10 370 -21720 0 # 10 371 -21721 0 # 10 372 -21722 0 # 10 373 -21723 0 # 10 374 -21724 0 # 10 375 -21725 0 # 10 376 -21726 0 # 10 377 -21727 0 # 10 378 -21728 0 # 10 379 -21729 0 # 10 380 -21730 0 # 10 381 -21731 0 # 10 382 -21732 0 # 10 383 -21733 0 # 10 384 -21734 0 # 10 385 -21735 0 # 10 386 -21736 0 # 10 387 -21737 0 # 10 388 -21738 0 # 10 389 -21739 0 # 10 390 -21740 0 # 10 391 -21741 0 # 10 392 -21742 0 # 10 393 -21743 0 # 10 394 -21744 0 # 10 395 -21745 0 # 10 396 -21746 0 # 10 397 -21747 0 # 10 398 -21748 0 # 10 399 -21749 0 # 10 400 -21750 0 # 10 401 -21751 0 # 10 402 -21752 0 # 10 403 -21753 0 # 10 404 -21754 0 # 10 405 -21755 0 # 10 406 -21756 0 # 10 407 -21757 0 # 10 408 -21758 0 # 10 409 -21759 0 # 10 410 -21760 0 # 10 411 -21761 0 # 10 412 -21762 0 # 10 413 -21763 0 # 10 414 -21764 0 # 10 415 -21765 0 # 10 416 -21766 0 # 10 417 -21767 0 # 10 418 -21768 0 # 10 419 -21769 0 # 10 420 -21770 0 # 10 421 -21771 0 # 10 422 -21772 0 # 10 423 -21773 0 # 10 424 -21774 0 # 10 425 -21775 0 # 10 426 -21776 0 # 10 427 -21777 0 # 10 428 -21778 0 # 10 429 -21779 0 # 10 430 -21780 0 # 10 431 -21781 0 # 10 432 -21782 0 # 10 433 -21783 0 # 10 434 -21784 0 # 10 435 -21785 0 # 10 436 -21786 0 # 10 437 -21787 0 # 10 438 -21788 0 # 10 439 -21789 0 # 10 440 -21790 0 # 10 441 -21791 0 # 10 442 -21792 0 # 10 443 -21793 0 # 10 444 -21794 0 # 10 445 -21795 0 # 10 446 -21796 0 # 10 447 -21797 0 # 10 448 -21798 0 # 10 449 -21799 0 # 10 450 -21800 0 # 10 451 -21801 0 # 10 452 -21802 0 # 10 453 -21803 0 # 10 454 -21804 0 # 10 455 -21805 0 # 10 456 -21806 0 # 10 457 -21807 0 # 10 458 -21808 0 # 10 459 -21809 0 # 10 460 -21810 0 # 10 461 -21811 0 # 10 462 -21812 0 # 10 463 -21813 0 # 10 464 -21814 0 # 10 465 -21815 0 # 10 466 -21816 0 # 10 467 -21817 0 # 10 468 -21818 0 # 10 469 -21819 0 # 10 470 -21820 0 # 10 471 -21821 0 # 10 472 -21822 0 # 10 473 -21823 0 # 10 474 -21824 0 # 10 475 -21825 0 # 10 476 -21826 0 # 10 477 -21827 0 # 10 478 -21828 0 # 10 479 -21829 0 # 10 480 -21830 0 # 10 481 -21831 0 # 10 482 -21832 0 # 10 483 -21833 0 # 10 484 -21834 0 # 10 485 -21835 0 # 10 486 -21836 0 # 10 487 -21837 0 # 10 488 -21838 0 # 10 489 -21839 0 # 10 490 -21840 0 # 10 491 -21841 0 # 10 492 -21842 0 # 10 493 -21843 0 # 10 494 -21844 0 # 10 495 -21845 0 # 10 496 -21846 0 # 10 497 -21847 0 # 10 498 -21848 0 # 10 499 -21849 0 # 10 500 -21850 0 # 10 501 -21851 0 # 10 502 -21852 0 # 10 503 -21853 0 # 10 504 -21854 0 # 10 505 -21855 0 # 10 506 -21856 0 # 10 507 -21857 0 # 10 508 -21858 0 # 10 509 -21859 0 # 10 510 -21860 0 # 10 511 -21861 0 # 10 512 -21862 0 # 10 513 -21863 0 # 10 514 -21864 0 # 10 515 -21865 0 # 10 516 -21866 0 # 10 517 -21867 0 # 10 518 -21868 0 # 10 519 -21869 0 # 10 520 -21870 0 # 10 521 -21871 0 # 10 522 -21872 0 # 10 523 -21873 0 # 10 524 -21874 0 # 10 525 -21875 0 # 10 526 -21876 0 # 10 527 -21877 0 # 10 528 -21878 0 # 10 529 -21879 0 # 10 530 -21880 0 # 10 531 -21881 0 # 10 532 -21882 0 # 10 533 -21883 0 # 10 534 -21884 0 # 10 535 -21885 0 # 10 536 -21886 0 # 10 537 -21887 0 # 10 538 -21888 0 # 10 539 -21889 0 # 10 540 -21890 0 # 10 541 -21891 0 # 10 542 -21892 0 # 10 543 -21893 0 # 10 544 -21894 0 # 10 545 -21895 0 # 10 546 -21896 0 # 10 547 -21897 0 # 10 548 -21898 0 # 10 549 -21899 0 # 10 550 -21900 0 # 10 551 -21901 0 # 10 552 -21902 0 # 10 553 -21903 0 # 10 554 -21904 0 # 10 555 -21905 0 # 10 556 -21906 0 # 10 557 -21907 0 # 10 558 -21908 0 # 10 559 -21909 0 # 10 560 -21910 0 # 10 561 -21911 0 # 10 562 -21912 0 # 10 563 -21913 0 # 10 564 -21914 0 # 10 565 -21915 0 # 10 566 -21916 0 # 10 567 -21917 0 # 10 568 -21918 0 # 10 569 -21919 0 # 10 570 -21920 0 # 10 571 -21921 0 # 10 572 -21922 0 # 10 573 -21923 0 # 10 574 -21924 0 # 10 575 -21925 0 # 10 576 -21926 0 # 11 0 -21927 0 # 11 1 -21928 0 # 11 2 -21929 2 # 11 3 -21930 1 # 11 4 -21931 2 # 11 5 -21932 2 # 11 6 -21933 4 # 11 7 -21934 2 # 11 8 -21935 4 # 11 9 -21936 3 # 11 10 -21937 4 # 11 11 -21938 3 # 11 12 -21939 5 # 11 13 -21940 4 # 11 14 -21941 6 # 11 15 -21942 4 # 11 16 -21943 4 # 11 17 -21944 4 # 11 18 -21945 4 # 11 19 -21946 4 # 11 20 -21947 5 # 11 21 -21948 5 # 11 22 -21949 6 # 11 23 -21950 5 # 11 24 -21951 5 # 11 25 -21952 5 # 11 26 -21953 6 # 11 27 -21954 6 # 11 28 -21955 6 # 11 29 -21956 6 # 11 30 -21957 6 # 11 31 -21958 6 # 11 32 -21959 6 # 11 33 -21960 6 # 11 34 -21961 6 # 11 35 -21962 6 # 11 36 -21963 6 # 11 37 -21964 7 # 11 38 -21965 7 # 11 39 -21966 6 # 11 40 -21967 7 # 11 41 -21968 7 # 11 42 -21969 7 # 11 43 -21970 7 # 11 44 -21971 7 # 11 45 -21972 8 # 11 46 -21973 8 # 11 47 -21974 8 # 11 48 -21975 8 # 11 49 -21976 9 # 11 50 -21977 8 # 11 51 -21978 9 # 11 52 -21979 8 # 11 53 -21980 9 # 11 54 -21981 8 # 11 55 -21982 6 # 11 56 -21983 9 # 11 57 -21984 8 # 11 58 -21985 7 # 11 59 -21986 9 # 11 60 -21987 10 # 11 61 -21988 10 # 11 62 -21989 7 # 11 63 -21990 10 # 11 64 -21991 7 # 11 65 -21992 8 # 11 66 -21993 10 # 11 67 -21994 10 # 11 68 -21995 12 # 11 69 -21996 6 # 11 70 -21997 8 # 11 71 -21998 8 # 11 72 -21999 8 # 11 73 -22000 7 # 11 74 -22001 26 # 11 75 -22002 9 # 11 76 -22003 6 # 11 77 -22004 8 # 11 78 -22005 7 # 11 79 -22006 14 # 11 80 -22007 7 # 11 81 -22008 4 # 11 82 -22009 7 # 11 83 -22010 0 # 11 84 -22011 5 # 11 85 -22012 0 # 11 86 -22013 0 # 11 87 -22014 5 # 11 88 -22015 3 # 11 89 -22016 13 # 11 90 -22017 1 # 11 91 -22018 0 # 11 92 -22019 3 # 11 93 -22020 0 # 11 94 -22021 0 # 11 95 -22022 0 # 11 96 -22023 0 # 11 97 -22024 0 # 11 98 -22025 0 # 11 99 -22026 0 # 11 100 -22027 0 # 11 101 -22028 0 # 11 102 -22029 0 # 11 103 -22030 0 # 11 104 -22031 0 # 11 105 -22032 0 # 11 106 -22033 0 # 11 107 -22034 0 # 11 108 -22035 0 # 11 109 -22036 0 # 11 110 -22037 0 # 11 111 -22038 0 # 11 112 -22039 0 # 11 113 -22040 0 # 11 114 -22041 0 # 11 115 -22042 0 # 11 116 -22043 0 # 11 117 -22044 0 # 11 118 -22045 0 # 11 119 -22046 0 # 11 120 -22047 0 # 11 121 -22048 0 # 11 122 -22049 0 # 11 123 -22050 0 # 11 124 -22051 0 # 11 125 -22052 0 # 11 126 -22053 0 # 11 127 -22054 0 # 11 128 -22055 0 # 11 129 -22056 0 # 11 130 -22057 0 # 11 131 -22058 0 # 11 132 -22059 0 # 11 133 -22060 0 # 11 134 -22061 0 # 11 135 -22062 0 # 11 136 -22063 0 # 11 137 -22064 0 # 11 138 -22065 0 # 11 139 -22066 0 # 11 140 -22067 0 # 11 141 -22068 0 # 11 142 -22069 0 # 11 143 -22070 0 # 11 144 -22071 0 # 11 145 -22072 0 # 11 146 -22073 0 # 11 147 -22074 0 # 11 148 -22075 0 # 11 149 -22076 0 # 11 150 -22077 0 # 11 151 -22078 0 # 11 152 -22079 0 # 11 153 -22080 0 # 11 154 -22081 0 # 11 155 -22082 0 # 11 156 -22083 0 # 11 157 -22084 0 # 11 158 -22085 0 # 11 159 -22086 0 # 11 160 -22087 0 # 11 161 -22088 0 # 11 162 -22089 0 # 11 163 -22090 0 # 11 164 -22091 0 # 11 165 -22092 0 # 11 166 -22093 0 # 11 167 -22094 0 # 11 168 -22095 0 # 11 169 -22096 0 # 11 170 -22097 0 # 11 171 -22098 0 # 11 172 -22099 0 # 11 173 -22100 0 # 11 174 -22101 0 # 11 175 -22102 0 # 11 176 -22103 0 # 11 177 -22104 0 # 11 178 -22105 0 # 11 179 -22106 0 # 11 180 -22107 0 # 11 181 -22108 0 # 11 182 -22109 0 # 11 183 -22110 0 # 11 184 -22111 0 # 11 185 -22112 0 # 11 186 -22113 0 # 11 187 -22114 0 # 11 188 -22115 0 # 11 189 -22116 0 # 11 190 -22117 0 # 11 191 -22118 0 # 11 192 -22119 0 # 11 193 -22120 0 # 11 194 -22121 0 # 11 195 -22122 0 # 11 196 -22123 0 # 11 197 -22124 0 # 11 198 -22125 0 # 11 199 -22126 0 # 11 200 -22127 0 # 11 201 -22128 0 # 11 202 -22129 0 # 11 203 -22130 0 # 11 204 -22131 0 # 11 205 -22132 0 # 11 206 -22133 0 # 11 207 -22134 0 # 11 208 -22135 0 # 11 209 -22136 0 # 11 210 -22137 0 # 11 211 -22138 0 # 11 212 -22139 0 # 11 213 -22140 0 # 11 214 -22141 0 # 11 215 -22142 0 # 11 216 -22143 0 # 11 217 -22144 0 # 11 218 -22145 0 # 11 219 -22146 0 # 11 220 -22147 0 # 11 221 -22148 0 # 11 222 -22149 0 # 11 223 -22150 0 # 11 224 -22151 0 # 11 225 -22152 0 # 11 226 -22153 0 # 11 227 -22154 0 # 11 228 -22155 0 # 11 229 -22156 0 # 11 230 -22157 0 # 11 231 -22158 0 # 11 232 -22159 0 # 11 233 -22160 0 # 11 234 -22161 0 # 11 235 -22162 0 # 11 236 -22163 0 # 11 237 -22164 0 # 11 238 -22165 0 # 11 239 -22166 0 # 11 240 -22167 0 # 11 241 -22168 0 # 11 242 -22169 0 # 11 243 -22170 0 # 11 244 -22171 0 # 11 245 -22172 0 # 11 246 -22173 0 # 11 247 -22174 0 # 11 248 -22175 0 # 11 249 -22176 0 # 11 250 -22177 0 # 11 251 -22178 0 # 11 252 -22179 0 # 11 253 -22180 0 # 11 254 -22181 0 # 11 255 -22182 0 # 11 256 -22183 0 # 11 257 -22184 0 # 11 258 -22185 0 # 11 259 -22186 0 # 11 260 -22187 0 # 11 261 -22188 0 # 11 262 -22189 0 # 11 263 -22190 0 # 11 264 -22191 0 # 11 265 -22192 0 # 11 266 -22193 0 # 11 267 -22194 0 # 11 268 -22195 0 # 11 269 -22196 0 # 11 270 -22197 0 # 11 271 -22198 0 # 11 272 -22199 0 # 11 273 -22200 0 # 11 274 -22201 0 # 11 275 -22202 0 # 11 276 -22203 0 # 11 277 -22204 0 # 11 278 -22205 0 # 11 279 -22206 0 # 11 280 -22207 0 # 11 281 -22208 0 # 11 282 -22209 0 # 11 283 -22210 0 # 11 284 -22211 0 # 11 285 -22212 0 # 11 286 -22213 0 # 11 287 -22214 0 # 11 288 -22215 0 # 11 289 -22216 0 # 11 290 -22217 0 # 11 291 -22218 0 # 11 292 -22219 0 # 11 293 -22220 0 # 11 294 -22221 0 # 11 295 -22222 0 # 11 296 -22223 0 # 11 297 -22224 0 # 11 298 -22225 0 # 11 299 -22226 0 # 11 300 -22227 0 # 11 301 -22228 0 # 11 302 -22229 0 # 11 303 -22230 0 # 11 304 -22231 0 # 11 305 -22232 0 # 11 306 -22233 0 # 11 307 -22234 0 # 11 308 -22235 0 # 11 309 -22236 0 # 11 310 -22237 0 # 11 311 -22238 0 # 11 312 -22239 0 # 11 313 -22240 0 # 11 314 -22241 0 # 11 315 -22242 0 # 11 316 -22243 0 # 11 317 -22244 0 # 11 318 -22245 0 # 11 319 -22246 0 # 11 320 -22247 0 # 11 321 -22248 0 # 11 322 -22249 0 # 11 323 -22250 0 # 11 324 -22251 0 # 11 325 -22252 0 # 11 326 -22253 0 # 11 327 -22254 0 # 11 328 -22255 0 # 11 329 -22256 0 # 11 330 -22257 0 # 11 331 -22258 0 # 11 332 -22259 0 # 11 333 -22260 0 # 11 334 -22261 0 # 11 335 -22262 0 # 11 336 -22263 0 # 11 337 -22264 0 # 11 338 -22265 0 # 11 339 -22266 0 # 11 340 -22267 0 # 11 341 -22268 0 # 11 342 -22269 0 # 11 343 -22270 0 # 11 344 -22271 0 # 11 345 -22272 0 # 11 346 -22273 0 # 11 347 -22274 0 # 11 348 -22275 0 # 11 349 -22276 0 # 11 350 -22277 0 # 11 351 -22278 0 # 11 352 -22279 0 # 11 353 -22280 0 # 11 354 -22281 0 # 11 355 -22282 0 # 11 356 -22283 0 # 11 357 -22284 0 # 11 358 -22285 0 # 11 359 -22286 0 # 11 360 -22287 0 # 11 361 -22288 0 # 11 362 -22289 0 # 11 363 -22290 0 # 11 364 -22291 0 # 11 365 -22292 0 # 11 366 -22293 0 # 11 367 -22294 0 # 11 368 -22295 0 # 11 369 -22296 0 # 11 370 -22297 0 # 11 371 -22298 0 # 11 372 -22299 0 # 11 373 -22300 0 # 11 374 -22301 0 # 11 375 -22302 0 # 11 376 -22303 0 # 11 377 -22304 0 # 11 378 -22305 0 # 11 379 -22306 0 # 11 380 -22307 0 # 11 381 -22308 0 # 11 382 -22309 0 # 11 383 -22310 0 # 11 384 -22311 0 # 11 385 -22312 0 # 11 386 -22313 0 # 11 387 -22314 0 # 11 388 -22315 0 # 11 389 -22316 0 # 11 390 -22317 0 # 11 391 -22318 0 # 11 392 -22319 0 # 11 393 -22320 0 # 11 394 -22321 0 # 11 395 -22322 0 # 11 396 -22323 0 # 11 397 -22324 0 # 11 398 -22325 0 # 11 399 -22326 0 # 11 400 -22327 0 # 11 401 -22328 0 # 11 402 -22329 0 # 11 403 -22330 0 # 11 404 -22331 0 # 11 405 -22332 0 # 11 406 -22333 0 # 11 407 -22334 0 # 11 408 -22335 0 # 11 409 -22336 0 # 11 410 -22337 0 # 11 411 -22338 0 # 11 412 -22339 0 # 11 413 -22340 0 # 11 414 -22341 0 # 11 415 -22342 0 # 11 416 -22343 0 # 11 417 -22344 0 # 11 418 -22345 0 # 11 419 -22346 0 # 11 420 -22347 0 # 11 421 -22348 0 # 11 422 -22349 0 # 11 423 -22350 0 # 11 424 -22351 0 # 11 425 -22352 0 # 11 426 -22353 0 # 11 427 -22354 0 # 11 428 -22355 0 # 11 429 -22356 0 # 11 430 -22357 0 # 11 431 -22358 0 # 11 432 -22359 0 # 11 433 -22360 0 # 11 434 -22361 0 # 11 435 -22362 0 # 11 436 -22363 0 # 11 437 -22364 0 # 11 438 -22365 0 # 11 439 -22366 0 # 11 440 -22367 0 # 11 441 -22368 0 # 11 442 -22369 0 # 11 443 -22370 0 # 11 444 -22371 0 # 11 445 -22372 0 # 11 446 -22373 0 # 11 447 -22374 0 # 11 448 -22375 0 # 11 449 -22376 0 # 11 450 -22377 0 # 11 451 -22378 0 # 11 452 -22379 0 # 11 453 -22380 0 # 11 454 -22381 0 # 11 455 -22382 0 # 11 456 -22383 0 # 11 457 -22384 0 # 11 458 -22385 0 # 11 459 -22386 0 # 11 460 -22387 0 # 11 461 -22388 0 # 11 462 -22389 0 # 11 463 -22390 0 # 11 464 -22391 0 # 11 465 -22392 0 # 11 466 -22393 0 # 11 467 -22394 0 # 11 468 -22395 0 # 11 469 -22396 0 # 11 470 -22397 0 # 11 471 -22398 0 # 11 472 -22399 0 # 11 473 -22400 0 # 11 474 -22401 0 # 11 475 -22402 0 # 11 476 -22403 0 # 11 477 -22404 0 # 11 478 -22405 0 # 11 479 -22406 0 # 11 480 -22407 0 # 11 481 -22408 0 # 11 482 -22409 0 # 11 483 -22410 0 # 11 484 -22411 0 # 11 485 -22412 0 # 11 486 -22413 0 # 11 487 -22414 0 # 11 488 -22415 0 # 11 489 -22416 0 # 11 490 -22417 0 # 11 491 -22418 0 # 11 492 -22419 0 # 11 493 -22420 0 # 11 494 -22421 0 # 11 495 -22422 0 # 11 496 -22423 0 # 11 497 -22424 0 # 11 498 -22425 0 # 11 499 -22426 0 # 11 500 -22427 0 # 11 501 -22428 0 # 11 502 -22429 0 # 11 503 -22430 0 # 11 504 -22431 0 # 11 505 -22432 0 # 11 506 -22433 0 # 11 507 -22434 0 # 11 508 -22435 0 # 11 509 -22436 0 # 11 510 -22437 0 # 11 511 -22438 0 # 11 512 -22439 0 # 11 513 -22440 0 # 11 514 -22441 0 # 11 515 -22442 0 # 11 516 -22443 0 # 11 517 -22444 0 # 11 518 -22445 0 # 11 519 -22446 0 # 11 520 -22447 0 # 11 521 -22448 0 # 11 522 -22449 0 # 11 523 -22450 0 # 11 524 -22451 0 # 11 525 -22452 0 # 11 526 -22453 0 # 11 527 -22454 0 # 11 528 -22455 0 # 11 529 -22456 0 # 11 530 -22457 0 # 11 531 -22458 0 # 11 532 -22459 0 # 11 533 -22460 0 # 11 534 -22461 0 # 11 535 -22462 0 # 11 536 -22463 0 # 11 537 -22464 0 # 11 538 -22465 0 # 11 539 -22466 0 # 11 540 -22467 0 # 11 541 -22468 0 # 11 542 -22469 0 # 11 543 -22470 0 # 11 544 -22471 0 # 11 545 -22472 0 # 11 546 -22473 0 # 11 547 -22474 0 # 11 548 -22475 0 # 11 549 -22476 0 # 11 550 -22477 0 # 11 551 -22478 0 # 11 552 -22479 0 # 11 553 -22480 0 # 11 554 -22481 0 # 11 555 -22482 0 # 11 556 -22483 0 # 11 557 -22484 0 # 11 558 -22485 0 # 11 559 -22486 0 # 11 560 -22487 0 # 11 561 -22488 0 # 11 562 -22489 0 # 11 563 -22490 0 # 11 564 -22491 0 # 11 565 -22492 0 # 11 566 -22493 0 # 11 567 -22494 0 # 11 568 -22495 0 # 11 569 -22496 0 # 11 570 -22497 0 # 11 571 -22498 0 # 11 572 -22499 0 # 11 573 -22500 0 # 11 574 -22501 0 # 11 575 -22502 0 # 11 576 -22503 0 # 12 0 -22504 0 # 12 1 -22505 0 # 12 2 -22506 2 # 12 3 -22507 4 # 12 4 -22508 1 # 12 5 -22509 3 # 12 6 -22510 4 # 12 7 -22511 4 # 12 8 -22512 3 # 12 9 -22513 3 # 12 10 -22514 3 # 12 11 -22515 3 # 12 12 -22516 6 # 12 13 -22517 4 # 12 14 -22518 6 # 12 15 -22519 5 # 12 16 -22520 4 # 12 17 -22521 4 # 12 18 -22522 5 # 12 19 -22523 4 # 12 20 -22524 5 # 12 21 -22525 5 # 12 22 -22526 5 # 12 23 -22527 5 # 12 24 -22528 6 # 12 25 -22529 5 # 12 26 -22530 5 # 12 27 -22531 5 # 12 28 -22532 5 # 12 29 -22533 6 # 12 30 -22534 6 # 12 31 -22535 6 # 12 32 -22536 5 # 12 33 -22537 6 # 12 34 -22538 6 # 12 35 -22539 6 # 12 36 -22540 6 # 12 37 -22541 7 # 12 38 -22542 7 # 12 39 -22543 6 # 12 40 -22544 7 # 12 41 -22545 7 # 12 42 -22546 7 # 12 43 -22547 7 # 12 44 -22548 7 # 12 45 -22549 8 # 12 46 -22550 7 # 12 47 -22551 8 # 12 48 -22552 7 # 12 49 -22553 8 # 12 50 -22554 8 # 12 51 -22555 9 # 12 52 -22556 8 # 12 53 -22557 8 # 12 54 -22558 8 # 12 55 -22559 7 # 12 56 -22560 8 # 12 57 -22561 9 # 12 58 -22562 7 # 12 59 -22563 9 # 12 60 -22564 8 # 12 61 -22565 6 # 12 62 -22566 6 # 12 63 -22567 9 # 12 64 -22568 7 # 12 65 -22569 6 # 12 66 -22570 9 # 12 67 -22571 8 # 12 68 -22572 12 # 12 69 -22573 8 # 12 70 -22574 3 # 12 71 -22575 6 # 12 72 -22576 6 # 12 73 -22577 9 # 12 74 -22578 26 # 12 75 -22579 9 # 12 76 -22580 5 # 12 77 -22581 10 # 12 78 -22582 6 # 12 79 -22583 4 # 12 80 -22584 7 # 12 81 -22585 4 # 12 82 -22586 4 # 12 83 -22587 0 # 12 84 -22588 6 # 12 85 -22589 0 # 12 86 -22590 0 # 12 87 -22591 3 # 12 88 -22592 2 # 12 89 -22593 10 # 12 90 -22594 1 # 12 91 -22595 0 # 12 92 -22596 1 # 12 93 -22597 0 # 12 94 -22598 0 # 12 95 -22599 0 # 12 96 -22600 0 # 12 97 -22601 0 # 12 98 -22602 0 # 12 99 -22603 0 # 12 100 -22604 0 # 12 101 -22605 0 # 12 102 -22606 0 # 12 103 -22607 0 # 12 104 -22608 0 # 12 105 -22609 0 # 12 106 -22610 0 # 12 107 -22611 0 # 12 108 -22612 0 # 12 109 -22613 0 # 12 110 -22614 0 # 12 111 -22615 0 # 12 112 -22616 0 # 12 113 -22617 0 # 12 114 -22618 0 # 12 115 -22619 0 # 12 116 -22620 0 # 12 117 -22621 0 # 12 118 -22622 0 # 12 119 -22623 0 # 12 120 -22624 0 # 12 121 -22625 0 # 12 122 -22626 0 # 12 123 -22627 0 # 12 124 -22628 0 # 12 125 -22629 0 # 12 126 -22630 0 # 12 127 -22631 0 # 12 128 -22632 0 # 12 129 -22633 0 # 12 130 -22634 0 # 12 131 -22635 0 # 12 132 -22636 0 # 12 133 -22637 0 # 12 134 -22638 0 # 12 135 -22639 0 # 12 136 -22640 0 # 12 137 -22641 0 # 12 138 -22642 0 # 12 139 -22643 0 # 12 140 -22644 0 # 12 141 -22645 0 # 12 142 -22646 0 # 12 143 -22647 0 # 12 144 -22648 0 # 12 145 -22649 0 # 12 146 -22650 0 # 12 147 -22651 0 # 12 148 -22652 0 # 12 149 -22653 0 # 12 150 -22654 0 # 12 151 -22655 0 # 12 152 -22656 0 # 12 153 -22657 0 # 12 154 -22658 0 # 12 155 -22659 0 # 12 156 -22660 0 # 12 157 -22661 0 # 12 158 -22662 0 # 12 159 -22663 0 # 12 160 -22664 0 # 12 161 -22665 0 # 12 162 -22666 0 # 12 163 -22667 0 # 12 164 -22668 0 # 12 165 -22669 0 # 12 166 -22670 0 # 12 167 -22671 0 # 12 168 -22672 0 # 12 169 -22673 0 # 12 170 -22674 0 # 12 171 -22675 0 # 12 172 -22676 0 # 12 173 -22677 0 # 12 174 -22678 0 # 12 175 -22679 0 # 12 176 -22680 0 # 12 177 -22681 0 # 12 178 -22682 0 # 12 179 -22683 0 # 12 180 -22684 0 # 12 181 -22685 0 # 12 182 -22686 0 # 12 183 -22687 0 # 12 184 -22688 0 # 12 185 -22689 0 # 12 186 -22690 0 # 12 187 -22691 0 # 12 188 -22692 0 # 12 189 -22693 0 # 12 190 -22694 0 # 12 191 -22695 0 # 12 192 -22696 0 # 12 193 -22697 0 # 12 194 -22698 0 # 12 195 -22699 0 # 12 196 -22700 0 # 12 197 -22701 0 # 12 198 -22702 0 # 12 199 -22703 0 # 12 200 -22704 0 # 12 201 -22705 0 # 12 202 -22706 0 # 12 203 -22707 0 # 12 204 -22708 0 # 12 205 -22709 0 # 12 206 -22710 0 # 12 207 -22711 0 # 12 208 -22712 0 # 12 209 -22713 0 # 12 210 -22714 0 # 12 211 -22715 0 # 12 212 -22716 0 # 12 213 -22717 0 # 12 214 -22718 0 # 12 215 -22719 0 # 12 216 -22720 0 # 12 217 -22721 0 # 12 218 -22722 0 # 12 219 -22723 0 # 12 220 -22724 0 # 12 221 -22725 0 # 12 222 -22726 0 # 12 223 -22727 0 # 12 224 -22728 0 # 12 225 -22729 0 # 12 226 -22730 0 # 12 227 -22731 0 # 12 228 -22732 0 # 12 229 -22733 0 # 12 230 -22734 0 # 12 231 -22735 0 # 12 232 -22736 0 # 12 233 -22737 0 # 12 234 -22738 0 # 12 235 -22739 0 # 12 236 -22740 0 # 12 237 -22741 0 # 12 238 -22742 0 # 12 239 -22743 0 # 12 240 -22744 0 # 12 241 -22745 0 # 12 242 -22746 0 # 12 243 -22747 0 # 12 244 -22748 0 # 12 245 -22749 0 # 12 246 -22750 0 # 12 247 -22751 0 # 12 248 -22752 0 # 12 249 -22753 0 # 12 250 -22754 0 # 12 251 -22755 0 # 12 252 -22756 0 # 12 253 -22757 0 # 12 254 -22758 0 # 12 255 -22759 0 # 12 256 -22760 0 # 12 257 -22761 0 # 12 258 -22762 0 # 12 259 -22763 0 # 12 260 -22764 0 # 12 261 -22765 0 # 12 262 -22766 0 # 12 263 -22767 0 # 12 264 -22768 0 # 12 265 -22769 0 # 12 266 -22770 0 # 12 267 -22771 0 # 12 268 -22772 0 # 12 269 -22773 0 # 12 270 -22774 0 # 12 271 -22775 0 # 12 272 -22776 0 # 12 273 -22777 0 # 12 274 -22778 0 # 12 275 -22779 0 # 12 276 -22780 0 # 12 277 -22781 0 # 12 278 -22782 0 # 12 279 -22783 0 # 12 280 -22784 0 # 12 281 -22785 0 # 12 282 -22786 0 # 12 283 -22787 0 # 12 284 -22788 0 # 12 285 -22789 0 # 12 286 -22790 0 # 12 287 -22791 0 # 12 288 -22792 0 # 12 289 -22793 0 # 12 290 -22794 0 # 12 291 -22795 0 # 12 292 -22796 0 # 12 293 -22797 0 # 12 294 -22798 0 # 12 295 -22799 0 # 12 296 -22800 0 # 12 297 -22801 0 # 12 298 -22802 0 # 12 299 -22803 0 # 12 300 -22804 0 # 12 301 -22805 0 # 12 302 -22806 0 # 12 303 -22807 0 # 12 304 -22808 0 # 12 305 -22809 0 # 12 306 -22810 0 # 12 307 -22811 0 # 12 308 -22812 0 # 12 309 -22813 0 # 12 310 -22814 0 # 12 311 -22815 0 # 12 312 -22816 0 # 12 313 -22817 0 # 12 314 -22818 0 # 12 315 -22819 0 # 12 316 -22820 0 # 12 317 -22821 0 # 12 318 -22822 0 # 12 319 -22823 0 # 12 320 -22824 0 # 12 321 -22825 0 # 12 322 -22826 0 # 12 323 -22827 0 # 12 324 -22828 0 # 12 325 -22829 0 # 12 326 -22830 0 # 12 327 -22831 0 # 12 328 -22832 0 # 12 329 -22833 0 # 12 330 -22834 0 # 12 331 -22835 0 # 12 332 -22836 0 # 12 333 -22837 0 # 12 334 -22838 0 # 12 335 -22839 0 # 12 336 -22840 0 # 12 337 -22841 0 # 12 338 -22842 0 # 12 339 -22843 0 # 12 340 -22844 0 # 12 341 -22845 0 # 12 342 -22846 0 # 12 343 -22847 0 # 12 344 -22848 0 # 12 345 -22849 0 # 12 346 -22850 0 # 12 347 -22851 0 # 12 348 -22852 0 # 12 349 -22853 0 # 12 350 -22854 0 # 12 351 -22855 0 # 12 352 -22856 0 # 12 353 -22857 0 # 12 354 -22858 0 # 12 355 -22859 0 # 12 356 -22860 0 # 12 357 -22861 0 # 12 358 -22862 0 # 12 359 -22863 0 # 12 360 -22864 0 # 12 361 -22865 0 # 12 362 -22866 0 # 12 363 -22867 0 # 12 364 -22868 0 # 12 365 -22869 0 # 12 366 -22870 0 # 12 367 -22871 0 # 12 368 -22872 0 # 12 369 -22873 0 # 12 370 -22874 0 # 12 371 -22875 0 # 12 372 -22876 0 # 12 373 -22877 0 # 12 374 -22878 0 # 12 375 -22879 0 # 12 376 -22880 0 # 12 377 -22881 0 # 12 378 -22882 0 # 12 379 -22883 0 # 12 380 -22884 0 # 12 381 -22885 0 # 12 382 -22886 0 # 12 383 -22887 0 # 12 384 -22888 0 # 12 385 -22889 0 # 12 386 -22890 0 # 12 387 -22891 0 # 12 388 -22892 0 # 12 389 -22893 0 # 12 390 -22894 0 # 12 391 -22895 0 # 12 392 -22896 0 # 12 393 -22897 0 # 12 394 -22898 0 # 12 395 -22899 0 # 12 396 -22900 0 # 12 397 -22901 0 # 12 398 -22902 0 # 12 399 -22903 0 # 12 400 -22904 0 # 12 401 -22905 0 # 12 402 -22906 0 # 12 403 -22907 0 # 12 404 -22908 0 # 12 405 -22909 0 # 12 406 -22910 0 # 12 407 -22911 0 # 12 408 -22912 0 # 12 409 -22913 0 # 12 410 -22914 0 # 12 411 -22915 0 # 12 412 -22916 0 # 12 413 -22917 0 # 12 414 -22918 0 # 12 415 -22919 0 # 12 416 -22920 0 # 12 417 -22921 0 # 12 418 -22922 0 # 12 419 -22923 0 # 12 420 -22924 0 # 12 421 -22925 0 # 12 422 -22926 0 # 12 423 -22927 0 # 12 424 -22928 0 # 12 425 -22929 0 # 12 426 -22930 0 # 12 427 -22931 0 # 12 428 -22932 0 # 12 429 -22933 0 # 12 430 -22934 0 # 12 431 -22935 0 # 12 432 -22936 0 # 12 433 -22937 0 # 12 434 -22938 0 # 12 435 -22939 0 # 12 436 -22940 0 # 12 437 -22941 0 # 12 438 -22942 0 # 12 439 -22943 0 # 12 440 -22944 0 # 12 441 -22945 0 # 12 442 -22946 0 # 12 443 -22947 0 # 12 444 -22948 0 # 12 445 -22949 0 # 12 446 -22950 0 # 12 447 -22951 0 # 12 448 -22952 0 # 12 449 -22953 0 # 12 450 -22954 0 # 12 451 -22955 0 # 12 452 -22956 0 # 12 453 -22957 0 # 12 454 -22958 0 # 12 455 -22959 0 # 12 456 -22960 0 # 12 457 -22961 0 # 12 458 -22962 0 # 12 459 -22963 0 # 12 460 -22964 0 # 12 461 -22965 0 # 12 462 -22966 0 # 12 463 -22967 0 # 12 464 -22968 0 # 12 465 -22969 0 # 12 466 -22970 0 # 12 467 -22971 0 # 12 468 -22972 0 # 12 469 -22973 0 # 12 470 -22974 0 # 12 471 -22975 0 # 12 472 -22976 0 # 12 473 -22977 0 # 12 474 -22978 0 # 12 475 -22979 0 # 12 476 -22980 0 # 12 477 -22981 0 # 12 478 -22982 0 # 12 479 -22983 0 # 12 480 -22984 0 # 12 481 -22985 0 # 12 482 -22986 0 # 12 483 -22987 0 # 12 484 -22988 0 # 12 485 -22989 0 # 12 486 -22990 0 # 12 487 -22991 0 # 12 488 -22992 0 # 12 489 -22993 0 # 12 490 -22994 0 # 12 491 -22995 0 # 12 492 -22996 0 # 12 493 -22997 0 # 12 494 -22998 0 # 12 495 -22999 0 # 12 496 -23000 0 # 12 497 -23001 0 # 12 498 -23002 0 # 12 499 -23003 0 # 12 500 -23004 0 # 12 501 -23005 0 # 12 502 -23006 0 # 12 503 -23007 0 # 12 504 -23008 0 # 12 505 -23009 0 # 12 506 -23010 0 # 12 507 -23011 0 # 12 508 -23012 0 # 12 509 -23013 0 # 12 510 -23014 0 # 12 511 -23015 0 # 12 512 -23016 0 # 12 513 -23017 0 # 12 514 -23018 0 # 12 515 -23019 0 # 12 516 -23020 0 # 12 517 -23021 0 # 12 518 -23022 0 # 12 519 -23023 0 # 12 520 -23024 0 # 12 521 -23025 0 # 12 522 -23026 0 # 12 523 -23027 0 # 12 524 -23028 0 # 12 525 -23029 0 # 12 526 -23030 0 # 12 527 -23031 0 # 12 528 -23032 0 # 12 529 -23033 0 # 12 530 -23034 0 # 12 531 -23035 0 # 12 532 -23036 0 # 12 533 -23037 0 # 12 534 -23038 0 # 12 535 -23039 0 # 12 536 -23040 0 # 12 537 -23041 0 # 12 538 -23042 0 # 12 539 -23043 0 # 12 540 -23044 0 # 12 541 -23045 0 # 12 542 -23046 0 # 12 543 -23047 0 # 12 544 -23048 0 # 12 545 -23049 0 # 12 546 -23050 0 # 12 547 -23051 0 # 12 548 -23052 0 # 12 549 -23053 0 # 12 550 -23054 0 # 12 551 -23055 0 # 12 552 -23056 0 # 12 553 -23057 0 # 12 554 -23058 0 # 12 555 -23059 0 # 12 556 -23060 0 # 12 557 -23061 0 # 12 558 -23062 0 # 12 559 -23063 0 # 12 560 -23064 0 # 12 561 -23065 0 # 12 562 -23066 0 # 12 563 -23067 0 # 12 564 -23068 0 # 12 565 -23069 0 # 12 566 -23070 0 # 12 567 -23071 0 # 12 568 -23072 0 # 12 569 -23073 0 # 12 570 -23074 0 # 12 571 -23075 0 # 12 572 -23076 0 # 12 573 -23077 0 # 12 574 -23078 0 # 12 575 -23079 0 # 12 576 -23080 0 # 13 0 -23081 0 # 13 1 -23082 0 # 13 2 -23083 2 # 13 3 -23084 3 # 13 4 -23085 1 # 13 5 -23086 2 # 13 6 -23087 6 # 13 7 -23088 3 # 13 8 -23089 6 # 13 9 -23090 4 # 13 10 -23091 3 # 13 11 -23092 5 # 13 12 -23093 5 # 13 13 -23094 4 # 13 14 -23095 5 # 13 15 -23096 4 # 13 16 -23097 4 # 13 17 -23098 5 # 13 18 -23099 4 # 13 19 -23100 4 # 13 20 -23101 5 # 13 21 -23102 5 # 13 22 -23103 6 # 13 23 -23104 5 # 13 24 -23105 6 # 13 25 -23106 5 # 13 26 -23107 6 # 13 27 -23108 6 # 13 28 -23109 5 # 13 29 -23110 6 # 13 30 -23111 6 # 13 31 -23112 6 # 13 32 -23113 6 # 13 33 -23114 6 # 13 34 -23115 6 # 13 35 -23116 6 # 13 36 -23117 6 # 13 37 -23118 7 # 13 38 -23119 7 # 13 39 -23120 7 # 13 40 -23121 6 # 13 41 -23122 7 # 13 42 -23123 7 # 13 43 -23124 7 # 13 44 -23125 7 # 13 45 -23126 8 # 13 46 -23127 7 # 13 47 -23128 7 # 13 48 -23129 6 # 13 49 -23130 9 # 13 50 -23131 8 # 13 51 -23132 8 # 13 52 -23133 8 # 13 53 -23134 8 # 13 54 -23135 8 # 13 55 -23136 7 # 13 56 -23137 9 # 13 57 -23138 8 # 13 58 -23139 9 # 13 59 -23140 7 # 13 60 -23141 8 # 13 61 -23142 7 # 13 62 -23143 6 # 13 63 -23144 6 # 13 64 -23145 7 # 13 65 -23146 8 # 13 66 -23147 8 # 13 67 -23148 9 # 13 68 -23149 8 # 13 69 -23150 8 # 13 70 -23151 5 # 13 71 -23152 7 # 13 72 -23153 8 # 13 73 -23154 14 # 13 74 -23155 28 # 13 75 -23156 10 # 13 76 -23157 5 # 13 77 -23158 10 # 13 78 -23159 7 # 13 79 -23160 6 # 13 80 -23161 8 # 13 81 -23162 2 # 13 82 -23163 4 # 13 83 -23164 0 # 13 84 -23165 0 # 13 85 -23166 0 # 13 86 -23167 0 # 13 87 -23168 2 # 13 88 -23169 4 # 13 89 -23170 7 # 13 90 -23171 5 # 13 91 -23172 0 # 13 92 -23173 4 # 13 93 -23174 0 # 13 94 -23175 0 # 13 95 -23176 0 # 13 96 -23177 0 # 13 97 -23178 0 # 13 98 -23179 0 # 13 99 -23180 0 # 13 100 -23181 0 # 13 101 -23182 0 # 13 102 -23183 0 # 13 103 -23184 0 # 13 104 -23185 0 # 13 105 -23186 0 # 13 106 -23187 0 # 13 107 -23188 0 # 13 108 -23189 0 # 13 109 -23190 0 # 13 110 -23191 0 # 13 111 -23192 0 # 13 112 -23193 0 # 13 113 -23194 0 # 13 114 -23195 0 # 13 115 -23196 0 # 13 116 -23197 0 # 13 117 -23198 0 # 13 118 -23199 0 # 13 119 -23200 0 # 13 120 -23201 0 # 13 121 -23202 0 # 13 122 -23203 0 # 13 123 -23204 0 # 13 124 -23205 0 # 13 125 -23206 0 # 13 126 -23207 0 # 13 127 -23208 0 # 13 128 -23209 0 # 13 129 -23210 0 # 13 130 -23211 0 # 13 131 -23212 0 # 13 132 -23213 0 # 13 133 -23214 0 # 13 134 -23215 0 # 13 135 -23216 0 # 13 136 -23217 0 # 13 137 -23218 0 # 13 138 -23219 0 # 13 139 -23220 0 # 13 140 -23221 0 # 13 141 -23222 0 # 13 142 -23223 0 # 13 143 -23224 0 # 13 144 -23225 0 # 13 145 -23226 0 # 13 146 -23227 0 # 13 147 -23228 0 # 13 148 -23229 0 # 13 149 -23230 0 # 13 150 -23231 0 # 13 151 -23232 0 # 13 152 -23233 0 # 13 153 -23234 0 # 13 154 -23235 0 # 13 155 -23236 0 # 13 156 -23237 0 # 13 157 -23238 0 # 13 158 -23239 0 # 13 159 -23240 0 # 13 160 -23241 0 # 13 161 -23242 0 # 13 162 -23243 0 # 13 163 -23244 0 # 13 164 -23245 0 # 13 165 -23246 0 # 13 166 -23247 0 # 13 167 -23248 0 # 13 168 -23249 0 # 13 169 -23250 0 # 13 170 -23251 0 # 13 171 -23252 0 # 13 172 -23253 0 # 13 173 -23254 0 # 13 174 -23255 0 # 13 175 -23256 0 # 13 176 -23257 0 # 13 177 -23258 0 # 13 178 -23259 0 # 13 179 -23260 0 # 13 180 -23261 0 # 13 181 -23262 0 # 13 182 -23263 0 # 13 183 -23264 0 # 13 184 -23265 0 # 13 185 -23266 0 # 13 186 -23267 0 # 13 187 -23268 0 # 13 188 -23269 0 # 13 189 -23270 0 # 13 190 -23271 0 # 13 191 -23272 0 # 13 192 -23273 0 # 13 193 -23274 0 # 13 194 -23275 0 # 13 195 -23276 0 # 13 196 -23277 0 # 13 197 -23278 0 # 13 198 -23279 0 # 13 199 -23280 0 # 13 200 -23281 0 # 13 201 -23282 0 # 13 202 -23283 0 # 13 203 -23284 0 # 13 204 -23285 0 # 13 205 -23286 0 # 13 206 -23287 0 # 13 207 -23288 0 # 13 208 -23289 0 # 13 209 -23290 0 # 13 210 -23291 0 # 13 211 -23292 0 # 13 212 -23293 0 # 13 213 -23294 0 # 13 214 -23295 0 # 13 215 -23296 0 # 13 216 -23297 0 # 13 217 -23298 0 # 13 218 -23299 0 # 13 219 -23300 0 # 13 220 -23301 0 # 13 221 -23302 0 # 13 222 -23303 0 # 13 223 -23304 0 # 13 224 -23305 0 # 13 225 -23306 0 # 13 226 -23307 0 # 13 227 -23308 0 # 13 228 -23309 0 # 13 229 -23310 0 # 13 230 -23311 0 # 13 231 -23312 0 # 13 232 -23313 0 # 13 233 -23314 0 # 13 234 -23315 0 # 13 235 -23316 0 # 13 236 -23317 0 # 13 237 -23318 0 # 13 238 -23319 0 # 13 239 -23320 0 # 13 240 -23321 0 # 13 241 -23322 0 # 13 242 -23323 0 # 13 243 -23324 0 # 13 244 -23325 0 # 13 245 -23326 0 # 13 246 -23327 0 # 13 247 -23328 0 # 13 248 -23329 0 # 13 249 -23330 0 # 13 250 -23331 0 # 13 251 -23332 0 # 13 252 -23333 0 # 13 253 -23334 0 # 13 254 -23335 0 # 13 255 -23336 0 # 13 256 -23337 0 # 13 257 -23338 0 # 13 258 -23339 0 # 13 259 -23340 0 # 13 260 -23341 0 # 13 261 -23342 0 # 13 262 -23343 0 # 13 263 -23344 0 # 13 264 -23345 0 # 13 265 -23346 0 # 13 266 -23347 0 # 13 267 -23348 0 # 13 268 -23349 0 # 13 269 -23350 0 # 13 270 -23351 0 # 13 271 -23352 0 # 13 272 -23353 0 # 13 273 -23354 0 # 13 274 -23355 0 # 13 275 -23356 0 # 13 276 -23357 0 # 13 277 -23358 0 # 13 278 -23359 0 # 13 279 -23360 0 # 13 280 -23361 0 # 13 281 -23362 0 # 13 282 -23363 0 # 13 283 -23364 0 # 13 284 -23365 0 # 13 285 -23366 0 # 13 286 -23367 0 # 13 287 -23368 0 # 13 288 -23369 0 # 13 289 -23370 0 # 13 290 -23371 0 # 13 291 -23372 0 # 13 292 -23373 0 # 13 293 -23374 0 # 13 294 -23375 0 # 13 295 -23376 0 # 13 296 -23377 0 # 13 297 -23378 0 # 13 298 -23379 0 # 13 299 -23380 0 # 13 300 -23381 0 # 13 301 -23382 0 # 13 302 -23383 0 # 13 303 -23384 0 # 13 304 -23385 0 # 13 305 -23386 0 # 13 306 -23387 0 # 13 307 -23388 0 # 13 308 -23389 0 # 13 309 -23390 0 # 13 310 -23391 0 # 13 311 -23392 0 # 13 312 -23393 0 # 13 313 -23394 0 # 13 314 -23395 0 # 13 315 -23396 0 # 13 316 -23397 0 # 13 317 -23398 0 # 13 318 -23399 0 # 13 319 -23400 0 # 13 320 -23401 0 # 13 321 -23402 0 # 13 322 -23403 0 # 13 323 -23404 0 # 13 324 -23405 0 # 13 325 -23406 0 # 13 326 -23407 0 # 13 327 -23408 0 # 13 328 -23409 0 # 13 329 -23410 0 # 13 330 -23411 0 # 13 331 -23412 0 # 13 332 -23413 0 # 13 333 -23414 0 # 13 334 -23415 0 # 13 335 -23416 0 # 13 336 -23417 0 # 13 337 -23418 0 # 13 338 -23419 0 # 13 339 -23420 0 # 13 340 -23421 0 # 13 341 -23422 0 # 13 342 -23423 0 # 13 343 -23424 0 # 13 344 -23425 0 # 13 345 -23426 0 # 13 346 -23427 0 # 13 347 -23428 0 # 13 348 -23429 0 # 13 349 -23430 0 # 13 350 -23431 0 # 13 351 -23432 0 # 13 352 -23433 0 # 13 353 -23434 0 # 13 354 -23435 0 # 13 355 -23436 0 # 13 356 -23437 0 # 13 357 -23438 0 # 13 358 -23439 0 # 13 359 -23440 0 # 13 360 -23441 0 # 13 361 -23442 0 # 13 362 -23443 0 # 13 363 -23444 0 # 13 364 -23445 0 # 13 365 -23446 0 # 13 366 -23447 0 # 13 367 -23448 0 # 13 368 -23449 0 # 13 369 -23450 0 # 13 370 -23451 0 # 13 371 -23452 0 # 13 372 -23453 0 # 13 373 -23454 0 # 13 374 -23455 0 # 13 375 -23456 0 # 13 376 -23457 0 # 13 377 -23458 0 # 13 378 -23459 0 # 13 379 -23460 0 # 13 380 -23461 0 # 13 381 -23462 0 # 13 382 -23463 0 # 13 383 -23464 0 # 13 384 -23465 0 # 13 385 -23466 0 # 13 386 -23467 0 # 13 387 -23468 0 # 13 388 -23469 0 # 13 389 -23470 0 # 13 390 -23471 0 # 13 391 -23472 0 # 13 392 -23473 0 # 13 393 -23474 0 # 13 394 -23475 0 # 13 395 -23476 0 # 13 396 -23477 0 # 13 397 -23478 0 # 13 398 -23479 0 # 13 399 -23480 0 # 13 400 -23481 0 # 13 401 -23482 0 # 13 402 -23483 0 # 13 403 -23484 0 # 13 404 -23485 0 # 13 405 -23486 0 # 13 406 -23487 0 # 13 407 -23488 0 # 13 408 -23489 0 # 13 409 -23490 0 # 13 410 -23491 0 # 13 411 -23492 0 # 13 412 -23493 0 # 13 413 -23494 0 # 13 414 -23495 0 # 13 415 -23496 0 # 13 416 -23497 0 # 13 417 -23498 0 # 13 418 -23499 0 # 13 419 -23500 0 # 13 420 -23501 0 # 13 421 -23502 0 # 13 422 -23503 0 # 13 423 -23504 0 # 13 424 -23505 0 # 13 425 -23506 0 # 13 426 -23507 0 # 13 427 -23508 0 # 13 428 -23509 0 # 13 429 -23510 0 # 13 430 -23511 0 # 13 431 -23512 0 # 13 432 -23513 0 # 13 433 -23514 0 # 13 434 -23515 0 # 13 435 -23516 0 # 13 436 -23517 0 # 13 437 -23518 0 # 13 438 -23519 0 # 13 439 -23520 0 # 13 440 -23521 0 # 13 441 -23522 0 # 13 442 -23523 0 # 13 443 -23524 0 # 13 444 -23525 0 # 13 445 -23526 0 # 13 446 -23527 0 # 13 447 -23528 0 # 13 448 -23529 0 # 13 449 -23530 0 # 13 450 -23531 0 # 13 451 -23532 0 # 13 452 -23533 0 # 13 453 -23534 0 # 13 454 -23535 0 # 13 455 -23536 0 # 13 456 -23537 0 # 13 457 -23538 0 # 13 458 -23539 0 # 13 459 -23540 0 # 13 460 -23541 0 # 13 461 -23542 0 # 13 462 -23543 0 # 13 463 -23544 0 # 13 464 -23545 0 # 13 465 -23546 0 # 13 466 -23547 0 # 13 467 -23548 0 # 13 468 -23549 0 # 13 469 -23550 0 # 13 470 -23551 0 # 13 471 -23552 0 # 13 472 -23553 0 # 13 473 -23554 0 # 13 474 -23555 0 # 13 475 -23556 0 # 13 476 -23557 0 # 13 477 -23558 0 # 13 478 -23559 0 # 13 479 -23560 0 # 13 480 -23561 0 # 13 481 -23562 0 # 13 482 -23563 0 # 13 483 -23564 0 # 13 484 -23565 0 # 13 485 -23566 0 # 13 486 -23567 0 # 13 487 -23568 0 # 13 488 -23569 0 # 13 489 -23570 0 # 13 490 -23571 0 # 13 491 -23572 0 # 13 492 -23573 0 # 13 493 -23574 0 # 13 494 -23575 0 # 13 495 -23576 0 # 13 496 -23577 0 # 13 497 -23578 0 # 13 498 -23579 0 # 13 499 -23580 0 # 13 500 -23581 0 # 13 501 -23582 0 # 13 502 -23583 0 # 13 503 -23584 0 # 13 504 -23585 0 # 13 505 -23586 0 # 13 506 -23587 0 # 13 507 -23588 0 # 13 508 -23589 0 # 13 509 -23590 0 # 13 510 -23591 0 # 13 511 -23592 0 # 13 512 -23593 0 # 13 513 -23594 0 # 13 514 -23595 0 # 13 515 -23596 0 # 13 516 -23597 0 # 13 517 -23598 0 # 13 518 -23599 0 # 13 519 -23600 0 # 13 520 -23601 0 # 13 521 -23602 0 # 13 522 -23603 0 # 13 523 -23604 0 # 13 524 -23605 0 # 13 525 -23606 0 # 13 526 -23607 0 # 13 527 -23608 0 # 13 528 -23609 0 # 13 529 -23610 0 # 13 530 -23611 0 # 13 531 -23612 0 # 13 532 -23613 0 # 13 533 -23614 0 # 13 534 -23615 0 # 13 535 -23616 0 # 13 536 -23617 0 # 13 537 -23618 0 # 13 538 -23619 0 # 13 539 -23620 0 # 13 540 -23621 0 # 13 541 -23622 0 # 13 542 -23623 0 # 13 543 -23624 0 # 13 544 -23625 0 # 13 545 -23626 0 # 13 546 -23627 0 # 13 547 -23628 0 # 13 548 -23629 0 # 13 549 -23630 0 # 13 550 -23631 0 # 13 551 -23632 0 # 13 552 -23633 0 # 13 553 -23634 0 # 13 554 -23635 0 # 13 555 -23636 0 # 13 556 -23637 0 # 13 557 -23638 0 # 13 558 -23639 0 # 13 559 -23640 0 # 13 560 -23641 0 # 13 561 -23642 0 # 13 562 -23643 0 # 13 563 -23644 0 # 13 564 -23645 0 # 13 565 -23646 0 # 13 566 -23647 0 # 13 567 -23648 0 # 13 568 -23649 0 # 13 569 -23650 0 # 13 570 -23651 0 # 13 571 -23652 0 # 13 572 -23653 0 # 13 573 -23654 0 # 13 574 -23655 0 # 13 575 -23656 0 # 13 576 -23657 0 # 14 0 -23658 0 # 14 1 -23659 0 # 14 2 -23660 2 # 14 3 -23661 3 # 14 4 -23662 1 # 14 5 -23663 3 # 14 6 -23664 9 # 14 7 -23665 2 # 14 8 -23666 2 # 14 9 -23667 4 # 14 10 -23668 3 # 14 11 -23669 5 # 14 12 -23670 5 # 14 13 -23671 4 # 14 14 -23672 5 # 14 15 -23673 4 # 14 16 -23674 4 # 14 17 -23675 5 # 14 18 -23676 6 # 14 19 -23677 5 # 14 20 -23678 5 # 14 21 -23679 5 # 14 22 -23680 6 # 14 23 -23681 6 # 14 24 -23682 6 # 14 25 -23683 6 # 14 26 -23684 6 # 14 27 -23685 6 # 14 28 -23686 6 # 14 29 -23687 6 # 14 30 -23688 6 # 14 31 -23689 6 # 14 32 -23690 6 # 14 33 -23691 7 # 14 34 -23692 7 # 14 35 -23693 6 # 14 36 -23694 6 # 14 37 -23695 7 # 14 38 -23696 7 # 14 39 -23697 7 # 14 40 -23698 7 # 14 41 -23699 7 # 14 42 -23700 7 # 14 43 -23701 7 # 14 44 -23702 8 # 14 45 -23703 8 # 14 46 -23704 7 # 14 47 -23705 8 # 14 48 -23706 7 # 14 49 -23707 9 # 14 50 -23708 8 # 14 51 -23709 8 # 14 52 -23710 8 # 14 53 -23711 8 # 14 54 -23712 8 # 14 55 -23713 6 # 14 56 -23714 9 # 14 57 -23715 8 # 14 58 -23716 8 # 14 59 -23717 8 # 14 60 -23718 9 # 14 61 -23719 6 # 14 62 -23720 7 # 14 63 -23721 10 # 14 64 -23722 6 # 14 65 -23723 7 # 14 66 -23724 9 # 14 67 -23725 7 # 14 68 -23726 9 # 14 69 -23727 9 # 14 70 -23728 9 # 14 71 -23729 7 # 14 72 -23730 8 # 14 73 -23731 16 # 14 74 -23732 24 # 14 75 -23733 9 # 14 76 -23734 4 # 14 77 -23735 7 # 14 78 -23736 6 # 14 79 -23737 4 # 14 80 -23738 9 # 14 81 -23739 1 # 14 82 -23740 5 # 14 83 -23741 0 # 14 84 -23742 0 # 14 85 -23743 0 # 14 86 -23744 0 # 14 87 -23745 4 # 14 88 -23746 6 # 14 89 -23747 7 # 14 90 -23748 6 # 14 91 -23749 0 # 14 92 -23750 4 # 14 93 -23751 0 # 14 94 -23752 0 # 14 95 -23753 0 # 14 96 -23754 0 # 14 97 -23755 0 # 14 98 -23756 0 # 14 99 -23757 0 # 14 100 -23758 0 # 14 101 -23759 0 # 14 102 -23760 0 # 14 103 -23761 0 # 14 104 -23762 0 # 14 105 -23763 0 # 14 106 -23764 0 # 14 107 -23765 0 # 14 108 -23766 0 # 14 109 -23767 0 # 14 110 -23768 0 # 14 111 -23769 0 # 14 112 -23770 0 # 14 113 -23771 0 # 14 114 -23772 0 # 14 115 -23773 0 # 14 116 -23774 0 # 14 117 -23775 0 # 14 118 -23776 0 # 14 119 -23777 0 # 14 120 -23778 0 # 14 121 -23779 0 # 14 122 -23780 0 # 14 123 -23781 0 # 14 124 -23782 0 # 14 125 -23783 0 # 14 126 -23784 0 # 14 127 -23785 0 # 14 128 -23786 0 # 14 129 -23787 0 # 14 130 -23788 0 # 14 131 -23789 0 # 14 132 -23790 0 # 14 133 -23791 0 # 14 134 -23792 0 # 14 135 -23793 0 # 14 136 -23794 0 # 14 137 -23795 0 # 14 138 -23796 0 # 14 139 -23797 0 # 14 140 -23798 0 # 14 141 -23799 0 # 14 142 -23800 0 # 14 143 -23801 0 # 14 144 -23802 0 # 14 145 -23803 0 # 14 146 -23804 0 # 14 147 -23805 0 # 14 148 -23806 0 # 14 149 -23807 0 # 14 150 -23808 0 # 14 151 -23809 0 # 14 152 -23810 0 # 14 153 -23811 0 # 14 154 -23812 0 # 14 155 -23813 0 # 14 156 -23814 0 # 14 157 -23815 0 # 14 158 -23816 0 # 14 159 -23817 0 # 14 160 -23818 0 # 14 161 -23819 0 # 14 162 -23820 0 # 14 163 -23821 0 # 14 164 -23822 0 # 14 165 -23823 0 # 14 166 -23824 0 # 14 167 -23825 0 # 14 168 -23826 0 # 14 169 -23827 0 # 14 170 -23828 0 # 14 171 -23829 0 # 14 172 -23830 0 # 14 173 -23831 0 # 14 174 -23832 0 # 14 175 -23833 0 # 14 176 -23834 0 # 14 177 -23835 0 # 14 178 -23836 0 # 14 179 -23837 0 # 14 180 -23838 0 # 14 181 -23839 0 # 14 182 -23840 0 # 14 183 -23841 0 # 14 184 -23842 0 # 14 185 -23843 0 # 14 186 -23844 0 # 14 187 -23845 0 # 14 188 -23846 0 # 14 189 -23847 0 # 14 190 -23848 0 # 14 191 -23849 0 # 14 192 -23850 0 # 14 193 -23851 0 # 14 194 -23852 0 # 14 195 -23853 0 # 14 196 -23854 0 # 14 197 -23855 0 # 14 198 -23856 0 # 14 199 -23857 0 # 14 200 -23858 0 # 14 201 -23859 0 # 14 202 -23860 0 # 14 203 -23861 0 # 14 204 -23862 0 # 14 205 -23863 0 # 14 206 -23864 0 # 14 207 -23865 0 # 14 208 -23866 0 # 14 209 -23867 0 # 14 210 -23868 0 # 14 211 -23869 0 # 14 212 -23870 0 # 14 213 -23871 0 # 14 214 -23872 0 # 14 215 -23873 0 # 14 216 -23874 0 # 14 217 -23875 0 # 14 218 -23876 0 # 14 219 -23877 0 # 14 220 -23878 0 # 14 221 -23879 0 # 14 222 -23880 0 # 14 223 -23881 0 # 14 224 -23882 0 # 14 225 -23883 0 # 14 226 -23884 0 # 14 227 -23885 0 # 14 228 -23886 0 # 14 229 -23887 0 # 14 230 -23888 0 # 14 231 -23889 0 # 14 232 -23890 0 # 14 233 -23891 0 # 14 234 -23892 0 # 14 235 -23893 0 # 14 236 -23894 0 # 14 237 -23895 0 # 14 238 -23896 0 # 14 239 -23897 0 # 14 240 -23898 0 # 14 241 -23899 0 # 14 242 -23900 0 # 14 243 -23901 0 # 14 244 -23902 0 # 14 245 -23903 0 # 14 246 -23904 0 # 14 247 -23905 0 # 14 248 -23906 0 # 14 249 -23907 0 # 14 250 -23908 0 # 14 251 -23909 0 # 14 252 -23910 0 # 14 253 -23911 0 # 14 254 -23912 0 # 14 255 -23913 0 # 14 256 -23914 0 # 14 257 -23915 0 # 14 258 -23916 0 # 14 259 -23917 0 # 14 260 -23918 0 # 14 261 -23919 0 # 14 262 -23920 0 # 14 263 -23921 0 # 14 264 -23922 0 # 14 265 -23923 0 # 14 266 -23924 0 # 14 267 -23925 0 # 14 268 -23926 0 # 14 269 -23927 0 # 14 270 -23928 0 # 14 271 -23929 0 # 14 272 -23930 0 # 14 273 -23931 0 # 14 274 -23932 0 # 14 275 -23933 0 # 14 276 -23934 0 # 14 277 -23935 0 # 14 278 -23936 0 # 14 279 -23937 0 # 14 280 -23938 0 # 14 281 -23939 0 # 14 282 -23940 0 # 14 283 -23941 0 # 14 284 -23942 0 # 14 285 -23943 0 # 14 286 -23944 0 # 14 287 -23945 0 # 14 288 -23946 0 # 14 289 -23947 0 # 14 290 -23948 0 # 14 291 -23949 0 # 14 292 -23950 0 # 14 293 -23951 0 # 14 294 -23952 0 # 14 295 -23953 0 # 14 296 -23954 0 # 14 297 -23955 0 # 14 298 -23956 0 # 14 299 -23957 0 # 14 300 -23958 0 # 14 301 -23959 0 # 14 302 -23960 0 # 14 303 -23961 0 # 14 304 -23962 0 # 14 305 -23963 0 # 14 306 -23964 0 # 14 307 -23965 0 # 14 308 -23966 0 # 14 309 -23967 0 # 14 310 -23968 0 # 14 311 -23969 0 # 14 312 -23970 0 # 14 313 -23971 0 # 14 314 -23972 0 # 14 315 -23973 0 # 14 316 -23974 0 # 14 317 -23975 0 # 14 318 -23976 0 # 14 319 -23977 0 # 14 320 -23978 0 # 14 321 -23979 0 # 14 322 -23980 0 # 14 323 -23981 0 # 14 324 -23982 0 # 14 325 -23983 0 # 14 326 -23984 0 # 14 327 -23985 0 # 14 328 -23986 0 # 14 329 -23987 0 # 14 330 -23988 0 # 14 331 -23989 0 # 14 332 -23990 0 # 14 333 -23991 0 # 14 334 -23992 0 # 14 335 -23993 0 # 14 336 -23994 0 # 14 337 -23995 0 # 14 338 -23996 0 # 14 339 -23997 0 # 14 340 -23998 0 # 14 341 -23999 0 # 14 342 -24000 0 # 14 343 -24001 0 # 14 344 -24002 0 # 14 345 -24003 0 # 14 346 -24004 0 # 14 347 -24005 0 # 14 348 -24006 0 # 14 349 -24007 0 # 14 350 -24008 0 # 14 351 -24009 0 # 14 352 -24010 0 # 14 353 -24011 0 # 14 354 -24012 0 # 14 355 -24013 0 # 14 356 -24014 0 # 14 357 -24015 0 # 14 358 -24016 0 # 14 359 -24017 0 # 14 360 -24018 0 # 14 361 -24019 0 # 14 362 -24020 0 # 14 363 -24021 0 # 14 364 -24022 0 # 14 365 -24023 0 # 14 366 -24024 0 # 14 367 -24025 0 # 14 368 -24026 0 # 14 369 -24027 0 # 14 370 -24028 0 # 14 371 -24029 0 # 14 372 -24030 0 # 14 373 -24031 0 # 14 374 -24032 0 # 14 375 -24033 0 # 14 376 -24034 0 # 14 377 -24035 0 # 14 378 -24036 0 # 14 379 -24037 0 # 14 380 -24038 0 # 14 381 -24039 0 # 14 382 -24040 0 # 14 383 -24041 0 # 14 384 -24042 0 # 14 385 -24043 0 # 14 386 -24044 0 # 14 387 -24045 0 # 14 388 -24046 0 # 14 389 -24047 0 # 14 390 -24048 0 # 14 391 -24049 0 # 14 392 -24050 0 # 14 393 -24051 0 # 14 394 -24052 0 # 14 395 -24053 0 # 14 396 -24054 0 # 14 397 -24055 0 # 14 398 -24056 0 # 14 399 -24057 0 # 14 400 -24058 0 # 14 401 -24059 0 # 14 402 -24060 0 # 14 403 -24061 0 # 14 404 -24062 0 # 14 405 -24063 0 # 14 406 -24064 0 # 14 407 -24065 0 # 14 408 -24066 0 # 14 409 -24067 0 # 14 410 -24068 0 # 14 411 -24069 0 # 14 412 -24070 0 # 14 413 -24071 0 # 14 414 -24072 0 # 14 415 -24073 0 # 14 416 -24074 0 # 14 417 -24075 0 # 14 418 -24076 0 # 14 419 -24077 0 # 14 420 -24078 0 # 14 421 -24079 0 # 14 422 -24080 0 # 14 423 -24081 0 # 14 424 -24082 0 # 14 425 -24083 0 # 14 426 -24084 0 # 14 427 -24085 0 # 14 428 -24086 0 # 14 429 -24087 0 # 14 430 -24088 0 # 14 431 -24089 0 # 14 432 -24090 0 # 14 433 -24091 0 # 14 434 -24092 0 # 14 435 -24093 0 # 14 436 -24094 0 # 14 437 -24095 0 # 14 438 -24096 0 # 14 439 -24097 0 # 14 440 -24098 0 # 14 441 -24099 0 # 14 442 -24100 0 # 14 443 -24101 0 # 14 444 -24102 0 # 14 445 -24103 0 # 14 446 -24104 0 # 14 447 -24105 0 # 14 448 -24106 0 # 14 449 -24107 0 # 14 450 -24108 0 # 14 451 -24109 0 # 14 452 -24110 0 # 14 453 -24111 0 # 14 454 -24112 0 # 14 455 -24113 0 # 14 456 -24114 0 # 14 457 -24115 0 # 14 458 -24116 0 # 14 459 -24117 0 # 14 460 -24118 0 # 14 461 -24119 0 # 14 462 -24120 0 # 14 463 -24121 0 # 14 464 -24122 0 # 14 465 -24123 0 # 14 466 -24124 0 # 14 467 -24125 0 # 14 468 -24126 0 # 14 469 -24127 0 # 14 470 -24128 0 # 14 471 -24129 0 # 14 472 -24130 0 # 14 473 -24131 0 # 14 474 -24132 0 # 14 475 -24133 0 # 14 476 -24134 0 # 14 477 -24135 0 # 14 478 -24136 0 # 14 479 -24137 0 # 14 480 -24138 0 # 14 481 -24139 0 # 14 482 -24140 0 # 14 483 -24141 0 # 14 484 -24142 0 # 14 485 -24143 0 # 14 486 -24144 0 # 14 487 -24145 0 # 14 488 -24146 0 # 14 489 -24147 0 # 14 490 -24148 0 # 14 491 -24149 0 # 14 492 -24150 0 # 14 493 -24151 0 # 14 494 -24152 0 # 14 495 -24153 0 # 14 496 -24154 0 # 14 497 -24155 0 # 14 498 -24156 0 # 14 499 -24157 0 # 14 500 -24158 0 # 14 501 -24159 0 # 14 502 -24160 0 # 14 503 -24161 0 # 14 504 -24162 0 # 14 505 -24163 0 # 14 506 -24164 0 # 14 507 -24165 0 # 14 508 -24166 0 # 14 509 -24167 0 # 14 510 -24168 0 # 14 511 -24169 0 # 14 512 -24170 0 # 14 513 -24171 0 # 14 514 -24172 0 # 14 515 -24173 0 # 14 516 -24174 0 # 14 517 -24175 0 # 14 518 -24176 0 # 14 519 -24177 0 # 14 520 -24178 0 # 14 521 -24179 0 # 14 522 -24180 0 # 14 523 -24181 0 # 14 524 -24182 0 # 14 525 -24183 0 # 14 526 -24184 0 # 14 527 -24185 0 # 14 528 -24186 0 # 14 529 -24187 0 # 14 530 -24188 0 # 14 531 -24189 0 # 14 532 -24190 0 # 14 533 -24191 0 # 14 534 -24192 0 # 14 535 -24193 0 # 14 536 -24194 0 # 14 537 -24195 0 # 14 538 -24196 0 # 14 539 -24197 0 # 14 540 -24198 0 # 14 541 -24199 0 # 14 542 -24200 0 # 14 543 -24201 0 # 14 544 -24202 0 # 14 545 -24203 0 # 14 546 -24204 0 # 14 547 -24205 0 # 14 548 -24206 0 # 14 549 -24207 0 # 14 550 -24208 0 # 14 551 -24209 0 # 14 552 -24210 0 # 14 553 -24211 0 # 14 554 -24212 0 # 14 555 -24213 0 # 14 556 -24214 0 # 14 557 -24215 0 # 14 558 -24216 0 # 14 559 -24217 0 # 14 560 -24218 0 # 14 561 -24219 0 # 14 562 -24220 0 # 14 563 -24221 0 # 14 564 -24222 0 # 14 565 -24223 0 # 14 566 -24224 0 # 14 567 -24225 0 # 14 568 -24226 0 # 14 569 -24227 0 # 14 570 -24228 0 # 14 571 -24229 0 # 14 572 -24230 0 # 14 573 -24231 0 # 14 574 -24232 0 # 14 575 -24233 0 # 14 576 -24234 0 # 15 0 -24235 0 # 15 1 -24236 0 # 15 2 -24237 2 # 15 3 -24238 3 # 15 4 -24239 1 # 15 5 -24240 3 # 15 6 -24241 4 # 15 7 -24242 3 # 15 8 -24243 2 # 15 9 -24244 4 # 15 10 -24245 3 # 15 11 -24246 3 # 15 12 -24247 5 # 15 13 -24248 4 # 15 14 -24249 4 # 15 15 -24250 4 # 15 16 -24251 5 # 15 17 -24252 5 # 15 18 -24253 5 # 15 19 -24254 4 # 15 20 -24255 5 # 15 21 -24256 5 # 15 22 -24257 5 # 15 23 -24258 5 # 15 24 -24259 6 # 15 25 -24260 5 # 15 26 -24261 6 # 15 27 -24262 6 # 15 28 -24263 6 # 15 29 -24264 6 # 15 30 -24265 6 # 15 31 -24266 6 # 15 32 -24267 6 # 15 33 -24268 7 # 15 34 -24269 6 # 15 35 -24270 6 # 15 36 -24271 6 # 15 37 -24272 6 # 15 38 -24273 7 # 15 39 -24274 7 # 15 40 -24275 7 # 15 41 -24276 6 # 15 42 -24277 6 # 15 43 -24278 7 # 15 44 -24279 7 # 15 45 -24280 8 # 15 46 -24281 7 # 15 47 -24282 8 # 15 48 -24283 7 # 15 49 -24284 9 # 15 50 -24285 8 # 15 51 -24286 8 # 15 52 -24287 8 # 15 53 -24288 8 # 15 54 -24289 8 # 15 55 -24290 6 # 15 56 -24291 9 # 15 57 -24292 8 # 15 58 -24293 8 # 15 59 -24294 9 # 15 60 -24295 8 # 15 61 -24296 7 # 15 62 -24297 7 # 15 63 -24298 7 # 15 64 -24299 6 # 15 65 -24300 7 # 15 66 -24301 10 # 15 67 -24302 13 # 15 68 -24303 7 # 15 69 -24304 10 # 15 70 -24305 8 # 15 71 -24306 6 # 15 72 -24307 7 # 15 73 -24308 8 # 15 74 -24309 24 # 15 75 -24310 7 # 15 76 -24311 7 # 15 77 -24312 7 # 15 78 -24313 7 # 15 79 -24314 5 # 15 80 -24315 8 # 15 81 -24316 3 # 15 82 -24317 11 # 15 83 -24318 0 # 15 84 -24319 4 # 15 85 -24320 0 # 15 86 -24321 0 # 15 87 -24322 5 # 15 88 -24323 4 # 15 89 -24324 8 # 15 90 -24325 6 # 15 91 -24326 0 # 15 92 -24327 2 # 15 93 -24328 0 # 15 94 -24329 0 # 15 95 -24330 0 # 15 96 -24331 0 # 15 97 -24332 0 # 15 98 -24333 0 # 15 99 -24334 0 # 15 100 -24335 0 # 15 101 -24336 0 # 15 102 -24337 0 # 15 103 -24338 0 # 15 104 -24339 0 # 15 105 -24340 0 # 15 106 -24341 0 # 15 107 -24342 0 # 15 108 -24343 0 # 15 109 -24344 0 # 15 110 -24345 0 # 15 111 -24346 0 # 15 112 -24347 0 # 15 113 -24348 0 # 15 114 -24349 0 # 15 115 -24350 0 # 15 116 -24351 0 # 15 117 -24352 0 # 15 118 -24353 0 # 15 119 -24354 0 # 15 120 -24355 0 # 15 121 -24356 0 # 15 122 -24357 0 # 15 123 -24358 0 # 15 124 -24359 0 # 15 125 -24360 0 # 15 126 -24361 0 # 15 127 -24362 0 # 15 128 -24363 0 # 15 129 -24364 0 # 15 130 -24365 0 # 15 131 -24366 0 # 15 132 -24367 0 # 15 133 -24368 0 # 15 134 -24369 0 # 15 135 -24370 0 # 15 136 -24371 0 # 15 137 -24372 0 # 15 138 -24373 0 # 15 139 -24374 0 # 15 140 -24375 0 # 15 141 -24376 0 # 15 142 -24377 0 # 15 143 -24378 0 # 15 144 -24379 0 # 15 145 -24380 0 # 15 146 -24381 0 # 15 147 -24382 0 # 15 148 -24383 0 # 15 149 -24384 0 # 15 150 -24385 0 # 15 151 -24386 0 # 15 152 -24387 0 # 15 153 -24388 0 # 15 154 -24389 0 # 15 155 -24390 0 # 15 156 -24391 0 # 15 157 -24392 0 # 15 158 -24393 0 # 15 159 -24394 0 # 15 160 -24395 0 # 15 161 -24396 0 # 15 162 -24397 0 # 15 163 -24398 0 # 15 164 -24399 0 # 15 165 -24400 0 # 15 166 -24401 0 # 15 167 -24402 0 # 15 168 -24403 0 # 15 169 -24404 0 # 15 170 -24405 0 # 15 171 -24406 0 # 15 172 -24407 0 # 15 173 -24408 0 # 15 174 -24409 0 # 15 175 -24410 0 # 15 176 -24411 0 # 15 177 -24412 0 # 15 178 -24413 0 # 15 179 -24414 0 # 15 180 -24415 0 # 15 181 -24416 0 # 15 182 -24417 0 # 15 183 -24418 0 # 15 184 -24419 0 # 15 185 -24420 0 # 15 186 -24421 0 # 15 187 -24422 0 # 15 188 -24423 0 # 15 189 -24424 0 # 15 190 -24425 0 # 15 191 -24426 0 # 15 192 -24427 0 # 15 193 -24428 0 # 15 194 -24429 0 # 15 195 -24430 0 # 15 196 -24431 0 # 15 197 -24432 0 # 15 198 -24433 0 # 15 199 -24434 0 # 15 200 -24435 0 # 15 201 -24436 0 # 15 202 -24437 0 # 15 203 -24438 0 # 15 204 -24439 0 # 15 205 -24440 0 # 15 206 -24441 0 # 15 207 -24442 0 # 15 208 -24443 0 # 15 209 -24444 0 # 15 210 -24445 0 # 15 211 -24446 0 # 15 212 -24447 0 # 15 213 -24448 0 # 15 214 -24449 0 # 15 215 -24450 0 # 15 216 -24451 0 # 15 217 -24452 0 # 15 218 -24453 0 # 15 219 -24454 0 # 15 220 -24455 0 # 15 221 -24456 0 # 15 222 -24457 0 # 15 223 -24458 0 # 15 224 -24459 0 # 15 225 -24460 0 # 15 226 -24461 0 # 15 227 -24462 0 # 15 228 -24463 0 # 15 229 -24464 0 # 15 230 -24465 0 # 15 231 -24466 0 # 15 232 -24467 0 # 15 233 -24468 0 # 15 234 -24469 0 # 15 235 -24470 0 # 15 236 -24471 0 # 15 237 -24472 0 # 15 238 -24473 0 # 15 239 -24474 0 # 15 240 -24475 0 # 15 241 -24476 0 # 15 242 -24477 0 # 15 243 -24478 0 # 15 244 -24479 0 # 15 245 -24480 0 # 15 246 -24481 0 # 15 247 -24482 0 # 15 248 -24483 0 # 15 249 -24484 0 # 15 250 -24485 0 # 15 251 -24486 0 # 15 252 -24487 0 # 15 253 -24488 0 # 15 254 -24489 0 # 15 255 -24490 0 # 15 256 -24491 0 # 15 257 -24492 0 # 15 258 -24493 0 # 15 259 -24494 0 # 15 260 -24495 0 # 15 261 -24496 0 # 15 262 -24497 0 # 15 263 -24498 0 # 15 264 -24499 0 # 15 265 -24500 0 # 15 266 -24501 0 # 15 267 -24502 0 # 15 268 -24503 0 # 15 269 -24504 0 # 15 270 -24505 0 # 15 271 -24506 0 # 15 272 -24507 0 # 15 273 -24508 0 # 15 274 -24509 0 # 15 275 -24510 0 # 15 276 -24511 0 # 15 277 -24512 0 # 15 278 -24513 0 # 15 279 -24514 0 # 15 280 -24515 0 # 15 281 -24516 0 # 15 282 -24517 0 # 15 283 -24518 0 # 15 284 -24519 0 # 15 285 -24520 0 # 15 286 -24521 0 # 15 287 -24522 0 # 15 288 -24523 0 # 15 289 -24524 0 # 15 290 -24525 0 # 15 291 -24526 0 # 15 292 -24527 0 # 15 293 -24528 0 # 15 294 -24529 0 # 15 295 -24530 0 # 15 296 -24531 0 # 15 297 -24532 0 # 15 298 -24533 0 # 15 299 -24534 0 # 15 300 -24535 0 # 15 301 -24536 0 # 15 302 -24537 0 # 15 303 -24538 0 # 15 304 -24539 0 # 15 305 -24540 0 # 15 306 -24541 0 # 15 307 -24542 0 # 15 308 -24543 0 # 15 309 -24544 0 # 15 310 -24545 0 # 15 311 -24546 0 # 15 312 -24547 0 # 15 313 -24548 0 # 15 314 -24549 0 # 15 315 -24550 0 # 15 316 -24551 0 # 15 317 -24552 0 # 15 318 -24553 0 # 15 319 -24554 0 # 15 320 -24555 0 # 15 321 -24556 0 # 15 322 -24557 0 # 15 323 -24558 0 # 15 324 -24559 0 # 15 325 -24560 0 # 15 326 -24561 0 # 15 327 -24562 0 # 15 328 -24563 0 # 15 329 -24564 0 # 15 330 -24565 0 # 15 331 -24566 0 # 15 332 -24567 0 # 15 333 -24568 0 # 15 334 -24569 0 # 15 335 -24570 0 # 15 336 -24571 0 # 15 337 -24572 0 # 15 338 -24573 0 # 15 339 -24574 0 # 15 340 -24575 0 # 15 341 -24576 0 # 15 342 -24577 0 # 15 343 -24578 0 # 15 344 -24579 0 # 15 345 -24580 0 # 15 346 -24581 0 # 15 347 -24582 0 # 15 348 -24583 0 # 15 349 -24584 0 # 15 350 -24585 0 # 15 351 -24586 0 # 15 352 -24587 0 # 15 353 -24588 0 # 15 354 -24589 0 # 15 355 -24590 0 # 15 356 -24591 0 # 15 357 -24592 0 # 15 358 -24593 0 # 15 359 -24594 0 # 15 360 -24595 0 # 15 361 -24596 0 # 15 362 -24597 0 # 15 363 -24598 0 # 15 364 -24599 0 # 15 365 -24600 0 # 15 366 -24601 0 # 15 367 -24602 0 # 15 368 -24603 0 # 15 369 -24604 0 # 15 370 -24605 0 # 15 371 -24606 0 # 15 372 -24607 0 # 15 373 -24608 0 # 15 374 -24609 0 # 15 375 -24610 0 # 15 376 -24611 0 # 15 377 -24612 0 # 15 378 -24613 0 # 15 379 -24614 0 # 15 380 -24615 0 # 15 381 -24616 0 # 15 382 -24617 0 # 15 383 -24618 0 # 15 384 -24619 0 # 15 385 -24620 0 # 15 386 -24621 0 # 15 387 -24622 0 # 15 388 -24623 0 # 15 389 -24624 0 # 15 390 -24625 0 # 15 391 -24626 0 # 15 392 -24627 0 # 15 393 -24628 0 # 15 394 -24629 0 # 15 395 -24630 0 # 15 396 -24631 0 # 15 397 -24632 0 # 15 398 -24633 0 # 15 399 -24634 0 # 15 400 -24635 0 # 15 401 -24636 0 # 15 402 -24637 0 # 15 403 -24638 0 # 15 404 -24639 0 # 15 405 -24640 0 # 15 406 -24641 0 # 15 407 -24642 0 # 15 408 -24643 0 # 15 409 -24644 0 # 15 410 -24645 0 # 15 411 -24646 0 # 15 412 -24647 0 # 15 413 -24648 0 # 15 414 -24649 0 # 15 415 -24650 0 # 15 416 -24651 0 # 15 417 -24652 0 # 15 418 -24653 0 # 15 419 -24654 0 # 15 420 -24655 0 # 15 421 -24656 0 # 15 422 -24657 0 # 15 423 -24658 0 # 15 424 -24659 0 # 15 425 -24660 0 # 15 426 -24661 0 # 15 427 -24662 0 # 15 428 -24663 0 # 15 429 -24664 0 # 15 430 -24665 0 # 15 431 -24666 0 # 15 432 -24667 0 # 15 433 -24668 0 # 15 434 -24669 0 # 15 435 -24670 0 # 15 436 -24671 0 # 15 437 -24672 0 # 15 438 -24673 0 # 15 439 -24674 0 # 15 440 -24675 0 # 15 441 -24676 0 # 15 442 -24677 0 # 15 443 -24678 0 # 15 444 -24679 0 # 15 445 -24680 0 # 15 446 -24681 0 # 15 447 -24682 0 # 15 448 -24683 0 # 15 449 -24684 0 # 15 450 -24685 0 # 15 451 -24686 0 # 15 452 -24687 0 # 15 453 -24688 0 # 15 454 -24689 0 # 15 455 -24690 0 # 15 456 -24691 0 # 15 457 -24692 0 # 15 458 -24693 0 # 15 459 -24694 0 # 15 460 -24695 0 # 15 461 -24696 0 # 15 462 -24697 0 # 15 463 -24698 0 # 15 464 -24699 0 # 15 465 -24700 0 # 15 466 -24701 0 # 15 467 -24702 0 # 15 468 -24703 0 # 15 469 -24704 0 # 15 470 -24705 0 # 15 471 -24706 0 # 15 472 -24707 0 # 15 473 -24708 0 # 15 474 -24709 0 # 15 475 -24710 0 # 15 476 -24711 0 # 15 477 -24712 0 # 15 478 -24713 0 # 15 479 -24714 0 # 15 480 -24715 0 # 15 481 -24716 0 # 15 482 -24717 0 # 15 483 -24718 0 # 15 484 -24719 0 # 15 485 -24720 0 # 15 486 -24721 0 # 15 487 -24722 0 # 15 488 -24723 0 # 15 489 -24724 0 # 15 490 -24725 0 # 15 491 -24726 0 # 15 492 -24727 0 # 15 493 -24728 0 # 15 494 -24729 0 # 15 495 -24730 0 # 15 496 -24731 0 # 15 497 -24732 0 # 15 498 -24733 0 # 15 499 -24734 0 # 15 500 -24735 0 # 15 501 -24736 0 # 15 502 -24737 0 # 15 503 -24738 0 # 15 504 -24739 0 # 15 505 -24740 0 # 15 506 -24741 0 # 15 507 -24742 0 # 15 508 -24743 0 # 15 509 -24744 0 # 15 510 -24745 0 # 15 511 -24746 0 # 15 512 -24747 0 # 15 513 -24748 0 # 15 514 -24749 0 # 15 515 -24750 0 # 15 516 -24751 0 # 15 517 -24752 0 # 15 518 -24753 0 # 15 519 -24754 0 # 15 520 -24755 0 # 15 521 -24756 0 # 15 522 -24757 0 # 15 523 -24758 0 # 15 524 -24759 0 # 15 525 -24760 0 # 15 526 -24761 0 # 15 527 -24762 0 # 15 528 -24763 0 # 15 529 -24764 0 # 15 530 -24765 0 # 15 531 -24766 0 # 15 532 -24767 0 # 15 533 -24768 0 # 15 534 -24769 0 # 15 535 -24770 0 # 15 536 -24771 0 # 15 537 -24772 0 # 15 538 -24773 0 # 15 539 -24774 0 # 15 540 -24775 0 # 15 541 -24776 0 # 15 542 -24777 0 # 15 543 -24778 0 # 15 544 -24779 0 # 15 545 -24780 0 # 15 546 -24781 0 # 15 547 -24782 0 # 15 548 -24783 0 # 15 549 -24784 0 # 15 550 -24785 0 # 15 551 -24786 0 # 15 552 -24787 0 # 15 553 -24788 0 # 15 554 -24789 0 # 15 555 -24790 0 # 15 556 -24791 0 # 15 557 -24792 0 # 15 558 -24793 0 # 15 559 -24794 0 # 15 560 -24795 0 # 15 561 -24796 0 # 15 562 -24797 0 # 15 563 -24798 0 # 15 564 -24799 0 # 15 565 -24800 0 # 15 566 -24801 0 # 15 567 -24802 0 # 15 568 -24803 0 # 15 569 -24804 0 # 15 570 -24805 0 # 15 571 -24806 0 # 15 572 -24807 0 # 15 573 -24808 0 # 15 574 -24809 0 # 15 575 -24810 0 # 15 576 -24811 0 # 16 0 -24812 0 # 16 1 -24813 0 # 16 2 -24814 0 # 16 3 -24815 3 # 16 4 -24816 0 # 16 5 -24817 2 # 16 6 -24818 4 # 16 7 -24819 2 # 16 8 -24820 2 # 16 9 -24821 4 # 16 10 -24822 3 # 16 11 -24823 3 # 16 12 -24824 4 # 16 13 -24825 4 # 16 14 -24826 4 # 16 15 -24827 4 # 16 16 -24828 5 # 16 17 -24829 5 # 16 18 -24830 5 # 16 19 -24831 5 # 16 20 -24832 5 # 16 21 -24833 5 # 16 22 -24834 5 # 16 23 -24835 5 # 16 24 -24836 6 # 16 25 -24837 5 # 16 26 -24838 5 # 16 27 -24839 6 # 16 28 -24840 5 # 16 29 -24841 6 # 16 30 -24842 6 # 16 31 -24843 6 # 16 32 -24844 6 # 16 33 -24845 6 # 16 34 -24846 6 # 16 35 -24847 6 # 16 36 -24848 7 # 16 37 -24849 6 # 16 38 -24850 7 # 16 39 -24851 7 # 16 40 -24852 6 # 16 41 -24853 7 # 16 42 -24854 6 # 16 43 -24855 7 # 16 44 -24856 7 # 16 45 -24857 8 # 16 46 -24858 7 # 16 47 -24859 8 # 16 48 -24860 7 # 16 49 -24861 8 # 16 50 -24862 8 # 16 51 -24863 8 # 16 52 -24864 8 # 16 53 -24865 8 # 16 54 -24866 7 # 16 55 -24867 7 # 16 56 -24868 9 # 16 57 -24869 9 # 16 58 -24870 9 # 16 59 -24871 9 # 16 60 -24872 8 # 16 61 -24873 6 # 16 62 -24874 5 # 16 63 -24875 6 # 16 64 -24876 7 # 16 65 -24877 5 # 16 66 -24878 9 # 16 67 -24879 9 # 16 68 -24880 10 # 16 69 -24881 12 # 16 70 -24882 7 # 16 71 -24883 8 # 16 72 -24884 6 # 16 73 -24885 10 # 16 74 -24886 10 # 16 75 -24887 11 # 16 76 -24888 7 # 16 77 -24889 5 # 16 78 -24890 8 # 16 79 -24891 4 # 16 80 -24892 7 # 16 81 -24893 3 # 16 82 -24894 7 # 16 83 -24895 0 # 16 84 -24896 4 # 16 85 -24897 0 # 16 86 -24898 0 # 16 87 -24899 3 # 16 88 -24900 11 # 16 89 -24901 3 # 16 90 -24902 8 # 16 91 -24903 0 # 16 92 -24904 1 # 16 93 -24905 0 # 16 94 -24906 0 # 16 95 -24907 0 # 16 96 -24908 0 # 16 97 -24909 0 # 16 98 -24910 0 # 16 99 -24911 0 # 16 100 -24912 0 # 16 101 -24913 0 # 16 102 -24914 0 # 16 103 -24915 0 # 16 104 -24916 0 # 16 105 -24917 0 # 16 106 -24918 0 # 16 107 -24919 0 # 16 108 -24920 0 # 16 109 -24921 0 # 16 110 -24922 0 # 16 111 -24923 0 # 16 112 -24924 0 # 16 113 -24925 0 # 16 114 -24926 0 # 16 115 -24927 0 # 16 116 -24928 0 # 16 117 -24929 0 # 16 118 -24930 0 # 16 119 -24931 0 # 16 120 -24932 0 # 16 121 -24933 0 # 16 122 -24934 0 # 16 123 -24935 0 # 16 124 -24936 0 # 16 125 -24937 0 # 16 126 -24938 0 # 16 127 -24939 0 # 16 128 -24940 0 # 16 129 -24941 0 # 16 130 -24942 0 # 16 131 -24943 0 # 16 132 -24944 0 # 16 133 -24945 0 # 16 134 -24946 0 # 16 135 -24947 0 # 16 136 -24948 0 # 16 137 -24949 0 # 16 138 -24950 0 # 16 139 -24951 0 # 16 140 -24952 0 # 16 141 -24953 0 # 16 142 -24954 0 # 16 143 -24955 0 # 16 144 -24956 0 # 16 145 -24957 0 # 16 146 -24958 0 # 16 147 -24959 0 # 16 148 -24960 0 # 16 149 -24961 0 # 16 150 -24962 0 # 16 151 -24963 0 # 16 152 -24964 0 # 16 153 -24965 0 # 16 154 -24966 0 # 16 155 -24967 0 # 16 156 -24968 0 # 16 157 -24969 0 # 16 158 -24970 0 # 16 159 -24971 0 # 16 160 -24972 0 # 16 161 -24973 0 # 16 162 -24974 0 # 16 163 -24975 0 # 16 164 -24976 0 # 16 165 -24977 0 # 16 166 -24978 0 # 16 167 -24979 0 # 16 168 -24980 0 # 16 169 -24981 0 # 16 170 -24982 0 # 16 171 -24983 0 # 16 172 -24984 0 # 16 173 -24985 0 # 16 174 -24986 0 # 16 175 -24987 0 # 16 176 -24988 0 # 16 177 -24989 0 # 16 178 -24990 0 # 16 179 -24991 0 # 16 180 -24992 0 # 16 181 -24993 0 # 16 182 -24994 0 # 16 183 -24995 0 # 16 184 -24996 0 # 16 185 -24997 0 # 16 186 -24998 0 # 16 187 -24999 0 # 16 188 -25000 0 # 16 189 -25001 0 # 16 190 -25002 0 # 16 191 -25003 0 # 16 192 -25004 0 # 16 193 -25005 0 # 16 194 -25006 0 # 16 195 -25007 0 # 16 196 -25008 0 # 16 197 -25009 0 # 16 198 -25010 0 # 16 199 -25011 0 # 16 200 -25012 0 # 16 201 -25013 0 # 16 202 -25014 0 # 16 203 -25015 0 # 16 204 -25016 0 # 16 205 -25017 0 # 16 206 -25018 0 # 16 207 -25019 0 # 16 208 -25020 0 # 16 209 -25021 0 # 16 210 -25022 0 # 16 211 -25023 0 # 16 212 -25024 0 # 16 213 -25025 0 # 16 214 -25026 0 # 16 215 -25027 0 # 16 216 -25028 0 # 16 217 -25029 0 # 16 218 -25030 0 # 16 219 -25031 0 # 16 220 -25032 0 # 16 221 -25033 0 # 16 222 -25034 0 # 16 223 -25035 0 # 16 224 -25036 0 # 16 225 -25037 0 # 16 226 -25038 0 # 16 227 -25039 0 # 16 228 -25040 0 # 16 229 -25041 0 # 16 230 -25042 0 # 16 231 -25043 0 # 16 232 -25044 0 # 16 233 -25045 0 # 16 234 -25046 0 # 16 235 -25047 0 # 16 236 -25048 0 # 16 237 -25049 0 # 16 238 -25050 0 # 16 239 -25051 0 # 16 240 -25052 0 # 16 241 -25053 0 # 16 242 -25054 0 # 16 243 -25055 0 # 16 244 -25056 0 # 16 245 -25057 0 # 16 246 -25058 0 # 16 247 -25059 0 # 16 248 -25060 0 # 16 249 -25061 0 # 16 250 -25062 0 # 16 251 -25063 0 # 16 252 -25064 0 # 16 253 -25065 0 # 16 254 -25066 0 # 16 255 -25067 0 # 16 256 -25068 0 # 16 257 -25069 0 # 16 258 -25070 0 # 16 259 -25071 0 # 16 260 -25072 0 # 16 261 -25073 0 # 16 262 -25074 0 # 16 263 -25075 0 # 16 264 -25076 0 # 16 265 -25077 0 # 16 266 -25078 0 # 16 267 -25079 0 # 16 268 -25080 0 # 16 269 -25081 0 # 16 270 -25082 0 # 16 271 -25083 0 # 16 272 -25084 0 # 16 273 -25085 0 # 16 274 -25086 0 # 16 275 -25087 0 # 16 276 -25088 0 # 16 277 -25089 0 # 16 278 -25090 0 # 16 279 -25091 0 # 16 280 -25092 0 # 16 281 -25093 0 # 16 282 -25094 0 # 16 283 -25095 0 # 16 284 -25096 0 # 16 285 -25097 0 # 16 286 -25098 0 # 16 287 -25099 0 # 16 288 -25100 0 # 16 289 -25101 0 # 16 290 -25102 0 # 16 291 -25103 0 # 16 292 -25104 0 # 16 293 -25105 0 # 16 294 -25106 0 # 16 295 -25107 0 # 16 296 -25108 0 # 16 297 -25109 0 # 16 298 -25110 0 # 16 299 -25111 0 # 16 300 -25112 0 # 16 301 -25113 0 # 16 302 -25114 0 # 16 303 -25115 0 # 16 304 -25116 0 # 16 305 -25117 0 # 16 306 -25118 0 # 16 307 -25119 0 # 16 308 -25120 0 # 16 309 -25121 0 # 16 310 -25122 0 # 16 311 -25123 0 # 16 312 -25124 0 # 16 313 -25125 0 # 16 314 -25126 0 # 16 315 -25127 0 # 16 316 -25128 0 # 16 317 -25129 0 # 16 318 -25130 0 # 16 319 -25131 0 # 16 320 -25132 0 # 16 321 -25133 0 # 16 322 -25134 0 # 16 323 -25135 0 # 16 324 -25136 0 # 16 325 -25137 0 # 16 326 -25138 0 # 16 327 -25139 0 # 16 328 -25140 0 # 16 329 -25141 0 # 16 330 -25142 0 # 16 331 -25143 0 # 16 332 -25144 0 # 16 333 -25145 0 # 16 334 -25146 0 # 16 335 -25147 0 # 16 336 -25148 0 # 16 337 -25149 0 # 16 338 -25150 0 # 16 339 -25151 0 # 16 340 -25152 0 # 16 341 -25153 0 # 16 342 -25154 0 # 16 343 -25155 0 # 16 344 -25156 0 # 16 345 -25157 0 # 16 346 -25158 0 # 16 347 -25159 0 # 16 348 -25160 0 # 16 349 -25161 0 # 16 350 -25162 0 # 16 351 -25163 0 # 16 352 -25164 0 # 16 353 -25165 0 # 16 354 -25166 0 # 16 355 -25167 0 # 16 356 -25168 0 # 16 357 -25169 0 # 16 358 -25170 0 # 16 359 -25171 0 # 16 360 -25172 0 # 16 361 -25173 0 # 16 362 -25174 0 # 16 363 -25175 0 # 16 364 -25176 0 # 16 365 -25177 0 # 16 366 -25178 0 # 16 367 -25179 0 # 16 368 -25180 0 # 16 369 -25181 0 # 16 370 -25182 0 # 16 371 -25183 0 # 16 372 -25184 0 # 16 373 -25185 0 # 16 374 -25186 0 # 16 375 -25187 0 # 16 376 -25188 0 # 16 377 -25189 0 # 16 378 -25190 0 # 16 379 -25191 0 # 16 380 -25192 0 # 16 381 -25193 0 # 16 382 -25194 0 # 16 383 -25195 0 # 16 384 -25196 0 # 16 385 -25197 0 # 16 386 -25198 0 # 16 387 -25199 0 # 16 388 -25200 0 # 16 389 -25201 0 # 16 390 -25202 0 # 16 391 -25203 0 # 16 392 -25204 0 # 16 393 -25205 0 # 16 394 -25206 0 # 16 395 -25207 0 # 16 396 -25208 0 # 16 397 -25209 0 # 16 398 -25210 0 # 16 399 -25211 0 # 16 400 -25212 0 # 16 401 -25213 0 # 16 402 -25214 0 # 16 403 -25215 0 # 16 404 -25216 0 # 16 405 -25217 0 # 16 406 -25218 0 # 16 407 -25219 0 # 16 408 -25220 0 # 16 409 -25221 0 # 16 410 -25222 0 # 16 411 -25223 0 # 16 412 -25224 0 # 16 413 -25225 0 # 16 414 -25226 0 # 16 415 -25227 0 # 16 416 -25228 0 # 16 417 -25229 0 # 16 418 -25230 0 # 16 419 -25231 0 # 16 420 -25232 0 # 16 421 -25233 0 # 16 422 -25234 0 # 16 423 -25235 0 # 16 424 -25236 0 # 16 425 -25237 0 # 16 426 -25238 0 # 16 427 -25239 0 # 16 428 -25240 0 # 16 429 -25241 0 # 16 430 -25242 0 # 16 431 -25243 0 # 16 432 -25244 0 # 16 433 -25245 0 # 16 434 -25246 0 # 16 435 -25247 0 # 16 436 -25248 0 # 16 437 -25249 0 # 16 438 -25250 0 # 16 439 -25251 0 # 16 440 -25252 0 # 16 441 -25253 0 # 16 442 -25254 0 # 16 443 -25255 0 # 16 444 -25256 0 # 16 445 -25257 0 # 16 446 -25258 0 # 16 447 -25259 0 # 16 448 -25260 0 # 16 449 -25261 0 # 16 450 -25262 0 # 16 451 -25263 0 # 16 452 -25264 0 # 16 453 -25265 0 # 16 454 -25266 0 # 16 455 -25267 0 # 16 456 -25268 0 # 16 457 -25269 0 # 16 458 -25270 0 # 16 459 -25271 0 # 16 460 -25272 0 # 16 461 -25273 0 # 16 462 -25274 0 # 16 463 -25275 0 # 16 464 -25276 0 # 16 465 -25277 0 # 16 466 -25278 0 # 16 467 -25279 0 # 16 468 -25280 0 # 16 469 -25281 0 # 16 470 -25282 0 # 16 471 -25283 0 # 16 472 -25284 0 # 16 473 -25285 0 # 16 474 -25286 0 # 16 475 -25287 0 # 16 476 -25288 0 # 16 477 -25289 0 # 16 478 -25290 0 # 16 479 -25291 0 # 16 480 -25292 0 # 16 481 -25293 0 # 16 482 -25294 0 # 16 483 -25295 0 # 16 484 -25296 0 # 16 485 -25297 0 # 16 486 -25298 0 # 16 487 -25299 0 # 16 488 -25300 0 # 16 489 -25301 0 # 16 490 -25302 0 # 16 491 -25303 0 # 16 492 -25304 0 # 16 493 -25305 0 # 16 494 -25306 0 # 16 495 -25307 0 # 16 496 -25308 0 # 16 497 -25309 0 # 16 498 -25310 0 # 16 499 -25311 0 # 16 500 -25312 0 # 16 501 -25313 0 # 16 502 -25314 0 # 16 503 -25315 0 # 16 504 -25316 0 # 16 505 -25317 0 # 16 506 -25318 0 # 16 507 -25319 0 # 16 508 -25320 0 # 16 509 -25321 0 # 16 510 -25322 0 # 16 511 -25323 0 # 16 512 -25324 0 # 16 513 -25325 0 # 16 514 -25326 0 # 16 515 -25327 0 # 16 516 -25328 0 # 16 517 -25329 0 # 16 518 -25330 0 # 16 519 -25331 0 # 16 520 -25332 0 # 16 521 -25333 0 # 16 522 -25334 0 # 16 523 -25335 0 # 16 524 -25336 0 # 16 525 -25337 0 # 16 526 -25338 0 # 16 527 -25339 0 # 16 528 -25340 0 # 16 529 -25341 0 # 16 530 -25342 0 # 16 531 -25343 0 # 16 532 -25344 0 # 16 533 -25345 0 # 16 534 -25346 0 # 16 535 -25347 0 # 16 536 -25348 0 # 16 537 -25349 0 # 16 538 -25350 0 # 16 539 -25351 0 # 16 540 -25352 0 # 16 541 -25353 0 # 16 542 -25354 0 # 16 543 -25355 0 # 16 544 -25356 0 # 16 545 -25357 0 # 16 546 -25358 0 # 16 547 -25359 0 # 16 548 -25360 0 # 16 549 -25361 0 # 16 550 -25362 0 # 16 551 -25363 0 # 16 552 -25364 0 # 16 553 -25365 0 # 16 554 -25366 0 # 16 555 -25367 0 # 16 556 -25368 0 # 16 557 -25369 0 # 16 558 -25370 0 # 16 559 -25371 0 # 16 560 -25372 0 # 16 561 -25373 0 # 16 562 -25374 0 # 16 563 -25375 0 # 16 564 -25376 0 # 16 565 -25377 0 # 16 566 -25378 0 # 16 567 -25379 0 # 16 568 -25380 0 # 16 569 -25381 0 # 16 570 -25382 0 # 16 571 -25383 0 # 16 572 -25384 0 # 16 573 -25385 0 # 16 574 -25386 0 # 16 575 -25387 0 # 16 576 -25388 0 # 17 0 -25389 0 # 17 1 -25390 0 # 17 2 -25391 0 # 17 3 -25392 4 # 17 4 -25393 0 # 17 5 -25394 2 # 17 6 -25395 4 # 17 7 -25396 2 # 17 8 -25397 3 # 17 9 -25398 4 # 17 10 -25399 3 # 17 11 -25400 5 # 17 12 -25401 5 # 17 13 -25402 4 # 17 14 -25403 4 # 17 15 -25404 4 # 17 16 -25405 5 # 17 17 -25406 5 # 17 18 -25407 5 # 17 19 -25408 5 # 17 20 -25409 6 # 17 21 -25410 6 # 17 22 -25411 6 # 17 23 -25412 6 # 17 24 -25413 6 # 17 25 -25414 6 # 17 26 -25415 6 # 17 27 -25416 6 # 17 28 -25417 6 # 17 29 -25418 6 # 17 30 -25419 7 # 17 31 -25420 6 # 17 32 -25421 6 # 17 33 -25422 6 # 17 34 -25423 7 # 17 35 -25424 7 # 17 36 -25425 7 # 17 37 -25426 7 # 17 38 -25427 7 # 17 39 -25428 7 # 17 40 -25429 7 # 17 41 -25430 8 # 17 42 -25431 7 # 17 43 -25432 7 # 17 44 -25433 8 # 17 45 -25434 8 # 17 46 -25435 8 # 17 47 -25436 8 # 17 48 -25437 7 # 17 49 -25438 9 # 17 50 -25439 8 # 17 51 -25440 8 # 17 52 -25441 8 # 17 53 -25442 8 # 17 54 -25443 7 # 17 55 -25444 7 # 17 56 -25445 9 # 17 57 -25446 9 # 17 58 -25447 10 # 17 59 -25448 8 # 17 60 -25449 8 # 17 61 -25450 5 # 17 62 -25451 5 # 17 63 -25452 8 # 17 64 -25453 8 # 17 65 -25454 7 # 17 66 -25455 9 # 17 67 -25456 10 # 17 68 -25457 10 # 17 69 -25458 9 # 17 70 -25459 14 # 17 71 -25460 6 # 17 72 -25461 4 # 17 73 -25462 13 # 17 74 -25463 8 # 17 75 -25464 8 # 17 76 -25465 6 # 17 77 -25466 7 # 17 78 -25467 4 # 17 79 -25468 4 # 17 80 -25469 7 # 17 81 -25470 2 # 17 82 -25471 10 # 17 83 -25472 0 # 17 84 -25473 0 # 17 85 -25474 0 # 17 86 -25475 0 # 17 87 -25476 3 # 17 88 -25477 11 # 17 89 -25478 4 # 17 90 -25479 11 # 17 91 -25480 0 # 17 92 -25481 1 # 17 93 -25482 0 # 17 94 -25483 0 # 17 95 -25484 0 # 17 96 -25485 0 # 17 97 -25486 0 # 17 98 -25487 0 # 17 99 -25488 0 # 17 100 -25489 0 # 17 101 -25490 0 # 17 102 -25491 0 # 17 103 -25492 0 # 17 104 -25493 0 # 17 105 -25494 0 # 17 106 -25495 0 # 17 107 -25496 0 # 17 108 -25497 0 # 17 109 -25498 0 # 17 110 -25499 0 # 17 111 -25500 0 # 17 112 -25501 0 # 17 113 -25502 0 # 17 114 -25503 0 # 17 115 -25504 0 # 17 116 -25505 0 # 17 117 -25506 0 # 17 118 -25507 0 # 17 119 -25508 0 # 17 120 -25509 0 # 17 121 -25510 0 # 17 122 -25511 0 # 17 123 -25512 0 # 17 124 -25513 0 # 17 125 -25514 0 # 17 126 -25515 0 # 17 127 -25516 0 # 17 128 -25517 0 # 17 129 -25518 0 # 17 130 -25519 0 # 17 131 -25520 0 # 17 132 -25521 0 # 17 133 -25522 0 # 17 134 -25523 0 # 17 135 -25524 0 # 17 136 -25525 0 # 17 137 -25526 0 # 17 138 -25527 0 # 17 139 -25528 0 # 17 140 -25529 0 # 17 141 -25530 0 # 17 142 -25531 0 # 17 143 -25532 0 # 17 144 -25533 0 # 17 145 -25534 0 # 17 146 -25535 0 # 17 147 -25536 0 # 17 148 -25537 0 # 17 149 -25538 0 # 17 150 -25539 0 # 17 151 -25540 0 # 17 152 -25541 0 # 17 153 -25542 0 # 17 154 -25543 0 # 17 155 -25544 0 # 17 156 -25545 0 # 17 157 -25546 0 # 17 158 -25547 0 # 17 159 -25548 0 # 17 160 -25549 0 # 17 161 -25550 0 # 17 162 -25551 0 # 17 163 -25552 0 # 17 164 -25553 0 # 17 165 -25554 0 # 17 166 -25555 0 # 17 167 -25556 0 # 17 168 -25557 0 # 17 169 -25558 0 # 17 170 -25559 0 # 17 171 -25560 0 # 17 172 -25561 0 # 17 173 -25562 0 # 17 174 -25563 0 # 17 175 -25564 0 # 17 176 -25565 0 # 17 177 -25566 0 # 17 178 -25567 0 # 17 179 -25568 0 # 17 180 -25569 0 # 17 181 -25570 0 # 17 182 -25571 0 # 17 183 -25572 0 # 17 184 -25573 0 # 17 185 -25574 0 # 17 186 -25575 0 # 17 187 -25576 0 # 17 188 -25577 0 # 17 189 -25578 0 # 17 190 -25579 0 # 17 191 -25580 0 # 17 192 -25581 0 # 17 193 -25582 0 # 17 194 -25583 0 # 17 195 -25584 0 # 17 196 -25585 0 # 17 197 -25586 0 # 17 198 -25587 0 # 17 199 -25588 0 # 17 200 -25589 0 # 17 201 -25590 0 # 17 202 -25591 0 # 17 203 -25592 0 # 17 204 -25593 0 # 17 205 -25594 0 # 17 206 -25595 0 # 17 207 -25596 0 # 17 208 -25597 0 # 17 209 -25598 0 # 17 210 -25599 0 # 17 211 -25600 0 # 17 212 -25601 0 # 17 213 -25602 0 # 17 214 -25603 0 # 17 215 -25604 0 # 17 216 -25605 0 # 17 217 -25606 0 # 17 218 -25607 0 # 17 219 -25608 0 # 17 220 -25609 0 # 17 221 -25610 0 # 17 222 -25611 0 # 17 223 -25612 0 # 17 224 -25613 0 # 17 225 -25614 0 # 17 226 -25615 0 # 17 227 -25616 0 # 17 228 -25617 0 # 17 229 -25618 0 # 17 230 -25619 0 # 17 231 -25620 0 # 17 232 -25621 0 # 17 233 -25622 0 # 17 234 -25623 0 # 17 235 -25624 0 # 17 236 -25625 0 # 17 237 -25626 0 # 17 238 -25627 0 # 17 239 -25628 0 # 17 240 -25629 0 # 17 241 -25630 0 # 17 242 -25631 0 # 17 243 -25632 0 # 17 244 -25633 0 # 17 245 -25634 0 # 17 246 -25635 0 # 17 247 -25636 0 # 17 248 -25637 0 # 17 249 -25638 0 # 17 250 -25639 0 # 17 251 -25640 0 # 17 252 -25641 0 # 17 253 -25642 0 # 17 254 -25643 0 # 17 255 -25644 0 # 17 256 -25645 0 # 17 257 -25646 0 # 17 258 -25647 0 # 17 259 -25648 0 # 17 260 -25649 0 # 17 261 -25650 0 # 17 262 -25651 0 # 17 263 -25652 0 # 17 264 -25653 0 # 17 265 -25654 0 # 17 266 -25655 0 # 17 267 -25656 0 # 17 268 -25657 0 # 17 269 -25658 0 # 17 270 -25659 0 # 17 271 -25660 0 # 17 272 -25661 0 # 17 273 -25662 0 # 17 274 -25663 0 # 17 275 -25664 0 # 17 276 -25665 0 # 17 277 -25666 0 # 17 278 -25667 0 # 17 279 -25668 0 # 17 280 -25669 0 # 17 281 -25670 0 # 17 282 -25671 0 # 17 283 -25672 0 # 17 284 -25673 0 # 17 285 -25674 0 # 17 286 -25675 0 # 17 287 -25676 0 # 17 288 -25677 0 # 17 289 -25678 0 # 17 290 -25679 0 # 17 291 -25680 0 # 17 292 -25681 0 # 17 293 -25682 0 # 17 294 -25683 0 # 17 295 -25684 0 # 17 296 -25685 0 # 17 297 -25686 0 # 17 298 -25687 0 # 17 299 -25688 0 # 17 300 -25689 0 # 17 301 -25690 0 # 17 302 -25691 0 # 17 303 -25692 0 # 17 304 -25693 0 # 17 305 -25694 0 # 17 306 -25695 0 # 17 307 -25696 0 # 17 308 -25697 0 # 17 309 -25698 0 # 17 310 -25699 0 # 17 311 -25700 0 # 17 312 -25701 0 # 17 313 -25702 0 # 17 314 -25703 0 # 17 315 -25704 0 # 17 316 -25705 0 # 17 317 -25706 0 # 17 318 -25707 0 # 17 319 -25708 0 # 17 320 -25709 0 # 17 321 -25710 0 # 17 322 -25711 0 # 17 323 -25712 0 # 17 324 -25713 0 # 17 325 -25714 0 # 17 326 -25715 0 # 17 327 -25716 0 # 17 328 -25717 0 # 17 329 -25718 0 # 17 330 -25719 0 # 17 331 -25720 0 # 17 332 -25721 0 # 17 333 -25722 0 # 17 334 -25723 0 # 17 335 -25724 0 # 17 336 -25725 0 # 17 337 -25726 0 # 17 338 -25727 0 # 17 339 -25728 0 # 17 340 -25729 0 # 17 341 -25730 0 # 17 342 -25731 0 # 17 343 -25732 0 # 17 344 -25733 0 # 17 345 -25734 0 # 17 346 -25735 0 # 17 347 -25736 0 # 17 348 -25737 0 # 17 349 -25738 0 # 17 350 -25739 0 # 17 351 -25740 0 # 17 352 -25741 0 # 17 353 -25742 0 # 17 354 -25743 0 # 17 355 -25744 0 # 17 356 -25745 0 # 17 357 -25746 0 # 17 358 -25747 0 # 17 359 -25748 0 # 17 360 -25749 0 # 17 361 -25750 0 # 17 362 -25751 0 # 17 363 -25752 0 # 17 364 -25753 0 # 17 365 -25754 0 # 17 366 -25755 0 # 17 367 -25756 0 # 17 368 -25757 0 # 17 369 -25758 0 # 17 370 -25759 0 # 17 371 -25760 0 # 17 372 -25761 0 # 17 373 -25762 0 # 17 374 -25763 0 # 17 375 -25764 0 # 17 376 -25765 0 # 17 377 -25766 0 # 17 378 -25767 0 # 17 379 -25768 0 # 17 380 -25769 0 # 17 381 -25770 0 # 17 382 -25771 0 # 17 383 -25772 0 # 17 384 -25773 0 # 17 385 -25774 0 # 17 386 -25775 0 # 17 387 -25776 0 # 17 388 -25777 0 # 17 389 -25778 0 # 17 390 -25779 0 # 17 391 -25780 0 # 17 392 -25781 0 # 17 393 -25782 0 # 17 394 -25783 0 # 17 395 -25784 0 # 17 396 -25785 0 # 17 397 -25786 0 # 17 398 -25787 0 # 17 399 -25788 0 # 17 400 -25789 0 # 17 401 -25790 0 # 17 402 -25791 0 # 17 403 -25792 0 # 17 404 -25793 0 # 17 405 -25794 0 # 17 406 -25795 0 # 17 407 -25796 0 # 17 408 -25797 0 # 17 409 -25798 0 # 17 410 -25799 0 # 17 411 -25800 0 # 17 412 -25801 0 # 17 413 -25802 0 # 17 414 -25803 0 # 17 415 -25804 0 # 17 416 -25805 0 # 17 417 -25806 0 # 17 418 -25807 0 # 17 419 -25808 0 # 17 420 -25809 0 # 17 421 -25810 0 # 17 422 -25811 0 # 17 423 -25812 0 # 17 424 -25813 0 # 17 425 -25814 0 # 17 426 -25815 0 # 17 427 -25816 0 # 17 428 -25817 0 # 17 429 -25818 0 # 17 430 -25819 0 # 17 431 -25820 0 # 17 432 -25821 0 # 17 433 -25822 0 # 17 434 -25823 0 # 17 435 -25824 0 # 17 436 -25825 0 # 17 437 -25826 0 # 17 438 -25827 0 # 17 439 -25828 0 # 17 440 -25829 0 # 17 441 -25830 0 # 17 442 -25831 0 # 17 443 -25832 0 # 17 444 -25833 0 # 17 445 -25834 0 # 17 446 -25835 0 # 17 447 -25836 0 # 17 448 -25837 0 # 17 449 -25838 0 # 17 450 -25839 0 # 17 451 -25840 0 # 17 452 -25841 0 # 17 453 -25842 0 # 17 454 -25843 0 # 17 455 -25844 0 # 17 456 -25845 0 # 17 457 -25846 0 # 17 458 -25847 0 # 17 459 -25848 0 # 17 460 -25849 0 # 17 461 -25850 0 # 17 462 -25851 0 # 17 463 -25852 0 # 17 464 -25853 0 # 17 465 -25854 0 # 17 466 -25855 0 # 17 467 -25856 0 # 17 468 -25857 0 # 17 469 -25858 0 # 17 470 -25859 0 # 17 471 -25860 0 # 17 472 -25861 0 # 17 473 -25862 0 # 17 474 -25863 0 # 17 475 -25864 0 # 17 476 -25865 0 # 17 477 -25866 0 # 17 478 -25867 0 # 17 479 -25868 0 # 17 480 -25869 0 # 17 481 -25870 0 # 17 482 -25871 0 # 17 483 -25872 0 # 17 484 -25873 0 # 17 485 -25874 0 # 17 486 -25875 0 # 17 487 -25876 0 # 17 488 -25877 0 # 17 489 -25878 0 # 17 490 -25879 0 # 17 491 -25880 0 # 17 492 -25881 0 # 17 493 -25882 0 # 17 494 -25883 0 # 17 495 -25884 0 # 17 496 -25885 0 # 17 497 -25886 0 # 17 498 -25887 0 # 17 499 -25888 0 # 17 500 -25889 0 # 17 501 -25890 0 # 17 502 -25891 0 # 17 503 -25892 0 # 17 504 -25893 0 # 17 505 -25894 0 # 17 506 -25895 0 # 17 507 -25896 0 # 17 508 -25897 0 # 17 509 -25898 0 # 17 510 -25899 0 # 17 511 -25900 0 # 17 512 -25901 0 # 17 513 -25902 0 # 17 514 -25903 0 # 17 515 -25904 0 # 17 516 -25905 0 # 17 517 -25906 0 # 17 518 -25907 0 # 17 519 -25908 0 # 17 520 -25909 0 # 17 521 -25910 0 # 17 522 -25911 0 # 17 523 -25912 0 # 17 524 -25913 0 # 17 525 -25914 0 # 17 526 -25915 0 # 17 527 -25916 0 # 17 528 -25917 0 # 17 529 -25918 0 # 17 530 -25919 0 # 17 531 -25920 0 # 17 532 -25921 0 # 17 533 -25922 0 # 17 534 -25923 0 # 17 535 -25924 0 # 17 536 -25925 0 # 17 537 -25926 0 # 17 538 -25927 0 # 17 539 -25928 0 # 17 540 -25929 0 # 17 541 -25930 0 # 17 542 -25931 0 # 17 543 -25932 0 # 17 544 -25933 0 # 17 545 -25934 0 # 17 546 -25935 0 # 17 547 -25936 0 # 17 548 -25937 0 # 17 549 -25938 0 # 17 550 -25939 0 # 17 551 -25940 0 # 17 552 -25941 0 # 17 553 -25942 0 # 17 554 -25943 0 # 17 555 -25944 0 # 17 556 -25945 0 # 17 557 -25946 0 # 17 558 -25947 0 # 17 559 -25948 0 # 17 560 -25949 0 # 17 561 -25950 0 # 17 562 -25951 0 # 17 563 -25952 0 # 17 564 -25953 0 # 17 565 -25954 0 # 17 566 -25955 0 # 17 567 -25956 0 # 17 568 -25957 0 # 17 569 -25958 0 # 17 570 -25959 0 # 17 571 -25960 0 # 17 572 -25961 0 # 17 573 -25962 0 # 17 574 -25963 0 # 17 575 -25964 0 # 17 576 -25965 0 # 18 0 -25966 0 # 18 1 -25967 0 # 18 2 -25968 0 # 18 3 -25969 1 # 18 4 -25970 0 # 18 5 -25971 1 # 18 6 -25972 4 # 18 7 -25973 2 # 18 8 -25974 4 # 18 9 -25975 2 # 18 10 -25976 4 # 18 11 -25977 5 # 18 12 -25978 4 # 18 13 -25979 4 # 18 14 -25980 4 # 18 15 -25981 5 # 18 16 -25982 5 # 18 17 -25983 5 # 18 18 -25984 6 # 18 19 -25985 5 # 18 20 -25986 5 # 18 21 -25987 5 # 18 22 -25988 5 # 18 23 -25989 6 # 18 24 -25990 6 # 18 25 -25991 5 # 18 26 -25992 6 # 18 27 -25993 6 # 18 28 -25994 6 # 18 29 -25995 6 # 18 30 -25996 6 # 18 31 -25997 6 # 18 32 -25998 6 # 18 33 -25999 6 # 18 34 -26000 6 # 18 35 -26001 6 # 18 36 -26002 7 # 18 37 -26003 6 # 18 38 -26004 7 # 18 39 -26005 7 # 18 40 -26006 6 # 18 41 -26007 7 # 18 42 -26008 6 # 18 43 -26009 7 # 18 44 -26010 7 # 18 45 -26011 8 # 18 46 -26012 7 # 18 47 -26013 8 # 18 48 -26014 7 # 18 49 -26015 9 # 18 50 -26016 7 # 18 51 -26017 8 # 18 52 -26018 8 # 18 53 -26019 7 # 18 54 -26020 7 # 18 55 -26021 7 # 18 56 -26022 8 # 18 57 -26023 10 # 18 58 -26024 9 # 18 59 -26025 9 # 18 60 -26026 9 # 18 61 -26027 7 # 18 62 -26028 6 # 18 63 -26029 6 # 18 64 -26030 10 # 18 65 -26031 7 # 18 66 -26032 11 # 18 67 -26033 7 # 18 68 -26034 9 # 18 69 -26035 8 # 18 70 -26036 17 # 18 71 -26037 5 # 18 72 -26038 4 # 18 73 -26039 12 # 18 74 -26040 8 # 18 75 -26041 5 # 18 76 -26042 5 # 18 77 -26043 14 # 18 78 -26044 5 # 18 79 -26045 5 # 18 80 -26046 2 # 18 81 -26047 2 # 18 82 -26048 11 # 18 83 -26049 0 # 18 84 -26050 2 # 18 85 -26051 0 # 18 86 -26052 0 # 18 87 -26053 5 # 18 88 -26054 11 # 18 89 -26055 5 # 18 90 -26056 8 # 18 91 -26057 0 # 18 92 -26058 0 # 18 93 -26059 0 # 18 94 -26060 0 # 18 95 -26061 0 # 18 96 -26062 0 # 18 97 -26063 0 # 18 98 -26064 0 # 18 99 -26065 0 # 18 100 -26066 0 # 18 101 -26067 0 # 18 102 -26068 0 # 18 103 -26069 0 # 18 104 -26070 0 # 18 105 -26071 0 # 18 106 -26072 0 # 18 107 -26073 0 # 18 108 -26074 0 # 18 109 -26075 0 # 18 110 -26076 0 # 18 111 -26077 0 # 18 112 -26078 0 # 18 113 -26079 0 # 18 114 -26080 0 # 18 115 -26081 0 # 18 116 -26082 0 # 18 117 -26083 0 # 18 118 -26084 0 # 18 119 -26085 0 # 18 120 -26086 0 # 18 121 -26087 0 # 18 122 -26088 0 # 18 123 -26089 0 # 18 124 -26090 0 # 18 125 -26091 0 # 18 126 -26092 0 # 18 127 -26093 0 # 18 128 -26094 0 # 18 129 -26095 0 # 18 130 -26096 0 # 18 131 -26097 0 # 18 132 -26098 0 # 18 133 -26099 0 # 18 134 -26100 0 # 18 135 -26101 0 # 18 136 -26102 0 # 18 137 -26103 0 # 18 138 -26104 0 # 18 139 -26105 0 # 18 140 -26106 0 # 18 141 -26107 0 # 18 142 -26108 0 # 18 143 -26109 0 # 18 144 -26110 0 # 18 145 -26111 0 # 18 146 -26112 0 # 18 147 -26113 0 # 18 148 -26114 0 # 18 149 -26115 0 # 18 150 -26116 0 # 18 151 -26117 0 # 18 152 -26118 0 # 18 153 -26119 0 # 18 154 -26120 0 # 18 155 -26121 0 # 18 156 -26122 0 # 18 157 -26123 0 # 18 158 -26124 0 # 18 159 -26125 0 # 18 160 -26126 0 # 18 161 -26127 0 # 18 162 -26128 0 # 18 163 -26129 0 # 18 164 -26130 0 # 18 165 -26131 0 # 18 166 -26132 0 # 18 167 -26133 0 # 18 168 -26134 0 # 18 169 -26135 0 # 18 170 -26136 0 # 18 171 -26137 0 # 18 172 -26138 0 # 18 173 -26139 0 # 18 174 -26140 0 # 18 175 -26141 0 # 18 176 -26142 0 # 18 177 -26143 0 # 18 178 -26144 0 # 18 179 -26145 0 # 18 180 -26146 0 # 18 181 -26147 0 # 18 182 -26148 0 # 18 183 -26149 0 # 18 184 -26150 0 # 18 185 -26151 0 # 18 186 -26152 0 # 18 187 -26153 0 # 18 188 -26154 0 # 18 189 -26155 0 # 18 190 -26156 0 # 18 191 -26157 0 # 18 192 -26158 0 # 18 193 -26159 0 # 18 194 -26160 0 # 18 195 -26161 0 # 18 196 -26162 0 # 18 197 -26163 0 # 18 198 -26164 0 # 18 199 -26165 0 # 18 200 -26166 0 # 18 201 -26167 0 # 18 202 -26168 0 # 18 203 -26169 0 # 18 204 -26170 0 # 18 205 -26171 0 # 18 206 -26172 0 # 18 207 -26173 0 # 18 208 -26174 0 # 18 209 -26175 0 # 18 210 -26176 0 # 18 211 -26177 0 # 18 212 -26178 0 # 18 213 -26179 0 # 18 214 -26180 0 # 18 215 -26181 0 # 18 216 -26182 0 # 18 217 -26183 0 # 18 218 -26184 0 # 18 219 -26185 0 # 18 220 -26186 0 # 18 221 -26187 0 # 18 222 -26188 0 # 18 223 -26189 0 # 18 224 -26190 0 # 18 225 -26191 0 # 18 226 -26192 0 # 18 227 -26193 0 # 18 228 -26194 0 # 18 229 -26195 0 # 18 230 -26196 0 # 18 231 -26197 0 # 18 232 -26198 0 # 18 233 -26199 0 # 18 234 -26200 0 # 18 235 -26201 0 # 18 236 -26202 0 # 18 237 -26203 0 # 18 238 -26204 0 # 18 239 -26205 0 # 18 240 -26206 0 # 18 241 -26207 0 # 18 242 -26208 0 # 18 243 -26209 0 # 18 244 -26210 0 # 18 245 -26211 0 # 18 246 -26212 0 # 18 247 -26213 0 # 18 248 -26214 0 # 18 249 -26215 0 # 18 250 -26216 0 # 18 251 -26217 0 # 18 252 -26218 0 # 18 253 -26219 0 # 18 254 -26220 0 # 18 255 -26221 0 # 18 256 -26222 0 # 18 257 -26223 0 # 18 258 -26224 0 # 18 259 -26225 0 # 18 260 -26226 0 # 18 261 -26227 0 # 18 262 -26228 0 # 18 263 -26229 0 # 18 264 -26230 0 # 18 265 -26231 0 # 18 266 -26232 0 # 18 267 -26233 0 # 18 268 -26234 0 # 18 269 -26235 0 # 18 270 -26236 0 # 18 271 -26237 0 # 18 272 -26238 0 # 18 273 -26239 0 # 18 274 -26240 0 # 18 275 -26241 0 # 18 276 -26242 0 # 18 277 -26243 0 # 18 278 -26244 0 # 18 279 -26245 0 # 18 280 -26246 0 # 18 281 -26247 0 # 18 282 -26248 0 # 18 283 -26249 0 # 18 284 -26250 0 # 18 285 -26251 0 # 18 286 -26252 0 # 18 287 -26253 0 # 18 288 -26254 0 # 18 289 -26255 0 # 18 290 -26256 0 # 18 291 -26257 0 # 18 292 -26258 0 # 18 293 -26259 0 # 18 294 -26260 0 # 18 295 -26261 0 # 18 296 -26262 0 # 18 297 -26263 0 # 18 298 -26264 0 # 18 299 -26265 0 # 18 300 -26266 0 # 18 301 -26267 0 # 18 302 -26268 0 # 18 303 -26269 0 # 18 304 -26270 0 # 18 305 -26271 0 # 18 306 -26272 0 # 18 307 -26273 0 # 18 308 -26274 0 # 18 309 -26275 0 # 18 310 -26276 0 # 18 311 -26277 0 # 18 312 -26278 0 # 18 313 -26279 0 # 18 314 -26280 0 # 18 315 -26281 0 # 18 316 -26282 0 # 18 317 -26283 0 # 18 318 -26284 0 # 18 319 -26285 0 # 18 320 -26286 0 # 18 321 -26287 0 # 18 322 -26288 0 # 18 323 -26289 0 # 18 324 -26290 0 # 18 325 -26291 0 # 18 326 -26292 0 # 18 327 -26293 0 # 18 328 -26294 0 # 18 329 -26295 0 # 18 330 -26296 0 # 18 331 -26297 0 # 18 332 -26298 0 # 18 333 -26299 0 # 18 334 -26300 0 # 18 335 -26301 0 # 18 336 -26302 0 # 18 337 -26303 0 # 18 338 -26304 0 # 18 339 -26305 0 # 18 340 -26306 0 # 18 341 -26307 0 # 18 342 -26308 0 # 18 343 -26309 0 # 18 344 -26310 0 # 18 345 -26311 0 # 18 346 -26312 0 # 18 347 -26313 0 # 18 348 -26314 0 # 18 349 -26315 0 # 18 350 -26316 0 # 18 351 -26317 0 # 18 352 -26318 0 # 18 353 -26319 0 # 18 354 -26320 0 # 18 355 -26321 0 # 18 356 -26322 0 # 18 357 -26323 0 # 18 358 -26324 0 # 18 359 -26325 0 # 18 360 -26326 0 # 18 361 -26327 0 # 18 362 -26328 0 # 18 363 -26329 0 # 18 364 -26330 0 # 18 365 -26331 0 # 18 366 -26332 0 # 18 367 -26333 0 # 18 368 -26334 0 # 18 369 -26335 0 # 18 370 -26336 0 # 18 371 -26337 0 # 18 372 -26338 0 # 18 373 -26339 0 # 18 374 -26340 0 # 18 375 -26341 0 # 18 376 -26342 0 # 18 377 -26343 0 # 18 378 -26344 0 # 18 379 -26345 0 # 18 380 -26346 0 # 18 381 -26347 0 # 18 382 -26348 0 # 18 383 -26349 0 # 18 384 -26350 0 # 18 385 -26351 0 # 18 386 -26352 0 # 18 387 -26353 0 # 18 388 -26354 0 # 18 389 -26355 0 # 18 390 -26356 0 # 18 391 -26357 0 # 18 392 -26358 0 # 18 393 -26359 0 # 18 394 -26360 0 # 18 395 -26361 0 # 18 396 -26362 0 # 18 397 -26363 0 # 18 398 -26364 0 # 18 399 -26365 0 # 18 400 -26366 0 # 18 401 -26367 0 # 18 402 -26368 0 # 18 403 -26369 0 # 18 404 -26370 0 # 18 405 -26371 0 # 18 406 -26372 0 # 18 407 -26373 0 # 18 408 -26374 0 # 18 409 -26375 0 # 18 410 -26376 0 # 18 411 -26377 0 # 18 412 -26378 0 # 18 413 -26379 0 # 18 414 -26380 0 # 18 415 -26381 0 # 18 416 -26382 0 # 18 417 -26383 0 # 18 418 -26384 0 # 18 419 -26385 0 # 18 420 -26386 0 # 18 421 -26387 0 # 18 422 -26388 0 # 18 423 -26389 0 # 18 424 -26390 0 # 18 425 -26391 0 # 18 426 -26392 0 # 18 427 -26393 0 # 18 428 -26394 0 # 18 429 -26395 0 # 18 430 -26396 0 # 18 431 -26397 0 # 18 432 -26398 0 # 18 433 -26399 0 # 18 434 -26400 0 # 18 435 -26401 0 # 18 436 -26402 0 # 18 437 -26403 0 # 18 438 -26404 0 # 18 439 -26405 0 # 18 440 -26406 0 # 18 441 -26407 0 # 18 442 -26408 0 # 18 443 -26409 0 # 18 444 -26410 0 # 18 445 -26411 0 # 18 446 -26412 0 # 18 447 -26413 0 # 18 448 -26414 0 # 18 449 -26415 0 # 18 450 -26416 0 # 18 451 -26417 0 # 18 452 -26418 0 # 18 453 -26419 0 # 18 454 -26420 0 # 18 455 -26421 0 # 18 456 -26422 0 # 18 457 -26423 0 # 18 458 -26424 0 # 18 459 -26425 0 # 18 460 -26426 0 # 18 461 -26427 0 # 18 462 -26428 0 # 18 463 -26429 0 # 18 464 -26430 0 # 18 465 -26431 0 # 18 466 -26432 0 # 18 467 -26433 0 # 18 468 -26434 0 # 18 469 -26435 0 # 18 470 -26436 0 # 18 471 -26437 0 # 18 472 -26438 0 # 18 473 -26439 0 # 18 474 -26440 0 # 18 475 -26441 0 # 18 476 -26442 0 # 18 477 -26443 0 # 18 478 -26444 0 # 18 479 -26445 0 # 18 480 -26446 0 # 18 481 -26447 0 # 18 482 -26448 0 # 18 483 -26449 0 # 18 484 -26450 0 # 18 485 -26451 0 # 18 486 -26452 0 # 18 487 -26453 0 # 18 488 -26454 0 # 18 489 -26455 0 # 18 490 -26456 0 # 18 491 -26457 0 # 18 492 -26458 0 # 18 493 -26459 0 # 18 494 -26460 0 # 18 495 -26461 0 # 18 496 -26462 0 # 18 497 -26463 0 # 18 498 -26464 0 # 18 499 -26465 0 # 18 500 -26466 0 # 18 501 -26467 0 # 18 502 -26468 0 # 18 503 -26469 0 # 18 504 -26470 0 # 18 505 -26471 0 # 18 506 -26472 0 # 18 507 -26473 0 # 18 508 -26474 0 # 18 509 -26475 0 # 18 510 -26476 0 # 18 511 -26477 0 # 18 512 -26478 0 # 18 513 -26479 0 # 18 514 -26480 0 # 18 515 -26481 0 # 18 516 -26482 0 # 18 517 -26483 0 # 18 518 -26484 0 # 18 519 -26485 0 # 18 520 -26486 0 # 18 521 -26487 0 # 18 522 -26488 0 # 18 523 -26489 0 # 18 524 -26490 0 # 18 525 -26491 0 # 18 526 -26492 0 # 18 527 -26493 0 # 18 528 -26494 0 # 18 529 -26495 0 # 18 530 -26496 0 # 18 531 -26497 0 # 18 532 -26498 0 # 18 533 -26499 0 # 18 534 -26500 0 # 18 535 -26501 0 # 18 536 -26502 0 # 18 537 -26503 0 # 18 538 -26504 0 # 18 539 -26505 0 # 18 540 -26506 0 # 18 541 -26507 0 # 18 542 -26508 0 # 18 543 -26509 0 # 18 544 -26510 0 # 18 545 -26511 0 # 18 546 -26512 0 # 18 547 -26513 0 # 18 548 -26514 0 # 18 549 -26515 0 # 18 550 -26516 0 # 18 551 -26517 0 # 18 552 -26518 0 # 18 553 -26519 0 # 18 554 -26520 0 # 18 555 -26521 0 # 18 556 -26522 0 # 18 557 -26523 0 # 18 558 -26524 0 # 18 559 -26525 0 # 18 560 -26526 0 # 18 561 -26527 0 # 18 562 -26528 0 # 18 563 -26529 0 # 18 564 -26530 0 # 18 565 -26531 0 # 18 566 -26532 0 # 18 567 -26533 0 # 18 568 -26534 0 # 18 569 -26535 0 # 18 570 -26536 0 # 18 571 -26537 0 # 18 572 -26538 0 # 18 573 -26539 0 # 18 574 -26540 0 # 18 575 -26541 0 # 18 576 -26542 0 # 19 0 -26543 0 # 19 1 -26544 0 # 19 2 -26545 0 # 19 3 -26546 1 # 19 4 -26547 0 # 19 5 -26548 4 # 19 6 -26549 4 # 19 7 -26550 2 # 19 8 -26551 3 # 19 9 -26552 4 # 19 10 -26553 4 # 19 11 -26554 4 # 19 12 -26555 4 # 19 13 -26556 4 # 19 14 -26557 3 # 19 15 -26558 4 # 19 16 -26559 4 # 19 17 -26560 4 # 19 18 -26561 5 # 19 19 -26562 5 # 19 20 -26563 4 # 19 21 -26564 5 # 19 22 -26565 5 # 19 23 -26566 5 # 19 24 -26567 5 # 19 25 -26568 5 # 19 26 -26569 5 # 19 27 -26570 5 # 19 28 -26571 5 # 19 29 -26572 5 # 19 30 -26573 6 # 19 31 -26574 5 # 19 32 -26575 6 # 19 33 -26576 6 # 19 34 -26577 5 # 19 35 -26578 6 # 19 36 -26579 6 # 19 37 -26580 6 # 19 38 -26581 7 # 19 39 -26582 6 # 19 40 -26583 6 # 19 41 -26584 6 # 19 42 -26585 6 # 19 43 -26586 6 # 19 44 -26587 7 # 19 45 -26588 7 # 19 46 -26589 6 # 19 47 -26590 8 # 19 48 -26591 6 # 19 49 -26592 8 # 19 50 -26593 7 # 19 51 -26594 7 # 19 52 -26595 7 # 19 53 -26596 7 # 19 54 -26597 8 # 19 55 -26598 6 # 19 56 -26599 8 # 19 57 -26600 9 # 19 58 -26601 8 # 19 59 -26602 10 # 19 60 -26603 8 # 19 61 -26604 6 # 19 62 -26605 6 # 19 63 -26606 5 # 19 64 -26607 10 # 19 65 -26608 5 # 19 66 -26609 7 # 19 67 -26610 7 # 19 68 -26611 7 # 19 69 -26612 8 # 19 70 -26613 11 # 19 71 -26614 7 # 19 72 -26615 4 # 19 73 -26616 8 # 19 74 -26617 3 # 19 75 -26618 4 # 19 76 -26619 10 # 19 77 -26620 15 # 19 78 -26621 11 # 19 79 -26622 5 # 19 80 -26623 1 # 19 81 -26624 2 # 19 82 -26625 9 # 19 83 -26626 0 # 19 84 -26627 2 # 19 85 -26628 0 # 19 86 -26629 0 # 19 87 -26630 1 # 19 88 -26631 9 # 19 89 -26632 5 # 19 90 -26633 5 # 19 91 -26634 0 # 19 92 -26635 0 # 19 93 -26636 0 # 19 94 -26637 0 # 19 95 -26638 0 # 19 96 -26639 0 # 19 97 -26640 0 # 19 98 -26641 0 # 19 99 -26642 0 # 19 100 -26643 0 # 19 101 -26644 0 # 19 102 -26645 0 # 19 103 -26646 0 # 19 104 -26647 0 # 19 105 -26648 0 # 19 106 -26649 0 # 19 107 -26650 0 # 19 108 -26651 0 # 19 109 -26652 0 # 19 110 -26653 0 # 19 111 -26654 0 # 19 112 -26655 0 # 19 113 -26656 0 # 19 114 -26657 0 # 19 115 -26658 0 # 19 116 -26659 0 # 19 117 -26660 0 # 19 118 -26661 0 # 19 119 -26662 0 # 19 120 -26663 0 # 19 121 -26664 0 # 19 122 -26665 0 # 19 123 -26666 0 # 19 124 -26667 0 # 19 125 -26668 0 # 19 126 -26669 0 # 19 127 -26670 0 # 19 128 -26671 0 # 19 129 -26672 0 # 19 130 -26673 0 # 19 131 -26674 0 # 19 132 -26675 0 # 19 133 -26676 0 # 19 134 -26677 0 # 19 135 -26678 0 # 19 136 -26679 0 # 19 137 -26680 0 # 19 138 -26681 0 # 19 139 -26682 0 # 19 140 -26683 0 # 19 141 -26684 0 # 19 142 -26685 0 # 19 143 -26686 0 # 19 144 -26687 0 # 19 145 -26688 0 # 19 146 -26689 0 # 19 147 -26690 0 # 19 148 -26691 0 # 19 149 -26692 0 # 19 150 -26693 0 # 19 151 -26694 0 # 19 152 -26695 0 # 19 153 -26696 0 # 19 154 -26697 0 # 19 155 -26698 0 # 19 156 -26699 0 # 19 157 -26700 0 # 19 158 -26701 0 # 19 159 -26702 0 # 19 160 -26703 0 # 19 161 -26704 0 # 19 162 -26705 0 # 19 163 -26706 0 # 19 164 -26707 0 # 19 165 -26708 0 # 19 166 -26709 0 # 19 167 -26710 0 # 19 168 -26711 0 # 19 169 -26712 0 # 19 170 -26713 0 # 19 171 -26714 0 # 19 172 -26715 0 # 19 173 -26716 0 # 19 174 -26717 0 # 19 175 -26718 0 # 19 176 -26719 0 # 19 177 -26720 0 # 19 178 -26721 0 # 19 179 -26722 0 # 19 180 -26723 0 # 19 181 -26724 0 # 19 182 -26725 0 # 19 183 -26726 0 # 19 184 -26727 0 # 19 185 -26728 0 # 19 186 -26729 0 # 19 187 -26730 0 # 19 188 -26731 0 # 19 189 -26732 0 # 19 190 -26733 0 # 19 191 -26734 0 # 19 192 -26735 0 # 19 193 -26736 0 # 19 194 -26737 0 # 19 195 -26738 0 # 19 196 -26739 0 # 19 197 -26740 0 # 19 198 -26741 0 # 19 199 -26742 0 # 19 200 -26743 0 # 19 201 -26744 0 # 19 202 -26745 0 # 19 203 -26746 0 # 19 204 -26747 0 # 19 205 -26748 0 # 19 206 -26749 0 # 19 207 -26750 0 # 19 208 -26751 0 # 19 209 -26752 0 # 19 210 -26753 0 # 19 211 -26754 0 # 19 212 -26755 0 # 19 213 -26756 0 # 19 214 -26757 0 # 19 215 -26758 0 # 19 216 -26759 0 # 19 217 -26760 0 # 19 218 -26761 0 # 19 219 -26762 0 # 19 220 -26763 0 # 19 221 -26764 0 # 19 222 -26765 0 # 19 223 -26766 0 # 19 224 -26767 0 # 19 225 -26768 0 # 19 226 -26769 0 # 19 227 -26770 0 # 19 228 -26771 0 # 19 229 -26772 0 # 19 230 -26773 0 # 19 231 -26774 0 # 19 232 -26775 0 # 19 233 -26776 0 # 19 234 -26777 0 # 19 235 -26778 0 # 19 236 -26779 0 # 19 237 -26780 0 # 19 238 -26781 0 # 19 239 -26782 0 # 19 240 -26783 0 # 19 241 -26784 0 # 19 242 -26785 0 # 19 243 -26786 0 # 19 244 -26787 0 # 19 245 -26788 0 # 19 246 -26789 0 # 19 247 -26790 0 # 19 248 -26791 0 # 19 249 -26792 0 # 19 250 -26793 0 # 19 251 -26794 0 # 19 252 -26795 0 # 19 253 -26796 0 # 19 254 -26797 0 # 19 255 -26798 0 # 19 256 -26799 0 # 19 257 -26800 0 # 19 258 -26801 0 # 19 259 -26802 0 # 19 260 -26803 0 # 19 261 -26804 0 # 19 262 -26805 0 # 19 263 -26806 0 # 19 264 -26807 0 # 19 265 -26808 0 # 19 266 -26809 0 # 19 267 -26810 0 # 19 268 -26811 0 # 19 269 -26812 0 # 19 270 -26813 0 # 19 271 -26814 0 # 19 272 -26815 0 # 19 273 -26816 0 # 19 274 -26817 0 # 19 275 -26818 0 # 19 276 -26819 0 # 19 277 -26820 0 # 19 278 -26821 0 # 19 279 -26822 0 # 19 280 -26823 0 # 19 281 -26824 0 # 19 282 -26825 0 # 19 283 -26826 0 # 19 284 -26827 0 # 19 285 -26828 0 # 19 286 -26829 0 # 19 287 -26830 0 # 19 288 -26831 0 # 19 289 -26832 0 # 19 290 -26833 0 # 19 291 -26834 0 # 19 292 -26835 0 # 19 293 -26836 0 # 19 294 -26837 0 # 19 295 -26838 0 # 19 296 -26839 0 # 19 297 -26840 0 # 19 298 -26841 0 # 19 299 -26842 0 # 19 300 -26843 0 # 19 301 -26844 0 # 19 302 -26845 0 # 19 303 -26846 0 # 19 304 -26847 0 # 19 305 -26848 0 # 19 306 -26849 0 # 19 307 -26850 0 # 19 308 -26851 0 # 19 309 -26852 0 # 19 310 -26853 0 # 19 311 -26854 0 # 19 312 -26855 0 # 19 313 -26856 0 # 19 314 -26857 0 # 19 315 -26858 0 # 19 316 -26859 0 # 19 317 -26860 0 # 19 318 -26861 0 # 19 319 -26862 0 # 19 320 -26863 0 # 19 321 -26864 0 # 19 322 -26865 0 # 19 323 -26866 0 # 19 324 -26867 0 # 19 325 -26868 0 # 19 326 -26869 0 # 19 327 -26870 0 # 19 328 -26871 0 # 19 329 -26872 0 # 19 330 -26873 0 # 19 331 -26874 0 # 19 332 -26875 0 # 19 333 -26876 0 # 19 334 -26877 0 # 19 335 -26878 0 # 19 336 -26879 0 # 19 337 -26880 0 # 19 338 -26881 0 # 19 339 -26882 0 # 19 340 -26883 0 # 19 341 -26884 0 # 19 342 -26885 0 # 19 343 -26886 0 # 19 344 -26887 0 # 19 345 -26888 0 # 19 346 -26889 0 # 19 347 -26890 0 # 19 348 -26891 0 # 19 349 -26892 0 # 19 350 -26893 0 # 19 351 -26894 0 # 19 352 -26895 0 # 19 353 -26896 0 # 19 354 -26897 0 # 19 355 -26898 0 # 19 356 -26899 0 # 19 357 -26900 0 # 19 358 -26901 0 # 19 359 -26902 0 # 19 360 -26903 0 # 19 361 -26904 0 # 19 362 -26905 0 # 19 363 -26906 0 # 19 364 -26907 0 # 19 365 -26908 0 # 19 366 -26909 0 # 19 367 -26910 0 # 19 368 -26911 0 # 19 369 -26912 0 # 19 370 -26913 0 # 19 371 -26914 0 # 19 372 -26915 0 # 19 373 -26916 0 # 19 374 -26917 0 # 19 375 -26918 0 # 19 376 -26919 0 # 19 377 -26920 0 # 19 378 -26921 0 # 19 379 -26922 0 # 19 380 -26923 0 # 19 381 -26924 0 # 19 382 -26925 0 # 19 383 -26926 0 # 19 384 -26927 0 # 19 385 -26928 0 # 19 386 -26929 0 # 19 387 -26930 0 # 19 388 -26931 0 # 19 389 -26932 0 # 19 390 -26933 0 # 19 391 -26934 0 # 19 392 -26935 0 # 19 393 -26936 0 # 19 394 -26937 0 # 19 395 -26938 0 # 19 396 -26939 0 # 19 397 -26940 0 # 19 398 -26941 0 # 19 399 -26942 0 # 19 400 -26943 0 # 19 401 -26944 0 # 19 402 -26945 0 # 19 403 -26946 0 # 19 404 -26947 0 # 19 405 -26948 0 # 19 406 -26949 0 # 19 407 -26950 0 # 19 408 -26951 0 # 19 409 -26952 0 # 19 410 -26953 0 # 19 411 -26954 0 # 19 412 -26955 0 # 19 413 -26956 0 # 19 414 -26957 0 # 19 415 -26958 0 # 19 416 -26959 0 # 19 417 -26960 0 # 19 418 -26961 0 # 19 419 -26962 0 # 19 420 -26963 0 # 19 421 -26964 0 # 19 422 -26965 0 # 19 423 -26966 0 # 19 424 -26967 0 # 19 425 -26968 0 # 19 426 -26969 0 # 19 427 -26970 0 # 19 428 -26971 0 # 19 429 -26972 0 # 19 430 -26973 0 # 19 431 -26974 0 # 19 432 -26975 0 # 19 433 -26976 0 # 19 434 -26977 0 # 19 435 -26978 0 # 19 436 -26979 0 # 19 437 -26980 0 # 19 438 -26981 0 # 19 439 -26982 0 # 19 440 -26983 0 # 19 441 -26984 0 # 19 442 -26985 0 # 19 443 -26986 0 # 19 444 -26987 0 # 19 445 -26988 0 # 19 446 -26989 0 # 19 447 -26990 0 # 19 448 -26991 0 # 19 449 -26992 0 # 19 450 -26993 0 # 19 451 -26994 0 # 19 452 -26995 0 # 19 453 -26996 0 # 19 454 -26997 0 # 19 455 -26998 0 # 19 456 -26999 0 # 19 457 -27000 0 # 19 458 -27001 0 # 19 459 -27002 0 # 19 460 -27003 0 # 19 461 -27004 0 # 19 462 -27005 0 # 19 463 -27006 0 # 19 464 -27007 0 # 19 465 -27008 0 # 19 466 -27009 0 # 19 467 -27010 0 # 19 468 -27011 0 # 19 469 -27012 0 # 19 470 -27013 0 # 19 471 -27014 0 # 19 472 -27015 0 # 19 473 -27016 0 # 19 474 -27017 0 # 19 475 -27018 0 # 19 476 -27019 0 # 19 477 -27020 0 # 19 478 -27021 0 # 19 479 -27022 0 # 19 480 -27023 0 # 19 481 -27024 0 # 19 482 -27025 0 # 19 483 -27026 0 # 19 484 -27027 0 # 19 485 -27028 0 # 19 486 -27029 0 # 19 487 -27030 0 # 19 488 -27031 0 # 19 489 -27032 0 # 19 490 -27033 0 # 19 491 -27034 0 # 19 492 -27035 0 # 19 493 -27036 0 # 19 494 -27037 0 # 19 495 -27038 0 # 19 496 -27039 0 # 19 497 -27040 0 # 19 498 -27041 0 # 19 499 -27042 0 # 19 500 -27043 0 # 19 501 -27044 0 # 19 502 -27045 0 # 19 503 -27046 0 # 19 504 -27047 0 # 19 505 -27048 0 # 19 506 -27049 0 # 19 507 -27050 0 # 19 508 -27051 0 # 19 509 -27052 0 # 19 510 -27053 0 # 19 511 -27054 0 # 19 512 -27055 0 # 19 513 -27056 0 # 19 514 -27057 0 # 19 515 -27058 0 # 19 516 -27059 0 # 19 517 -27060 0 # 19 518 -27061 0 # 19 519 -27062 0 # 19 520 -27063 0 # 19 521 -27064 0 # 19 522 -27065 0 # 19 523 -27066 0 # 19 524 -27067 0 # 19 525 -27068 0 # 19 526 -27069 0 # 19 527 -27070 0 # 19 528 -27071 0 # 19 529 -27072 0 # 19 530 -27073 0 # 19 531 -27074 0 # 19 532 -27075 0 # 19 533 -27076 0 # 19 534 -27077 0 # 19 535 -27078 0 # 19 536 -27079 0 # 19 537 -27080 0 # 19 538 -27081 0 # 19 539 -27082 0 # 19 540 -27083 0 # 19 541 -27084 0 # 19 542 -27085 0 # 19 543 -27086 0 # 19 544 -27087 0 # 19 545 -27088 0 # 19 546 -27089 0 # 19 547 -27090 0 # 19 548 -27091 0 # 19 549 -27092 0 # 19 550 -27093 0 # 19 551 -27094 0 # 19 552 -27095 0 # 19 553 -27096 0 # 19 554 -27097 0 # 19 555 -27098 0 # 19 556 -27099 0 # 19 557 -27100 0 # 19 558 -27101 0 # 19 559 -27102 0 # 19 560 -27103 0 # 19 561 -27104 0 # 19 562 -27105 0 # 19 563 -27106 0 # 19 564 -27107 0 # 19 565 -27108 0 # 19 566 -27109 0 # 19 567 -27110 0 # 19 568 -27111 0 # 19 569 -27112 0 # 19 570 -27113 0 # 19 571 -27114 0 # 19 572 -27115 0 # 19 573 -27116 0 # 19 574 -27117 0 # 19 575 -27118 0 # 19 576 -27119 0 # 20 0 -27120 0 # 20 1 -27121 0 # 20 2 -27122 0 # 20 3 -27123 1 # 20 4 -27124 0 # 20 5 -27125 4 # 20 6 -27126 1 # 20 7 -27127 3 # 20 8 -27128 4 # 20 9 -27129 4 # 20 10 -27130 3 # 20 11 -27131 4 # 20 12 -27132 4 # 20 13 -27133 4 # 20 14 -27134 3 # 20 15 -27135 4 # 20 16 -27136 5 # 20 17 -27137 4 # 20 18 -27138 4 # 20 19 -27139 5 # 20 20 -27140 5 # 20 21 -27141 5 # 20 22 -27142 5 # 20 23 -27143 5 # 20 24 -27144 5 # 20 25 -27145 5 # 20 26 -27146 5 # 20 27 -27147 5 # 20 28 -27148 5 # 20 29 -27149 5 # 20 30 -27150 6 # 20 31 -27151 5 # 20 32 -27152 5 # 20 33 -27153 5 # 20 34 -27154 6 # 20 35 -27155 6 # 20 36 -27156 6 # 20 37 -27157 6 # 20 38 -27158 6 # 20 39 -27159 6 # 20 40 -27160 6 # 20 41 -27161 7 # 20 42 -27162 6 # 20 43 -27163 6 # 20 44 -27164 7 # 20 45 -27165 7 # 20 46 -27166 7 # 20 47 -27167 7 # 20 48 -27168 7 # 20 49 -27169 8 # 20 50 -27170 7 # 20 51 -27171 7 # 20 52 -27172 7 # 20 53 -27173 6 # 20 54 -27174 7 # 20 55 -27175 7 # 20 56 -27176 8 # 20 57 -27177 9 # 20 58 -27178 8 # 20 59 -27179 10 # 20 60 -27180 7 # 20 61 -27181 9 # 20 62 -27182 7 # 20 63 -27183 7 # 20 64 -27184 9 # 20 65 -27185 8 # 20 66 -27186 8 # 20 67 -27187 6 # 20 68 -27188 9 # 20 69 -27189 8 # 20 70 -27190 14 # 20 71 -27191 6 # 20 72 -27192 5 # 20 73 -27193 8 # 20 74 -27194 7 # 20 75 -27195 9 # 20 76 -27196 8 # 20 77 -27197 16 # 20 78 -27198 11 # 20 79 -27199 5 # 20 80 -27200 3 # 20 81 -27201 3 # 20 82 -27202 5 # 20 83 -27203 0 # 20 84 -27204 0 # 20 85 -27205 0 # 20 86 -27206 0 # 20 87 -27207 5 # 20 88 -27208 9 # 20 89 -27209 10 # 20 90 -27210 8 # 20 91 -27211 0 # 20 92 -27212 0 # 20 93 -27213 0 # 20 94 -27214 0 # 20 95 -27215 0 # 20 96 -27216 0 # 20 97 -27217 0 # 20 98 -27218 0 # 20 99 -27219 0 # 20 100 -27220 0 # 20 101 -27221 0 # 20 102 -27222 0 # 20 103 -27223 0 # 20 104 -27224 0 # 20 105 -27225 0 # 20 106 -27226 0 # 20 107 -27227 0 # 20 108 -27228 0 # 20 109 -27229 0 # 20 110 -27230 0 # 20 111 -27231 0 # 20 112 -27232 0 # 20 113 -27233 0 # 20 114 -27234 0 # 20 115 -27235 0 # 20 116 -27236 0 # 20 117 -27237 0 # 20 118 -27238 0 # 20 119 -27239 0 # 20 120 -27240 0 # 20 121 -27241 0 # 20 122 -27242 0 # 20 123 -27243 0 # 20 124 -27244 0 # 20 125 -27245 0 # 20 126 -27246 0 # 20 127 -27247 0 # 20 128 -27248 0 # 20 129 -27249 0 # 20 130 -27250 0 # 20 131 -27251 0 # 20 132 -27252 0 # 20 133 -27253 0 # 20 134 -27254 0 # 20 135 -27255 0 # 20 136 -27256 0 # 20 137 -27257 0 # 20 138 -27258 0 # 20 139 -27259 0 # 20 140 -27260 0 # 20 141 -27261 0 # 20 142 -27262 0 # 20 143 -27263 0 # 20 144 -27264 0 # 20 145 -27265 0 # 20 146 -27266 0 # 20 147 -27267 0 # 20 148 -27268 0 # 20 149 -27269 0 # 20 150 -27270 0 # 20 151 -27271 0 # 20 152 -27272 0 # 20 153 -27273 0 # 20 154 -27274 0 # 20 155 -27275 0 # 20 156 -27276 0 # 20 157 -27277 0 # 20 158 -27278 0 # 20 159 -27279 0 # 20 160 -27280 0 # 20 161 -27281 0 # 20 162 -27282 0 # 20 163 -27283 0 # 20 164 -27284 0 # 20 165 -27285 0 # 20 166 -27286 0 # 20 167 -27287 0 # 20 168 -27288 0 # 20 169 -27289 0 # 20 170 -27290 0 # 20 171 -27291 0 # 20 172 -27292 0 # 20 173 -27293 0 # 20 174 -27294 0 # 20 175 -27295 0 # 20 176 -27296 0 # 20 177 -27297 0 # 20 178 -27298 0 # 20 179 -27299 0 # 20 180 -27300 0 # 20 181 -27301 0 # 20 182 -27302 0 # 20 183 -27303 0 # 20 184 -27304 0 # 20 185 -27305 0 # 20 186 -27306 0 # 20 187 -27307 0 # 20 188 -27308 0 # 20 189 -27309 0 # 20 190 -27310 0 # 20 191 -27311 0 # 20 192 -27312 0 # 20 193 -27313 0 # 20 194 -27314 0 # 20 195 -27315 0 # 20 196 -27316 0 # 20 197 -27317 0 # 20 198 -27318 0 # 20 199 -27319 0 # 20 200 -27320 0 # 20 201 -27321 0 # 20 202 -27322 0 # 20 203 -27323 0 # 20 204 -27324 0 # 20 205 -27325 0 # 20 206 -27326 0 # 20 207 -27327 0 # 20 208 -27328 0 # 20 209 -27329 0 # 20 210 -27330 0 # 20 211 -27331 0 # 20 212 -27332 0 # 20 213 -27333 0 # 20 214 -27334 0 # 20 215 -27335 0 # 20 216 -27336 0 # 20 217 -27337 0 # 20 218 -27338 0 # 20 219 -27339 0 # 20 220 -27340 0 # 20 221 -27341 0 # 20 222 -27342 0 # 20 223 -27343 0 # 20 224 -27344 0 # 20 225 -27345 0 # 20 226 -27346 0 # 20 227 -27347 0 # 20 228 -27348 0 # 20 229 -27349 0 # 20 230 -27350 0 # 20 231 -27351 0 # 20 232 -27352 0 # 20 233 -27353 0 # 20 234 -27354 0 # 20 235 -27355 0 # 20 236 -27356 0 # 20 237 -27357 0 # 20 238 -27358 0 # 20 239 -27359 0 # 20 240 -27360 0 # 20 241 -27361 0 # 20 242 -27362 0 # 20 243 -27363 0 # 20 244 -27364 0 # 20 245 -27365 0 # 20 246 -27366 0 # 20 247 -27367 0 # 20 248 -27368 0 # 20 249 -27369 0 # 20 250 -27370 0 # 20 251 -27371 0 # 20 252 -27372 0 # 20 253 -27373 0 # 20 254 -27374 0 # 20 255 -27375 0 # 20 256 -27376 0 # 20 257 -27377 0 # 20 258 -27378 0 # 20 259 -27379 0 # 20 260 -27380 0 # 20 261 -27381 0 # 20 262 -27382 0 # 20 263 -27383 0 # 20 264 -27384 0 # 20 265 -27385 0 # 20 266 -27386 0 # 20 267 -27387 0 # 20 268 -27388 0 # 20 269 -27389 0 # 20 270 -27390 0 # 20 271 -27391 0 # 20 272 -27392 0 # 20 273 -27393 0 # 20 274 -27394 0 # 20 275 -27395 0 # 20 276 -27396 0 # 20 277 -27397 0 # 20 278 -27398 0 # 20 279 -27399 0 # 20 280 -27400 0 # 20 281 -27401 0 # 20 282 -27402 0 # 20 283 -27403 0 # 20 284 -27404 0 # 20 285 -27405 0 # 20 286 -27406 0 # 20 287 -27407 0 # 20 288 -27408 0 # 20 289 -27409 0 # 20 290 -27410 0 # 20 291 -27411 0 # 20 292 -27412 0 # 20 293 -27413 0 # 20 294 -27414 0 # 20 295 -27415 0 # 20 296 -27416 0 # 20 297 -27417 0 # 20 298 -27418 0 # 20 299 -27419 0 # 20 300 -27420 0 # 20 301 -27421 0 # 20 302 -27422 0 # 20 303 -27423 0 # 20 304 -27424 0 # 20 305 -27425 0 # 20 306 -27426 0 # 20 307 -27427 0 # 20 308 -27428 0 # 20 309 -27429 0 # 20 310 -27430 0 # 20 311 -27431 0 # 20 312 -27432 0 # 20 313 -27433 0 # 20 314 -27434 0 # 20 315 -27435 0 # 20 316 -27436 0 # 20 317 -27437 0 # 20 318 -27438 0 # 20 319 -27439 0 # 20 320 -27440 0 # 20 321 -27441 0 # 20 322 -27442 0 # 20 323 -27443 0 # 20 324 -27444 0 # 20 325 -27445 0 # 20 326 -27446 0 # 20 327 -27447 0 # 20 328 -27448 0 # 20 329 -27449 0 # 20 330 -27450 0 # 20 331 -27451 0 # 20 332 -27452 0 # 20 333 -27453 0 # 20 334 -27454 0 # 20 335 -27455 0 # 20 336 -27456 0 # 20 337 -27457 0 # 20 338 -27458 0 # 20 339 -27459 0 # 20 340 -27460 0 # 20 341 -27461 0 # 20 342 -27462 0 # 20 343 -27463 0 # 20 344 -27464 0 # 20 345 -27465 0 # 20 346 -27466 0 # 20 347 -27467 0 # 20 348 -27468 0 # 20 349 -27469 0 # 20 350 -27470 0 # 20 351 -27471 0 # 20 352 -27472 0 # 20 353 -27473 0 # 20 354 -27474 0 # 20 355 -27475 0 # 20 356 -27476 0 # 20 357 -27477 0 # 20 358 -27478 0 # 20 359 -27479 0 # 20 360 -27480 0 # 20 361 -27481 0 # 20 362 -27482 0 # 20 363 -27483 0 # 20 364 -27484 0 # 20 365 -27485 0 # 20 366 -27486 0 # 20 367 -27487 0 # 20 368 -27488 0 # 20 369 -27489 0 # 20 370 -27490 0 # 20 371 -27491 0 # 20 372 -27492 0 # 20 373 -27493 0 # 20 374 -27494 0 # 20 375 -27495 0 # 20 376 -27496 0 # 20 377 -27497 0 # 20 378 -27498 0 # 20 379 -27499 0 # 20 380 -27500 0 # 20 381 -27501 0 # 20 382 -27502 0 # 20 383 -27503 0 # 20 384 -27504 0 # 20 385 -27505 0 # 20 386 -27506 0 # 20 387 -27507 0 # 20 388 -27508 0 # 20 389 -27509 0 # 20 390 -27510 0 # 20 391 -27511 0 # 20 392 -27512 0 # 20 393 -27513 0 # 20 394 -27514 0 # 20 395 -27515 0 # 20 396 -27516 0 # 20 397 -27517 0 # 20 398 -27518 0 # 20 399 -27519 0 # 20 400 -27520 0 # 20 401 -27521 0 # 20 402 -27522 0 # 20 403 -27523 0 # 20 404 -27524 0 # 20 405 -27525 0 # 20 406 -27526 0 # 20 407 -27527 0 # 20 408 -27528 0 # 20 409 -27529 0 # 20 410 -27530 0 # 20 411 -27531 0 # 20 412 -27532 0 # 20 413 -27533 0 # 20 414 -27534 0 # 20 415 -27535 0 # 20 416 -27536 0 # 20 417 -27537 0 # 20 418 -27538 0 # 20 419 -27539 0 # 20 420 -27540 0 # 20 421 -27541 0 # 20 422 -27542 0 # 20 423 -27543 0 # 20 424 -27544 0 # 20 425 -27545 0 # 20 426 -27546 0 # 20 427 -27547 0 # 20 428 -27548 0 # 20 429 -27549 0 # 20 430 -27550 0 # 20 431 -27551 0 # 20 432 -27552 0 # 20 433 -27553 0 # 20 434 -27554 0 # 20 435 -27555 0 # 20 436 -27556 0 # 20 437 -27557 0 # 20 438 -27558 0 # 20 439 -27559 0 # 20 440 -27560 0 # 20 441 -27561 0 # 20 442 -27562 0 # 20 443 -27563 0 # 20 444 -27564 0 # 20 445 -27565 0 # 20 446 -27566 0 # 20 447 -27567 0 # 20 448 -27568 0 # 20 449 -27569 0 # 20 450 -27570 0 # 20 451 -27571 0 # 20 452 -27572 0 # 20 453 -27573 0 # 20 454 -27574 0 # 20 455 -27575 0 # 20 456 -27576 0 # 20 457 -27577 0 # 20 458 -27578 0 # 20 459 -27579 0 # 20 460 -27580 0 # 20 461 -27581 0 # 20 462 -27582 0 # 20 463 -27583 0 # 20 464 -27584 0 # 20 465 -27585 0 # 20 466 -27586 0 # 20 467 -27587 0 # 20 468 -27588 0 # 20 469 -27589 0 # 20 470 -27590 0 # 20 471 -27591 0 # 20 472 -27592 0 # 20 473 -27593 0 # 20 474 -27594 0 # 20 475 -27595 0 # 20 476 -27596 0 # 20 477 -27597 0 # 20 478 -27598 0 # 20 479 -27599 0 # 20 480 -27600 0 # 20 481 -27601 0 # 20 482 -27602 0 # 20 483 -27603 0 # 20 484 -27604 0 # 20 485 -27605 0 # 20 486 -27606 0 # 20 487 -27607 0 # 20 488 -27608 0 # 20 489 -27609 0 # 20 490 -27610 0 # 20 491 -27611 0 # 20 492 -27612 0 # 20 493 -27613 0 # 20 494 -27614 0 # 20 495 -27615 0 # 20 496 -27616 0 # 20 497 -27617 0 # 20 498 -27618 0 # 20 499 -27619 0 # 20 500 -27620 0 # 20 501 -27621 0 # 20 502 -27622 0 # 20 503 -27623 0 # 20 504 -27624 0 # 20 505 -27625 0 # 20 506 -27626 0 # 20 507 -27627 0 # 20 508 -27628 0 # 20 509 -27629 0 # 20 510 -27630 0 # 20 511 -27631 0 # 20 512 -27632 0 # 20 513 -27633 0 # 20 514 -27634 0 # 20 515 -27635 0 # 20 516 -27636 0 # 20 517 -27637 0 # 20 518 -27638 0 # 20 519 -27639 0 # 20 520 -27640 0 # 20 521 -27641 0 # 20 522 -27642 0 # 20 523 -27643 0 # 20 524 -27644 0 # 20 525 -27645 0 # 20 526 -27646 0 # 20 527 -27647 0 # 20 528 -27648 0 # 20 529 -27649 0 # 20 530 -27650 0 # 20 531 -27651 0 # 20 532 -27652 0 # 20 533 -27653 0 # 20 534 -27654 0 # 20 535 -27655 0 # 20 536 -27656 0 # 20 537 -27657 0 # 20 538 -27658 0 # 20 539 -27659 0 # 20 540 -27660 0 # 20 541 -27661 0 # 20 542 -27662 0 # 20 543 -27663 0 # 20 544 -27664 0 # 20 545 -27665 0 # 20 546 -27666 0 # 20 547 -27667 0 # 20 548 -27668 0 # 20 549 -27669 0 # 20 550 -27670 0 # 20 551 -27671 0 # 20 552 -27672 0 # 20 553 -27673 0 # 20 554 -27674 0 # 20 555 -27675 0 # 20 556 -27676 0 # 20 557 -27677 0 # 20 558 -27678 0 # 20 559 -27679 0 # 20 560 -27680 0 # 20 561 -27681 0 # 20 562 -27682 0 # 20 563 -27683 0 # 20 564 -27684 0 # 20 565 -27685 0 # 20 566 -27686 0 # 20 567 -27687 0 # 20 568 -27688 0 # 20 569 -27689 0 # 20 570 -27690 0 # 20 571 -27691 0 # 20 572 -27692 0 # 20 573 -27693 0 # 20 574 -27694 0 # 20 575 -27695 0 # 20 576 -27696 0 # 21 0 -27697 0 # 21 1 -27698 0 # 21 2 -27699 0 # 21 3 -27700 1 # 21 4 -27701 0 # 21 5 -27702 4 # 21 6 -27703 1 # 21 7 -27704 3 # 21 8 -27705 6 # 21 9 -27706 2 # 21 10 -27707 4 # 21 11 -27708 4 # 21 12 -27709 5 # 21 13 -27710 4 # 21 14 -27711 3 # 21 15 -27712 5 # 21 16 -27713 4 # 21 17 -27714 4 # 21 18 -27715 5 # 21 19 -27716 5 # 21 20 -27717 4 # 21 21 -27718 5 # 21 22 -27719 5 # 21 23 -27720 5 # 21 24 -27721 5 # 21 25 -27722 5 # 21 26 -27723 6 # 21 27 -27724 6 # 21 28 -27725 5 # 21 29 -27726 5 # 21 30 -27727 6 # 21 31 -27728 6 # 21 32 -27729 5 # 21 33 -27730 6 # 21 34 -27731 6 # 21 35 -27732 6 # 21 36 -27733 6 # 21 37 -27734 6 # 21 38 -27735 6 # 21 39 -27736 6 # 21 40 -27737 6 # 21 41 -27738 8 # 21 42 -27739 7 # 21 43 -27740 7 # 21 44 -27741 7 # 21 45 -27742 7 # 21 46 -27743 7 # 21 47 -27744 7 # 21 48 -27745 7 # 21 49 -27746 7 # 21 50 -27747 8 # 21 51 -27748 7 # 21 52 -27749 8 # 21 53 -27750 6 # 21 54 -27751 8 # 21 55 -27752 8 # 21 56 -27753 8 # 21 57 -27754 8 # 21 58 -27755 7 # 21 59 -27756 10 # 21 60 -27757 9 # 21 61 -27758 12 # 21 62 -27759 8 # 21 63 -27760 10 # 21 64 -27761 8 # 21 65 -27762 8 # 21 66 -27763 8 # 21 67 -27764 7 # 21 68 -27765 8 # 21 69 -27766 7 # 21 70 -27767 8 # 21 71 -27768 5 # 21 72 -27769 5 # 21 73 -27770 9 # 21 74 -27771 8 # 21 75 -27772 10 # 21 76 -27773 10 # 21 77 -27774 19 # 21 78 -27775 7 # 21 79 -27776 4 # 21 80 -27777 3 # 21 81 -27778 5 # 21 82 -27779 6 # 21 83 -27780 0 # 21 84 -27781 0 # 21 85 -27782 0 # 21 86 -27783 0 # 21 87 -27784 6 # 21 88 -27785 6 # 21 89 -27786 5 # 21 90 -27787 9 # 21 91 -27788 0 # 21 92 -27789 1 # 21 93 -27790 0 # 21 94 -27791 0 # 21 95 -27792 0 # 21 96 -27793 0 # 21 97 -27794 0 # 21 98 -27795 0 # 21 99 -27796 0 # 21 100 -27797 0 # 21 101 -27798 0 # 21 102 -27799 0 # 21 103 -27800 0 # 21 104 -27801 0 # 21 105 -27802 0 # 21 106 -27803 0 # 21 107 -27804 0 # 21 108 -27805 0 # 21 109 -27806 0 # 21 110 -27807 0 # 21 111 -27808 0 # 21 112 -27809 0 # 21 113 -27810 0 # 21 114 -27811 0 # 21 115 -27812 0 # 21 116 -27813 0 # 21 117 -27814 0 # 21 118 -27815 0 # 21 119 -27816 0 # 21 120 -27817 0 # 21 121 -27818 0 # 21 122 -27819 0 # 21 123 -27820 0 # 21 124 -27821 0 # 21 125 -27822 0 # 21 126 -27823 0 # 21 127 -27824 0 # 21 128 -27825 0 # 21 129 -27826 0 # 21 130 -27827 0 # 21 131 -27828 0 # 21 132 -27829 0 # 21 133 -27830 0 # 21 134 -27831 0 # 21 135 -27832 0 # 21 136 -27833 0 # 21 137 -27834 0 # 21 138 -27835 0 # 21 139 -27836 0 # 21 140 -27837 0 # 21 141 -27838 0 # 21 142 -27839 0 # 21 143 -27840 0 # 21 144 -27841 0 # 21 145 -27842 0 # 21 146 -27843 0 # 21 147 -27844 0 # 21 148 -27845 0 # 21 149 -27846 0 # 21 150 -27847 0 # 21 151 -27848 0 # 21 152 -27849 0 # 21 153 -27850 0 # 21 154 -27851 0 # 21 155 -27852 0 # 21 156 -27853 0 # 21 157 -27854 0 # 21 158 -27855 0 # 21 159 -27856 0 # 21 160 -27857 0 # 21 161 -27858 0 # 21 162 -27859 0 # 21 163 -27860 0 # 21 164 -27861 0 # 21 165 -27862 0 # 21 166 -27863 0 # 21 167 -27864 0 # 21 168 -27865 0 # 21 169 -27866 0 # 21 170 -27867 0 # 21 171 -27868 0 # 21 172 -27869 0 # 21 173 -27870 0 # 21 174 -27871 0 # 21 175 -27872 0 # 21 176 -27873 0 # 21 177 -27874 0 # 21 178 -27875 0 # 21 179 -27876 0 # 21 180 -27877 0 # 21 181 -27878 0 # 21 182 -27879 0 # 21 183 -27880 0 # 21 184 -27881 0 # 21 185 -27882 0 # 21 186 -27883 0 # 21 187 -27884 0 # 21 188 -27885 0 # 21 189 -27886 0 # 21 190 -27887 0 # 21 191 -27888 0 # 21 192 -27889 0 # 21 193 -27890 0 # 21 194 -27891 0 # 21 195 -27892 0 # 21 196 -27893 0 # 21 197 -27894 0 # 21 198 -27895 0 # 21 199 -27896 0 # 21 200 -27897 0 # 21 201 -27898 0 # 21 202 -27899 0 # 21 203 -27900 0 # 21 204 -27901 0 # 21 205 -27902 0 # 21 206 -27903 0 # 21 207 -27904 0 # 21 208 -27905 0 # 21 209 -27906 0 # 21 210 -27907 0 # 21 211 -27908 0 # 21 212 -27909 0 # 21 213 -27910 0 # 21 214 -27911 0 # 21 215 -27912 0 # 21 216 -27913 0 # 21 217 -27914 0 # 21 218 -27915 0 # 21 219 -27916 0 # 21 220 -27917 0 # 21 221 -27918 0 # 21 222 -27919 0 # 21 223 -27920 0 # 21 224 -27921 0 # 21 225 -27922 0 # 21 226 -27923 0 # 21 227 -27924 0 # 21 228 -27925 0 # 21 229 -27926 0 # 21 230 -27927 0 # 21 231 -27928 0 # 21 232 -27929 0 # 21 233 -27930 0 # 21 234 -27931 0 # 21 235 -27932 0 # 21 236 -27933 0 # 21 237 -27934 0 # 21 238 -27935 0 # 21 239 -27936 0 # 21 240 -27937 0 # 21 241 -27938 0 # 21 242 -27939 0 # 21 243 -27940 0 # 21 244 -27941 0 # 21 245 -27942 0 # 21 246 -27943 0 # 21 247 -27944 0 # 21 248 -27945 0 # 21 249 -27946 0 # 21 250 -27947 0 # 21 251 -27948 0 # 21 252 -27949 0 # 21 253 -27950 0 # 21 254 -27951 0 # 21 255 -27952 0 # 21 256 -27953 0 # 21 257 -27954 0 # 21 258 -27955 0 # 21 259 -27956 0 # 21 260 -27957 0 # 21 261 -27958 0 # 21 262 -27959 0 # 21 263 -27960 0 # 21 264 -27961 0 # 21 265 -27962 0 # 21 266 -27963 0 # 21 267 -27964 0 # 21 268 -27965 0 # 21 269 -27966 0 # 21 270 -27967 0 # 21 271 -27968 0 # 21 272 -27969 0 # 21 273 -27970 0 # 21 274 -27971 0 # 21 275 -27972 0 # 21 276 -27973 0 # 21 277 -27974 0 # 21 278 -27975 0 # 21 279 -27976 0 # 21 280 -27977 0 # 21 281 -27978 0 # 21 282 -27979 0 # 21 283 -27980 0 # 21 284 -27981 0 # 21 285 -27982 0 # 21 286 -27983 0 # 21 287 -27984 0 # 21 288 -27985 0 # 21 289 -27986 0 # 21 290 -27987 0 # 21 291 -27988 0 # 21 292 -27989 0 # 21 293 -27990 0 # 21 294 -27991 0 # 21 295 -27992 0 # 21 296 -27993 0 # 21 297 -27994 0 # 21 298 -27995 0 # 21 299 -27996 0 # 21 300 -27997 0 # 21 301 -27998 0 # 21 302 -27999 0 # 21 303 -28000 0 # 21 304 -28001 0 # 21 305 -28002 0 # 21 306 -28003 0 # 21 307 -28004 0 # 21 308 -28005 0 # 21 309 -28006 0 # 21 310 -28007 0 # 21 311 -28008 0 # 21 312 -28009 0 # 21 313 -28010 0 # 21 314 -28011 0 # 21 315 -28012 0 # 21 316 -28013 0 # 21 317 -28014 0 # 21 318 -28015 0 # 21 319 -28016 0 # 21 320 -28017 0 # 21 321 -28018 0 # 21 322 -28019 0 # 21 323 -28020 0 # 21 324 -28021 0 # 21 325 -28022 0 # 21 326 -28023 0 # 21 327 -28024 0 # 21 328 -28025 0 # 21 329 -28026 0 # 21 330 -28027 0 # 21 331 -28028 0 # 21 332 -28029 0 # 21 333 -28030 0 # 21 334 -28031 0 # 21 335 -28032 0 # 21 336 -28033 0 # 21 337 -28034 0 # 21 338 -28035 0 # 21 339 -28036 0 # 21 340 -28037 0 # 21 341 -28038 0 # 21 342 -28039 0 # 21 343 -28040 0 # 21 344 -28041 0 # 21 345 -28042 0 # 21 346 -28043 0 # 21 347 -28044 0 # 21 348 -28045 0 # 21 349 -28046 0 # 21 350 -28047 0 # 21 351 -28048 0 # 21 352 -28049 0 # 21 353 -28050 0 # 21 354 -28051 0 # 21 355 -28052 0 # 21 356 -28053 0 # 21 357 -28054 0 # 21 358 -28055 0 # 21 359 -28056 0 # 21 360 -28057 0 # 21 361 -28058 0 # 21 362 -28059 0 # 21 363 -28060 0 # 21 364 -28061 0 # 21 365 -28062 0 # 21 366 -28063 0 # 21 367 -28064 0 # 21 368 -28065 0 # 21 369 -28066 0 # 21 370 -28067 0 # 21 371 -28068 0 # 21 372 -28069 0 # 21 373 -28070 0 # 21 374 -28071 0 # 21 375 -28072 0 # 21 376 -28073 0 # 21 377 -28074 0 # 21 378 -28075 0 # 21 379 -28076 0 # 21 380 -28077 0 # 21 381 -28078 0 # 21 382 -28079 0 # 21 383 -28080 0 # 21 384 -28081 0 # 21 385 -28082 0 # 21 386 -28083 0 # 21 387 -28084 0 # 21 388 -28085 0 # 21 389 -28086 0 # 21 390 -28087 0 # 21 391 -28088 0 # 21 392 -28089 0 # 21 393 -28090 0 # 21 394 -28091 0 # 21 395 -28092 0 # 21 396 -28093 0 # 21 397 -28094 0 # 21 398 -28095 0 # 21 399 -28096 0 # 21 400 -28097 0 # 21 401 -28098 0 # 21 402 -28099 0 # 21 403 -28100 0 # 21 404 -28101 0 # 21 405 -28102 0 # 21 406 -28103 0 # 21 407 -28104 0 # 21 408 -28105 0 # 21 409 -28106 0 # 21 410 -28107 0 # 21 411 -28108 0 # 21 412 -28109 0 # 21 413 -28110 0 # 21 414 -28111 0 # 21 415 -28112 0 # 21 416 -28113 0 # 21 417 -28114 0 # 21 418 -28115 0 # 21 419 -28116 0 # 21 420 -28117 0 # 21 421 -28118 0 # 21 422 -28119 0 # 21 423 -28120 0 # 21 424 -28121 0 # 21 425 -28122 0 # 21 426 -28123 0 # 21 427 -28124 0 # 21 428 -28125 0 # 21 429 -28126 0 # 21 430 -28127 0 # 21 431 -28128 0 # 21 432 -28129 0 # 21 433 -28130 0 # 21 434 -28131 0 # 21 435 -28132 0 # 21 436 -28133 0 # 21 437 -28134 0 # 21 438 -28135 0 # 21 439 -28136 0 # 21 440 -28137 0 # 21 441 -28138 0 # 21 442 -28139 0 # 21 443 -28140 0 # 21 444 -28141 0 # 21 445 -28142 0 # 21 446 -28143 0 # 21 447 -28144 0 # 21 448 -28145 0 # 21 449 -28146 0 # 21 450 -28147 0 # 21 451 -28148 0 # 21 452 -28149 0 # 21 453 -28150 0 # 21 454 -28151 0 # 21 455 -28152 0 # 21 456 -28153 0 # 21 457 -28154 0 # 21 458 -28155 0 # 21 459 -28156 0 # 21 460 -28157 0 # 21 461 -28158 0 # 21 462 -28159 0 # 21 463 -28160 0 # 21 464 -28161 0 # 21 465 -28162 0 # 21 466 -28163 0 # 21 467 -28164 0 # 21 468 -28165 0 # 21 469 -28166 0 # 21 470 -28167 0 # 21 471 -28168 0 # 21 472 -28169 0 # 21 473 -28170 0 # 21 474 -28171 0 # 21 475 -28172 0 # 21 476 -28173 0 # 21 477 -28174 0 # 21 478 -28175 0 # 21 479 -28176 0 # 21 480 -28177 0 # 21 481 -28178 0 # 21 482 -28179 0 # 21 483 -28180 0 # 21 484 -28181 0 # 21 485 -28182 0 # 21 486 -28183 0 # 21 487 -28184 0 # 21 488 -28185 0 # 21 489 -28186 0 # 21 490 -28187 0 # 21 491 -28188 0 # 21 492 -28189 0 # 21 493 -28190 0 # 21 494 -28191 0 # 21 495 -28192 0 # 21 496 -28193 0 # 21 497 -28194 0 # 21 498 -28195 0 # 21 499 -28196 0 # 21 500 -28197 0 # 21 501 -28198 0 # 21 502 -28199 0 # 21 503 -28200 0 # 21 504 -28201 0 # 21 505 -28202 0 # 21 506 -28203 0 # 21 507 -28204 0 # 21 508 -28205 0 # 21 509 -28206 0 # 21 510 -28207 0 # 21 511 -28208 0 # 21 512 -28209 0 # 21 513 -28210 0 # 21 514 -28211 0 # 21 515 -28212 0 # 21 516 -28213 0 # 21 517 -28214 0 # 21 518 -28215 0 # 21 519 -28216 0 # 21 520 -28217 0 # 21 521 -28218 0 # 21 522 -28219 0 # 21 523 -28220 0 # 21 524 -28221 0 # 21 525 -28222 0 # 21 526 -28223 0 # 21 527 -28224 0 # 21 528 -28225 0 # 21 529 -28226 0 # 21 530 -28227 0 # 21 531 -28228 0 # 21 532 -28229 0 # 21 533 -28230 0 # 21 534 -28231 0 # 21 535 -28232 0 # 21 536 -28233 0 # 21 537 -28234 0 # 21 538 -28235 0 # 21 539 -28236 0 # 21 540 -28237 0 # 21 541 -28238 0 # 21 542 -28239 0 # 21 543 -28240 0 # 21 544 -28241 0 # 21 545 -28242 0 # 21 546 -28243 0 # 21 547 -28244 0 # 21 548 -28245 0 # 21 549 -28246 0 # 21 550 -28247 0 # 21 551 -28248 0 # 21 552 -28249 0 # 21 553 -28250 0 # 21 554 -28251 0 # 21 555 -28252 0 # 21 556 -28253 0 # 21 557 -28254 0 # 21 558 -28255 0 # 21 559 -28256 0 # 21 560 -28257 0 # 21 561 -28258 0 # 21 562 -28259 0 # 21 563 -28260 0 # 21 564 -28261 0 # 21 565 -28262 0 # 21 566 -28263 0 # 21 567 -28264 0 # 21 568 -28265 0 # 21 569 -28266 0 # 21 570 -28267 0 # 21 571 -28268 0 # 21 572 -28269 0 # 21 573 -28270 0 # 21 574 -28271 0 # 21 575 -28272 0 # 21 576 -28273 0 # 22 0 -28274 0 # 22 1 -28275 0 # 22 2 -28276 3 # 22 3 -28277 1 # 22 4 -28278 0 # 22 5 -28279 4 # 22 6 -28280 1 # 22 7 -28281 4 # 22 8 -28282 5 # 22 9 -28283 2 # 22 10 -28284 4 # 22 11 -28285 4 # 22 12 -28286 5 # 22 13 -28287 4 # 22 14 -28288 3 # 22 15 -28289 5 # 22 16 -28290 5 # 22 17 -28291 4 # 22 18 -28292 5 # 22 19 -28293 5 # 22 20 -28294 5 # 22 21 -28295 5 # 22 22 -28296 5 # 22 23 -28297 6 # 22 24 -28298 5 # 22 25 -28299 6 # 22 26 -28300 6 # 22 27 -28301 6 # 22 28 -28302 6 # 22 29 -28303 6 # 22 30 -28304 7 # 22 31 -28305 6 # 22 32 -28306 7 # 22 33 -28307 6 # 22 34 -28308 7 # 22 35 -28309 6 # 22 36 -28310 7 # 22 37 -28311 7 # 22 38 -28312 8 # 22 39 -28313 7 # 22 40 -28314 7 # 22 41 -28315 6 # 22 42 -28316 7 # 22 43 -28317 8 # 22 44 -28318 7 # 22 45 -28319 8 # 22 46 -28320 8 # 22 47 -28321 8 # 22 48 -28322 7 # 22 49 -28323 8 # 22 50 -28324 8 # 22 51 -28325 9 # 22 52 -28326 10 # 22 53 -28327 8 # 22 54 -28328 8 # 22 55 -28329 8 # 22 56 -28330 8 # 22 57 -28331 9 # 22 58 -28332 11 # 22 59 -28333 12 # 22 60 -28334 9 # 22 61 -28335 10 # 22 62 -28336 9 # 22 63 -28337 7 # 22 64 -28338 10 # 22 65 -28339 10 # 22 66 -28340 11 # 22 67 -28341 7 # 22 68 -28342 10 # 22 69 -28343 11 # 22 70 -28344 10 # 22 71 -28345 8 # 22 72 -28346 5 # 22 73 -28347 11 # 22 74 -28348 20 # 22 75 -28349 4 # 22 76 -28350 11 # 22 77 -28351 23 # 22 78 -28352 6 # 22 79 -28353 5 # 22 80 -28354 4 # 22 81 -28355 8 # 22 82 -28356 4 # 22 83 -28357 0 # 22 84 -28358 1 # 22 85 -28359 0 # 22 86 -28360 0 # 22 87 -28361 8 # 22 88 -28362 7 # 22 89 -28363 11 # 22 90 -28364 20 # 22 91 -28365 0 # 22 92 -28366 2 # 22 93 -28367 0 # 22 94 -28368 0 # 22 95 -28369 0 # 22 96 -28370 0 # 22 97 -28371 0 # 22 98 -28372 0 # 22 99 -28373 0 # 22 100 -28374 0 # 22 101 -28375 0 # 22 102 -28376 0 # 22 103 -28377 0 # 22 104 -28378 0 # 22 105 -28379 0 # 22 106 -28380 0 # 22 107 -28381 0 # 22 108 -28382 0 # 22 109 -28383 0 # 22 110 -28384 0 # 22 111 -28385 0 # 22 112 -28386 0 # 22 113 -28387 0 # 22 114 -28388 0 # 22 115 -28389 0 # 22 116 -28390 0 # 22 117 -28391 0 # 22 118 -28392 0 # 22 119 -28393 0 # 22 120 -28394 0 # 22 121 -28395 0 # 22 122 -28396 0 # 22 123 -28397 0 # 22 124 -28398 0 # 22 125 -28399 0 # 22 126 -28400 0 # 22 127 -28401 0 # 22 128 -28402 0 # 22 129 -28403 0 # 22 130 -28404 0 # 22 131 -28405 0 # 22 132 -28406 0 # 22 133 -28407 0 # 22 134 -28408 0 # 22 135 -28409 0 # 22 136 -28410 0 # 22 137 -28411 0 # 22 138 -28412 0 # 22 139 -28413 0 # 22 140 -28414 0 # 22 141 -28415 0 # 22 142 -28416 0 # 22 143 -28417 0 # 22 144 -28418 0 # 22 145 -28419 0 # 22 146 -28420 0 # 22 147 -28421 0 # 22 148 -28422 0 # 22 149 -28423 0 # 22 150 -28424 0 # 22 151 -28425 0 # 22 152 -28426 0 # 22 153 -28427 0 # 22 154 -28428 0 # 22 155 -28429 0 # 22 156 -28430 0 # 22 157 -28431 0 # 22 158 -28432 0 # 22 159 -28433 0 # 22 160 -28434 0 # 22 161 -28435 0 # 22 162 -28436 0 # 22 163 -28437 0 # 22 164 -28438 0 # 22 165 -28439 0 # 22 166 -28440 0 # 22 167 -28441 0 # 22 168 -28442 0 # 22 169 -28443 0 # 22 170 -28444 0 # 22 171 -28445 0 # 22 172 -28446 0 # 22 173 -28447 0 # 22 174 -28448 0 # 22 175 -28449 0 # 22 176 -28450 0 # 22 177 -28451 0 # 22 178 -28452 0 # 22 179 -28453 0 # 22 180 -28454 0 # 22 181 -28455 0 # 22 182 -28456 0 # 22 183 -28457 0 # 22 184 -28458 0 # 22 185 -28459 0 # 22 186 -28460 0 # 22 187 -28461 0 # 22 188 -28462 0 # 22 189 -28463 0 # 22 190 -28464 0 # 22 191 -28465 0 # 22 192 -28466 0 # 22 193 -28467 0 # 22 194 -28468 0 # 22 195 -28469 0 # 22 196 -28470 0 # 22 197 -28471 0 # 22 198 -28472 0 # 22 199 -28473 0 # 22 200 -28474 0 # 22 201 -28475 0 # 22 202 -28476 0 # 22 203 -28477 0 # 22 204 -28478 0 # 22 205 -28479 0 # 22 206 -28480 0 # 22 207 -28481 0 # 22 208 -28482 0 # 22 209 -28483 0 # 22 210 -28484 0 # 22 211 -28485 0 # 22 212 -28486 0 # 22 213 -28487 0 # 22 214 -28488 0 # 22 215 -28489 0 # 22 216 -28490 0 # 22 217 -28491 0 # 22 218 -28492 0 # 22 219 -28493 0 # 22 220 -28494 0 # 22 221 -28495 0 # 22 222 -28496 0 # 22 223 -28497 0 # 22 224 -28498 0 # 22 225 -28499 0 # 22 226 -28500 0 # 22 227 -28501 0 # 22 228 -28502 0 # 22 229 -28503 0 # 22 230 -28504 0 # 22 231 -28505 0 # 22 232 -28506 0 # 22 233 -28507 0 # 22 234 -28508 0 # 22 235 -28509 0 # 22 236 -28510 0 # 22 237 -28511 0 # 22 238 -28512 0 # 22 239 -28513 0 # 22 240 -28514 0 # 22 241 -28515 0 # 22 242 -28516 0 # 22 243 -28517 0 # 22 244 -28518 0 # 22 245 -28519 0 # 22 246 -28520 0 # 22 247 -28521 0 # 22 248 -28522 0 # 22 249 -28523 0 # 22 250 -28524 0 # 22 251 -28525 0 # 22 252 -28526 0 # 22 253 -28527 0 # 22 254 -28528 0 # 22 255 -28529 0 # 22 256 -28530 0 # 22 257 -28531 0 # 22 258 -28532 0 # 22 259 -28533 0 # 22 260 -28534 0 # 22 261 -28535 0 # 22 262 -28536 0 # 22 263 -28537 0 # 22 264 -28538 0 # 22 265 -28539 0 # 22 266 -28540 0 # 22 267 -28541 0 # 22 268 -28542 0 # 22 269 -28543 0 # 22 270 -28544 0 # 22 271 -28545 0 # 22 272 -28546 0 # 22 273 -28547 0 # 22 274 -28548 0 # 22 275 -28549 0 # 22 276 -28550 0 # 22 277 -28551 0 # 22 278 -28552 0 # 22 279 -28553 0 # 22 280 -28554 0 # 22 281 -28555 0 # 22 282 -28556 0 # 22 283 -28557 0 # 22 284 -28558 0 # 22 285 -28559 0 # 22 286 -28560 0 # 22 287 -28561 0 # 22 288 -28562 0 # 22 289 -28563 0 # 22 290 -28564 0 # 22 291 -28565 0 # 22 292 -28566 0 # 22 293 -28567 0 # 22 294 -28568 0 # 22 295 -28569 0 # 22 296 -28570 0 # 22 297 -28571 0 # 22 298 -28572 0 # 22 299 -28573 0 # 22 300 -28574 0 # 22 301 -28575 0 # 22 302 -28576 0 # 22 303 -28577 0 # 22 304 -28578 0 # 22 305 -28579 0 # 22 306 -28580 0 # 22 307 -28581 0 # 22 308 -28582 0 # 22 309 -28583 0 # 22 310 -28584 0 # 22 311 -28585 0 # 22 312 -28586 0 # 22 313 -28587 0 # 22 314 -28588 0 # 22 315 -28589 0 # 22 316 -28590 0 # 22 317 -28591 0 # 22 318 -28592 0 # 22 319 -28593 0 # 22 320 -28594 0 # 22 321 -28595 0 # 22 322 -28596 0 # 22 323 -28597 0 # 22 324 -28598 0 # 22 325 -28599 0 # 22 326 -28600 0 # 22 327 -28601 0 # 22 328 -28602 0 # 22 329 -28603 0 # 22 330 -28604 0 # 22 331 -28605 0 # 22 332 -28606 0 # 22 333 -28607 0 # 22 334 -28608 0 # 22 335 -28609 0 # 22 336 -28610 0 # 22 337 -28611 0 # 22 338 -28612 0 # 22 339 -28613 0 # 22 340 -28614 0 # 22 341 -28615 0 # 22 342 -28616 0 # 22 343 -28617 0 # 22 344 -28618 0 # 22 345 -28619 0 # 22 346 -28620 0 # 22 347 -28621 0 # 22 348 -28622 0 # 22 349 -28623 0 # 22 350 -28624 0 # 22 351 -28625 0 # 22 352 -28626 0 # 22 353 -28627 0 # 22 354 -28628 0 # 22 355 -28629 0 # 22 356 -28630 0 # 22 357 -28631 0 # 22 358 -28632 0 # 22 359 -28633 0 # 22 360 -28634 0 # 22 361 -28635 0 # 22 362 -28636 0 # 22 363 -28637 0 # 22 364 -28638 0 # 22 365 -28639 0 # 22 366 -28640 0 # 22 367 -28641 0 # 22 368 -28642 0 # 22 369 -28643 0 # 22 370 -28644 0 # 22 371 -28645 0 # 22 372 -28646 0 # 22 373 -28647 0 # 22 374 -28648 0 # 22 375 -28649 0 # 22 376 -28650 0 # 22 377 -28651 0 # 22 378 -28652 0 # 22 379 -28653 0 # 22 380 -28654 0 # 22 381 -28655 0 # 22 382 -28656 0 # 22 383 -28657 0 # 22 384 -28658 0 # 22 385 -28659 0 # 22 386 -28660 0 # 22 387 -28661 0 # 22 388 -28662 0 # 22 389 -28663 0 # 22 390 -28664 0 # 22 391 -28665 0 # 22 392 -28666 0 # 22 393 -28667 0 # 22 394 -28668 0 # 22 395 -28669 0 # 22 396 -28670 0 # 22 397 -28671 0 # 22 398 -28672 0 # 22 399 -28673 0 # 22 400 -28674 0 # 22 401 -28675 0 # 22 402 -28676 0 # 22 403 -28677 0 # 22 404 -28678 0 # 22 405 -28679 0 # 22 406 -28680 0 # 22 407 -28681 0 # 22 408 -28682 0 # 22 409 -28683 0 # 22 410 -28684 0 # 22 411 -28685 0 # 22 412 -28686 0 # 22 413 -28687 0 # 22 414 -28688 0 # 22 415 -28689 0 # 22 416 -28690 0 # 22 417 -28691 0 # 22 418 -28692 0 # 22 419 -28693 0 # 22 420 -28694 0 # 22 421 -28695 0 # 22 422 -28696 0 # 22 423 -28697 0 # 22 424 -28698 0 # 22 425 -28699 0 # 22 426 -28700 0 # 22 427 -28701 0 # 22 428 -28702 0 # 22 429 -28703 0 # 22 430 -28704 0 # 22 431 -28705 0 # 22 432 -28706 0 # 22 433 -28707 0 # 22 434 -28708 0 # 22 435 -28709 0 # 22 436 -28710 0 # 22 437 -28711 0 # 22 438 -28712 0 # 22 439 -28713 0 # 22 440 -28714 0 # 22 441 -28715 0 # 22 442 -28716 0 # 22 443 -28717 0 # 22 444 -28718 0 # 22 445 -28719 0 # 22 446 -28720 0 # 22 447 -28721 0 # 22 448 -28722 0 # 22 449 -28723 0 # 22 450 -28724 0 # 22 451 -28725 0 # 22 452 -28726 0 # 22 453 -28727 0 # 22 454 -28728 0 # 22 455 -28729 0 # 22 456 -28730 0 # 22 457 -28731 0 # 22 458 -28732 0 # 22 459 -28733 0 # 22 460 -28734 0 # 22 461 -28735 0 # 22 462 -28736 0 # 22 463 -28737 0 # 22 464 -28738 0 # 22 465 -28739 0 # 22 466 -28740 0 # 22 467 -28741 0 # 22 468 -28742 0 # 22 469 -28743 0 # 22 470 -28744 0 # 22 471 -28745 0 # 22 472 -28746 0 # 22 473 -28747 0 # 22 474 -28748 0 # 22 475 -28749 0 # 22 476 -28750 0 # 22 477 -28751 0 # 22 478 -28752 0 # 22 479 -28753 0 # 22 480 -28754 0 # 22 481 -28755 0 # 22 482 -28756 0 # 22 483 -28757 0 # 22 484 -28758 0 # 22 485 -28759 0 # 22 486 -28760 0 # 22 487 -28761 0 # 22 488 -28762 0 # 22 489 -28763 0 # 22 490 -28764 0 # 22 491 -28765 0 # 22 492 -28766 0 # 22 493 -28767 0 # 22 494 -28768 0 # 22 495 -28769 0 # 22 496 -28770 0 # 22 497 -28771 0 # 22 498 -28772 0 # 22 499 -28773 0 # 22 500 -28774 0 # 22 501 -28775 0 # 22 502 -28776 0 # 22 503 -28777 0 # 22 504 -28778 0 # 22 505 -28779 0 # 22 506 -28780 0 # 22 507 -28781 0 # 22 508 -28782 0 # 22 509 -28783 0 # 22 510 -28784 0 # 22 511 -28785 0 # 22 512 -28786 0 # 22 513 -28787 0 # 22 514 -28788 0 # 22 515 -28789 0 # 22 516 -28790 0 # 22 517 -28791 0 # 22 518 -28792 0 # 22 519 -28793 0 # 22 520 -28794 0 # 22 521 -28795 0 # 22 522 -28796 0 # 22 523 -28797 0 # 22 524 -28798 0 # 22 525 -28799 0 # 22 526 -28800 0 # 22 527 -28801 0 # 22 528 -28802 0 # 22 529 -28803 0 # 22 530 -28804 0 # 22 531 -28805 0 # 22 532 -28806 0 # 22 533 -28807 0 # 22 534 -28808 0 # 22 535 -28809 0 # 22 536 -28810 0 # 22 537 -28811 0 # 22 538 -28812 0 # 22 539 -28813 0 # 22 540 -28814 0 # 22 541 -28815 0 # 22 542 -28816 0 # 22 543 -28817 0 # 22 544 -28818 0 # 22 545 -28819 0 # 22 546 -28820 0 # 22 547 -28821 0 # 22 548 -28822 0 # 22 549 -28823 0 # 22 550 -28824 0 # 22 551 -28825 0 # 22 552 -28826 0 # 22 553 -28827 0 # 22 554 -28828 0 # 22 555 -28829 0 # 22 556 -28830 0 # 22 557 -28831 0 # 22 558 -28832 0 # 22 559 -28833 0 # 22 560 -28834 0 # 22 561 -28835 0 # 22 562 -28836 0 # 22 563 -28837 0 # 22 564 -28838 0 # 22 565 -28839 0 # 22 566 -28840 0 # 22 567 -28841 0 # 22 568 -28842 0 # 22 569 -28843 0 # 22 570 -28844 0 # 22 571 -28845 0 # 22 572 -28846 0 # 22 573 -28847 0 # 22 574 -28848 0 # 22 575 -28849 0 # 22 576 -28850 0 # 23 0 -28851 0 # 23 1 -28852 0 # 23 2 -28853 4 # 23 3 -28854 0 # 23 4 -28855 0 # 23 5 -28856 4 # 23 6 -28857 1 # 23 7 -28858 6 # 23 8 -28859 5 # 23 9 -28860 3 # 23 10 -28861 4 # 23 11 -28862 6 # 23 12 -28863 6 # 23 13 -28864 5 # 23 14 -28865 5 # 23 15 -28866 5 # 23 16 -28867 5 # 23 17 -28868 5 # 23 18 -28869 6 # 23 19 -28870 6 # 23 20 -28871 5 # 23 21 -28872 6 # 23 22 -28873 6 # 23 23 -28874 6 # 23 24 -28875 7 # 23 25 -28876 7 # 23 26 -28877 7 # 23 27 -28878 7 # 23 28 -28879 8 # 23 29 -28880 7 # 23 30 -28881 8 # 23 31 -28882 7 # 23 32 -28883 8 # 23 33 -28884 8 # 23 34 -28885 8 # 23 35 -28886 8 # 23 36 -28887 8 # 23 37 -28888 8 # 23 38 -28889 8 # 23 39 -28890 8 # 23 40 -28891 9 # 23 41 -28892 9 # 23 42 -28893 9 # 23 43 -28894 10 # 23 44 -28895 8 # 23 45 -28896 9 # 23 46 -28897 10 # 23 47 -28898 11 # 23 48 -28899 10 # 23 49 -28900 9 # 23 50 -28901 10 # 23 51 -28902 12 # 23 52 -28903 11 # 23 53 -28904 10 # 23 54 -28905 12 # 23 55 -28906 10 # 23 56 -28907 11 # 23 57 -28908 12 # 23 58 -28909 12 # 23 59 -28910 13 # 23 60 -28911 13 # 23 61 -28912 17 # 23 62 -28913 9 # 23 63 -28914 10 # 23 64 -28915 12 # 23 65 -28916 14 # 23 66 -28917 10 # 23 67 -28918 9 # 23 68 -28919 12 # 23 69 -28920 11 # 23 70 -28921 11 # 23 71 -28922 13 # 23 72 -28923 8 # 23 73 -28924 15 # 23 74 -28925 19 # 23 75 -28926 15 # 23 76 -28927 18 # 23 77 -28928 17 # 23 78 -28929 6 # 23 79 -28930 19 # 23 80 -28931 7 # 23 81 -28932 7 # 23 82 -28933 7 # 23 83 -28934 0 # 23 84 -28935 7 # 23 85 -28936 0 # 23 86 -28937 0 # 23 87 -28938 11 # 23 88 -28939 16 # 23 89 -28940 16 # 23 90 -28941 29 # 23 91 -28942 0 # 23 92 -28943 6 # 23 93 -28944 0 # 23 94 -28945 0 # 23 95 -28946 0 # 23 96 -28947 0 # 23 97 -28948 0 # 23 98 -28949 0 # 23 99 -28950 0 # 23 100 -28951 0 # 23 101 -28952 0 # 23 102 -28953 0 # 23 103 -28954 0 # 23 104 -28955 0 # 23 105 -28956 0 # 23 106 -28957 0 # 23 107 -28958 0 # 23 108 -28959 0 # 23 109 -28960 0 # 23 110 -28961 0 # 23 111 -28962 0 # 23 112 -28963 0 # 23 113 -28964 0 # 23 114 -28965 0 # 23 115 -28966 0 # 23 116 -28967 0 # 23 117 -28968 0 # 23 118 -28969 0 # 23 119 -28970 0 # 23 120 -28971 0 # 23 121 -28972 0 # 23 122 -28973 0 # 23 123 -28974 0 # 23 124 -28975 0 # 23 125 -28976 0 # 23 126 -28977 0 # 23 127 -28978 0 # 23 128 -28979 0 # 23 129 -28980 0 # 23 130 -28981 0 # 23 131 -28982 0 # 23 132 -28983 0 # 23 133 -28984 0 # 23 134 -28985 0 # 23 135 -28986 0 # 23 136 -28987 0 # 23 137 -28988 0 # 23 138 -28989 0 # 23 139 -28990 0 # 23 140 -28991 0 # 23 141 -28992 0 # 23 142 -28993 0 # 23 143 -28994 0 # 23 144 -28995 0 # 23 145 -28996 0 # 23 146 -28997 0 # 23 147 -28998 0 # 23 148 -28999 0 # 23 149 -29000 0 # 23 150 -29001 0 # 23 151 -29002 0 # 23 152 -29003 0 # 23 153 -29004 0 # 23 154 -29005 0 # 23 155 -29006 0 # 23 156 -29007 0 # 23 157 -29008 0 # 23 158 -29009 0 # 23 159 -29010 0 # 23 160 -29011 0 # 23 161 -29012 0 # 23 162 -29013 0 # 23 163 -29014 0 # 23 164 -29015 0 # 23 165 -29016 0 # 23 166 -29017 0 # 23 167 -29018 0 # 23 168 -29019 0 # 23 169 -29020 0 # 23 170 -29021 0 # 23 171 -29022 0 # 23 172 -29023 0 # 23 173 -29024 0 # 23 174 -29025 0 # 23 175 -29026 0 # 23 176 -29027 0 # 23 177 -29028 0 # 23 178 -29029 0 # 23 179 -29030 0 # 23 180 -29031 0 # 23 181 -29032 0 # 23 182 -29033 0 # 23 183 -29034 0 # 23 184 -29035 0 # 23 185 -29036 0 # 23 186 -29037 0 # 23 187 -29038 0 # 23 188 -29039 0 # 23 189 -29040 0 # 23 190 -29041 0 # 23 191 -29042 0 # 23 192 -29043 0 # 23 193 -29044 0 # 23 194 -29045 0 # 23 195 -29046 0 # 23 196 -29047 0 # 23 197 -29048 0 # 23 198 -29049 0 # 23 199 -29050 0 # 23 200 -29051 0 # 23 201 -29052 0 # 23 202 -29053 0 # 23 203 -29054 0 # 23 204 -29055 0 # 23 205 -29056 0 # 23 206 -29057 0 # 23 207 -29058 0 # 23 208 -29059 0 # 23 209 -29060 0 # 23 210 -29061 0 # 23 211 -29062 0 # 23 212 -29063 0 # 23 213 -29064 0 # 23 214 -29065 0 # 23 215 -29066 0 # 23 216 -29067 0 # 23 217 -29068 0 # 23 218 -29069 0 # 23 219 -29070 0 # 23 220 -29071 0 # 23 221 -29072 0 # 23 222 -29073 0 # 23 223 -29074 0 # 23 224 -29075 0 # 23 225 -29076 0 # 23 226 -29077 0 # 23 227 -29078 0 # 23 228 -29079 0 # 23 229 -29080 0 # 23 230 -29081 0 # 23 231 -29082 0 # 23 232 -29083 0 # 23 233 -29084 0 # 23 234 -29085 0 # 23 235 -29086 0 # 23 236 -29087 0 # 23 237 -29088 0 # 23 238 -29089 0 # 23 239 -29090 0 # 23 240 -29091 0 # 23 241 -29092 0 # 23 242 -29093 0 # 23 243 -29094 0 # 23 244 -29095 0 # 23 245 -29096 0 # 23 246 -29097 0 # 23 247 -29098 0 # 23 248 -29099 0 # 23 249 -29100 0 # 23 250 -29101 0 # 23 251 -29102 0 # 23 252 -29103 0 # 23 253 -29104 0 # 23 254 -29105 0 # 23 255 -29106 0 # 23 256 -29107 0 # 23 257 -29108 0 # 23 258 -29109 0 # 23 259 -29110 0 # 23 260 -29111 0 # 23 261 -29112 0 # 23 262 -29113 0 # 23 263 -29114 0 # 23 264 -29115 0 # 23 265 -29116 0 # 23 266 -29117 0 # 23 267 -29118 0 # 23 268 -29119 0 # 23 269 -29120 0 # 23 270 -29121 0 # 23 271 -29122 0 # 23 272 -29123 0 # 23 273 -29124 0 # 23 274 -29125 0 # 23 275 -29126 0 # 23 276 -29127 0 # 23 277 -29128 0 # 23 278 -29129 0 # 23 279 -29130 0 # 23 280 -29131 0 # 23 281 -29132 0 # 23 282 -29133 0 # 23 283 -29134 0 # 23 284 -29135 0 # 23 285 -29136 0 # 23 286 -29137 0 # 23 287 -29138 0 # 23 288 -29139 0 # 23 289 -29140 0 # 23 290 -29141 0 # 23 291 -29142 0 # 23 292 -29143 0 # 23 293 -29144 0 # 23 294 -29145 0 # 23 295 -29146 0 # 23 296 -29147 0 # 23 297 -29148 0 # 23 298 -29149 0 # 23 299 -29150 0 # 23 300 -29151 0 # 23 301 -29152 0 # 23 302 -29153 0 # 23 303 -29154 0 # 23 304 -29155 0 # 23 305 -29156 0 # 23 306 -29157 0 # 23 307 -29158 0 # 23 308 -29159 0 # 23 309 -29160 0 # 23 310 -29161 0 # 23 311 -29162 0 # 23 312 -29163 0 # 23 313 -29164 0 # 23 314 -29165 0 # 23 315 -29166 0 # 23 316 -29167 0 # 23 317 -29168 0 # 23 318 -29169 0 # 23 319 -29170 0 # 23 320 -29171 0 # 23 321 -29172 0 # 23 322 -29173 0 # 23 323 -29174 0 # 23 324 -29175 0 # 23 325 -29176 0 # 23 326 -29177 0 # 23 327 -29178 0 # 23 328 -29179 0 # 23 329 -29180 0 # 23 330 -29181 0 # 23 331 -29182 0 # 23 332 -29183 0 # 23 333 -29184 0 # 23 334 -29185 0 # 23 335 -29186 0 # 23 336 -29187 0 # 23 337 -29188 0 # 23 338 -29189 0 # 23 339 -29190 0 # 23 340 -29191 0 # 23 341 -29192 0 # 23 342 -29193 0 # 23 343 -29194 0 # 23 344 -29195 0 # 23 345 -29196 0 # 23 346 -29197 0 # 23 347 -29198 0 # 23 348 -29199 0 # 23 349 -29200 0 # 23 350 -29201 0 # 23 351 -29202 0 # 23 352 -29203 0 # 23 353 -29204 0 # 23 354 -29205 0 # 23 355 -29206 0 # 23 356 -29207 0 # 23 357 -29208 0 # 23 358 -29209 0 # 23 359 -29210 0 # 23 360 -29211 0 # 23 361 -29212 0 # 23 362 -29213 0 # 23 363 -29214 0 # 23 364 -29215 0 # 23 365 -29216 0 # 23 366 -29217 0 # 23 367 -29218 0 # 23 368 -29219 0 # 23 369 -29220 0 # 23 370 -29221 0 # 23 371 -29222 0 # 23 372 -29223 0 # 23 373 -29224 0 # 23 374 -29225 0 # 23 375 -29226 0 # 23 376 -29227 0 # 23 377 -29228 0 # 23 378 -29229 0 # 23 379 -29230 0 # 23 380 -29231 0 # 23 381 -29232 0 # 23 382 -29233 0 # 23 383 -29234 0 # 23 384 -29235 0 # 23 385 -29236 0 # 23 386 -29237 0 # 23 387 -29238 0 # 23 388 -29239 0 # 23 389 -29240 0 # 23 390 -29241 0 # 23 391 -29242 0 # 23 392 -29243 0 # 23 393 -29244 0 # 23 394 -29245 0 # 23 395 -29246 0 # 23 396 -29247 0 # 23 397 -29248 0 # 23 398 -29249 0 # 23 399 -29250 0 # 23 400 -29251 0 # 23 401 -29252 0 # 23 402 -29253 0 # 23 403 -29254 0 # 23 404 -29255 0 # 23 405 -29256 0 # 23 406 -29257 0 # 23 407 -29258 0 # 23 408 -29259 0 # 23 409 -29260 0 # 23 410 -29261 0 # 23 411 -29262 0 # 23 412 -29263 0 # 23 413 -29264 0 # 23 414 -29265 0 # 23 415 -29266 0 # 23 416 -29267 0 # 23 417 -29268 0 # 23 418 -29269 0 # 23 419 -29270 0 # 23 420 -29271 0 # 23 421 -29272 0 # 23 422 -29273 0 # 23 423 -29274 0 # 23 424 -29275 0 # 23 425 -29276 0 # 23 426 -29277 0 # 23 427 -29278 0 # 23 428 -29279 0 # 23 429 -29280 0 # 23 430 -29281 0 # 23 431 -29282 0 # 23 432 -29283 0 # 23 433 -29284 0 # 23 434 -29285 0 # 23 435 -29286 0 # 23 436 -29287 0 # 23 437 -29288 0 # 23 438 -29289 0 # 23 439 -29290 0 # 23 440 -29291 0 # 23 441 -29292 0 # 23 442 -29293 0 # 23 443 -29294 0 # 23 444 -29295 0 # 23 445 -29296 0 # 23 446 -29297 0 # 23 447 -29298 0 # 23 448 -29299 0 # 23 449 -29300 0 # 23 450 -29301 0 # 23 451 -29302 0 # 23 452 -29303 0 # 23 453 -29304 0 # 23 454 -29305 0 # 23 455 -29306 0 # 23 456 -29307 0 # 23 457 -29308 0 # 23 458 -29309 0 # 23 459 -29310 0 # 23 460 -29311 0 # 23 461 -29312 0 # 23 462 -29313 0 # 23 463 -29314 0 # 23 464 -29315 0 # 23 465 -29316 0 # 23 466 -29317 0 # 23 467 -29318 0 # 23 468 -29319 0 # 23 469 -29320 0 # 23 470 -29321 0 # 23 471 -29322 0 # 23 472 -29323 0 # 23 473 -29324 0 # 23 474 -29325 0 # 23 475 -29326 0 # 23 476 -29327 0 # 23 477 -29328 0 # 23 478 -29329 0 # 23 479 -29330 0 # 23 480 -29331 0 # 23 481 -29332 0 # 23 482 -29333 0 # 23 483 -29334 0 # 23 484 -29335 0 # 23 485 -29336 0 # 23 486 -29337 0 # 23 487 -29338 0 # 23 488 -29339 0 # 23 489 -29340 0 # 23 490 -29341 0 # 23 491 -29342 0 # 23 492 -29343 0 # 23 493 -29344 0 # 23 494 -29345 0 # 23 495 -29346 0 # 23 496 -29347 0 # 23 497 -29348 0 # 23 498 -29349 0 # 23 499 -29350 0 # 23 500 -29351 0 # 23 501 -29352 0 # 23 502 -29353 0 # 23 503 -29354 0 # 23 504 -29355 0 # 23 505 -29356 0 # 23 506 -29357 0 # 23 507 -29358 0 # 23 508 -29359 0 # 23 509 -29360 0 # 23 510 -29361 0 # 23 511 -29362 0 # 23 512 -29363 0 # 23 513 -29364 0 # 23 514 -29365 0 # 23 515 -29366 0 # 23 516 -29367 0 # 23 517 -29368 0 # 23 518 -29369 0 # 23 519 -29370 0 # 23 520 -29371 0 # 23 521 -29372 0 # 23 522 -29373 0 # 23 523 -29374 0 # 23 524 -29375 0 # 23 525 -29376 0 # 23 526 -29377 0 # 23 527 -29378 0 # 23 528 -29379 0 # 23 529 -29380 0 # 23 530 -29381 0 # 23 531 -29382 0 # 23 532 -29383 0 # 23 533 -29384 0 # 23 534 -29385 0 # 23 535 -29386 0 # 23 536 -29387 0 # 23 537 -29388 0 # 23 538 -29389 0 # 23 539 -29390 0 # 23 540 -29391 0 # 23 541 -29392 0 # 23 542 -29393 0 # 23 543 -29394 0 # 23 544 -29395 0 # 23 545 -29396 0 # 23 546 -29397 0 # 23 547 -29398 0 # 23 548 -29399 0 # 23 549 -29400 0 # 23 550 -29401 0 # 23 551 -29402 0 # 23 552 -29403 0 # 23 553 -29404 0 # 23 554 -29405 0 # 23 555 -29406 0 # 23 556 -29407 0 # 23 557 -29408 0 # 23 558 -29409 0 # 23 559 -29410 0 # 23 560 -29411 0 # 23 561 -29412 0 # 23 562 -29413 0 # 23 563 -29414 0 # 23 564 -29415 0 # 23 565 -29416 0 # 23 566 -29417 0 # 23 567 -29418 0 # 23 568 -29419 0 # 23 569 -29420 0 # 23 570 -29421 0 # 23 571 -29422 0 # 23 572 -29423 0 # 23 573 -29424 0 # 23 574 -29425 0 # 23 575 -29426 0 # 23 576 -29427 0 # 24 0 -29428 0 # 24 1 -29429 0 # 24 2 -29430 7 # 24 3 -29431 0 # 24 4 -29432 1 # 24 5 -29433 6 # 24 6 -29434 1 # 24 7 -29435 6 # 24 8 -29436 6 # 24 9 -29437 4 # 24 10 -29438 6 # 24 11 -29439 7 # 24 12 -29440 8 # 24 13 -29441 7 # 24 14 -29442 7 # 24 15 -29443 7 # 24 16 -29444 7 # 24 17 -29445 7 # 24 18 -29446 7 # 24 19 -29447 7 # 24 20 -29448 8 # 24 21 -29449 8 # 24 22 -29450 8 # 24 23 -29451 9 # 24 24 -29452 8 # 24 25 -29453 9 # 24 26 -29454 9 # 24 27 -29455 10 # 24 28 -29456 10 # 24 29 -29457 9 # 24 30 -29458 10 # 24 31 -29459 10 # 24 32 -29460 10 # 24 33 -29461 11 # 24 34 -29462 10 # 24 35 -29463 11 # 24 36 -29464 11 # 24 37 -29465 11 # 24 38 -29466 11 # 24 39 -29467 12 # 24 40 -29468 12 # 24 41 -29469 12 # 24 42 -29470 12 # 24 43 -29471 13 # 24 44 -29472 11 # 24 45 -29473 12 # 24 46 -29474 13 # 24 47 -29475 14 # 24 48 -29476 13 # 24 49 -29477 13 # 24 50 -29478 13 # 24 51 -29479 15 # 24 52 -29480 15 # 24 53 -29481 13 # 24 54 -29482 18 # 24 55 -29483 15 # 24 56 -29484 18 # 24 57 -29485 17 # 24 58 -29486 16 # 24 59 -29487 15 # 24 60 -29488 17 # 24 61 -29489 19 # 24 62 -29490 15 # 24 63 -29491 15 # 24 64 -29492 15 # 24 65 -29493 14 # 24 66 -29494 16 # 24 67 -29495 14 # 24 68 -29496 19 # 24 69 -29497 14 # 24 70 -29498 12 # 24 71 -29499 13 # 24 72 -29500 11 # 24 73 -29501 23 # 24 74 -29502 18 # 24 75 -29503 17 # 24 76 -29504 17 # 24 77 -29505 24 # 24 78 -29506 16 # 24 79 -29507 21 # 24 80 -29508 11 # 24 81 -29509 6 # 24 82 -29510 15 # 24 83 -29511 0 # 24 84 -29512 6 # 24 85 -29513 0 # 24 86 -29514 0 # 24 87 -29515 15 # 24 88 -29516 17 # 24 89 -29517 16 # 24 90 -29518 40 # 24 91 -29519 0 # 24 92 -29520 5 # 24 93 -29521 0 # 24 94 -29522 0 # 24 95 -29523 0 # 24 96 -29524 0 # 24 97 -29525 0 # 24 98 -29526 0 # 24 99 -29527 0 # 24 100 -29528 0 # 24 101 -29529 0 # 24 102 -29530 0 # 24 103 -29531 0 # 24 104 -29532 0 # 24 105 -29533 0 # 24 106 -29534 0 # 24 107 -29535 0 # 24 108 -29536 0 # 24 109 -29537 0 # 24 110 -29538 0 # 24 111 -29539 0 # 24 112 -29540 0 # 24 113 -29541 0 # 24 114 -29542 0 # 24 115 -29543 0 # 24 116 -29544 0 # 24 117 -29545 0 # 24 118 -29546 0 # 24 119 -29547 0 # 24 120 -29548 0 # 24 121 -29549 0 # 24 122 -29550 0 # 24 123 -29551 0 # 24 124 -29552 0 # 24 125 -29553 0 # 24 126 -29554 0 # 24 127 -29555 0 # 24 128 -29556 0 # 24 129 -29557 0 # 24 130 -29558 0 # 24 131 -29559 0 # 24 132 -29560 0 # 24 133 -29561 0 # 24 134 -29562 0 # 24 135 -29563 0 # 24 136 -29564 0 # 24 137 -29565 0 # 24 138 -29566 0 # 24 139 -29567 0 # 24 140 -29568 0 # 24 141 -29569 0 # 24 142 -29570 0 # 24 143 -29571 0 # 24 144 -29572 0 # 24 145 -29573 0 # 24 146 -29574 0 # 24 147 -29575 0 # 24 148 -29576 0 # 24 149 -29577 0 # 24 150 -29578 0 # 24 151 -29579 0 # 24 152 -29580 0 # 24 153 -29581 0 # 24 154 -29582 0 # 24 155 -29583 0 # 24 156 -29584 0 # 24 157 -29585 0 # 24 158 -29586 0 # 24 159 -29587 0 # 24 160 -29588 0 # 24 161 -29589 0 # 24 162 -29590 0 # 24 163 -29591 0 # 24 164 -29592 0 # 24 165 -29593 0 # 24 166 -29594 0 # 24 167 -29595 0 # 24 168 -29596 0 # 24 169 -29597 0 # 24 170 -29598 0 # 24 171 -29599 0 # 24 172 -29600 0 # 24 173 -29601 0 # 24 174 -29602 0 # 24 175 -29603 0 # 24 176 -29604 0 # 24 177 -29605 0 # 24 178 -29606 0 # 24 179 -29607 0 # 24 180 -29608 0 # 24 181 -29609 0 # 24 182 -29610 0 # 24 183 -29611 0 # 24 184 -29612 0 # 24 185 -29613 0 # 24 186 -29614 0 # 24 187 -29615 0 # 24 188 -29616 0 # 24 189 -29617 0 # 24 190 -29618 0 # 24 191 -29619 0 # 24 192 -29620 0 # 24 193 -29621 0 # 24 194 -29622 0 # 24 195 -29623 0 # 24 196 -29624 0 # 24 197 -29625 0 # 24 198 -29626 0 # 24 199 -29627 0 # 24 200 -29628 0 # 24 201 -29629 0 # 24 202 -29630 0 # 24 203 -29631 0 # 24 204 -29632 0 # 24 205 -29633 0 # 24 206 -29634 0 # 24 207 -29635 0 # 24 208 -29636 0 # 24 209 -29637 0 # 24 210 -29638 0 # 24 211 -29639 0 # 24 212 -29640 0 # 24 213 -29641 0 # 24 214 -29642 0 # 24 215 -29643 0 # 24 216 -29644 0 # 24 217 -29645 0 # 24 218 -29646 0 # 24 219 -29647 0 # 24 220 -29648 0 # 24 221 -29649 0 # 24 222 -29650 0 # 24 223 -29651 0 # 24 224 -29652 0 # 24 225 -29653 0 # 24 226 -29654 0 # 24 227 -29655 0 # 24 228 -29656 0 # 24 229 -29657 0 # 24 230 -29658 0 # 24 231 -29659 0 # 24 232 -29660 0 # 24 233 -29661 0 # 24 234 -29662 0 # 24 235 -29663 0 # 24 236 -29664 0 # 24 237 -29665 0 # 24 238 -29666 0 # 24 239 -29667 0 # 24 240 -29668 0 # 24 241 -29669 0 # 24 242 -29670 0 # 24 243 -29671 0 # 24 244 -29672 0 # 24 245 -29673 0 # 24 246 -29674 0 # 24 247 -29675 0 # 24 248 -29676 0 # 24 249 -29677 0 # 24 250 -29678 0 # 24 251 -29679 0 # 24 252 -29680 0 # 24 253 -29681 0 # 24 254 -29682 0 # 24 255 -29683 0 # 24 256 -29684 0 # 24 257 -29685 0 # 24 258 -29686 0 # 24 259 -29687 0 # 24 260 -29688 0 # 24 261 -29689 0 # 24 262 -29690 0 # 24 263 -29691 0 # 24 264 -29692 0 # 24 265 -29693 0 # 24 266 -29694 0 # 24 267 -29695 0 # 24 268 -29696 0 # 24 269 -29697 0 # 24 270 -29698 0 # 24 271 -29699 0 # 24 272 -29700 0 # 24 273 -29701 0 # 24 274 -29702 0 # 24 275 -29703 0 # 24 276 -29704 0 # 24 277 -29705 0 # 24 278 -29706 0 # 24 279 -29707 0 # 24 280 -29708 0 # 24 281 -29709 0 # 24 282 -29710 0 # 24 283 -29711 0 # 24 284 -29712 0 # 24 285 -29713 0 # 24 286 -29714 0 # 24 287 -29715 0 # 24 288 -29716 0 # 24 289 -29717 0 # 24 290 -29718 0 # 24 291 -29719 0 # 24 292 -29720 0 # 24 293 -29721 0 # 24 294 -29722 0 # 24 295 -29723 0 # 24 296 -29724 0 # 24 297 -29725 0 # 24 298 -29726 0 # 24 299 -29727 0 # 24 300 -29728 0 # 24 301 -29729 0 # 24 302 -29730 0 # 24 303 -29731 0 # 24 304 -29732 0 # 24 305 -29733 0 # 24 306 -29734 0 # 24 307 -29735 0 # 24 308 -29736 0 # 24 309 -29737 0 # 24 310 -29738 0 # 24 311 -29739 0 # 24 312 -29740 0 # 24 313 -29741 0 # 24 314 -29742 0 # 24 315 -29743 0 # 24 316 -29744 0 # 24 317 -29745 0 # 24 318 -29746 0 # 24 319 -29747 0 # 24 320 -29748 0 # 24 321 -29749 0 # 24 322 -29750 0 # 24 323 -29751 0 # 24 324 -29752 0 # 24 325 -29753 0 # 24 326 -29754 0 # 24 327 -29755 0 # 24 328 -29756 0 # 24 329 -29757 0 # 24 330 -29758 0 # 24 331 -29759 0 # 24 332 -29760 0 # 24 333 -29761 0 # 24 334 -29762 0 # 24 335 -29763 0 # 24 336 -29764 0 # 24 337 -29765 0 # 24 338 -29766 0 # 24 339 -29767 0 # 24 340 -29768 0 # 24 341 -29769 0 # 24 342 -29770 0 # 24 343 -29771 0 # 24 344 -29772 0 # 24 345 -29773 0 # 24 346 -29774 0 # 24 347 -29775 0 # 24 348 -29776 0 # 24 349 -29777 0 # 24 350 -29778 0 # 24 351 -29779 0 # 24 352 -29780 0 # 24 353 -29781 0 # 24 354 -29782 0 # 24 355 -29783 0 # 24 356 -29784 0 # 24 357 -29785 0 # 24 358 -29786 0 # 24 359 -29787 0 # 24 360 -29788 0 # 24 361 -29789 0 # 24 362 -29790 0 # 24 363 -29791 0 # 24 364 -29792 0 # 24 365 -29793 0 # 24 366 -29794 0 # 24 367 -29795 0 # 24 368 -29796 0 # 24 369 -29797 0 # 24 370 -29798 0 # 24 371 -29799 0 # 24 372 -29800 0 # 24 373 -29801 0 # 24 374 -29802 0 # 24 375 -29803 0 # 24 376 -29804 0 # 24 377 -29805 0 # 24 378 -29806 0 # 24 379 -29807 0 # 24 380 -29808 0 # 24 381 -29809 0 # 24 382 -29810 0 # 24 383 -29811 0 # 24 384 -29812 0 # 24 385 -29813 0 # 24 386 -29814 0 # 24 387 -29815 0 # 24 388 -29816 0 # 24 389 -29817 0 # 24 390 -29818 0 # 24 391 -29819 0 # 24 392 -29820 0 # 24 393 -29821 0 # 24 394 -29822 0 # 24 395 -29823 0 # 24 396 -29824 0 # 24 397 -29825 0 # 24 398 -29826 0 # 24 399 -29827 0 # 24 400 -29828 0 # 24 401 -29829 0 # 24 402 -29830 0 # 24 403 -29831 0 # 24 404 -29832 0 # 24 405 -29833 0 # 24 406 -29834 0 # 24 407 -29835 0 # 24 408 -29836 0 # 24 409 -29837 0 # 24 410 -29838 0 # 24 411 -29839 0 # 24 412 -29840 0 # 24 413 -29841 0 # 24 414 -29842 0 # 24 415 -29843 0 # 24 416 -29844 0 # 24 417 -29845 0 # 24 418 -29846 0 # 24 419 -29847 0 # 24 420 -29848 0 # 24 421 -29849 0 # 24 422 -29850 0 # 24 423 -29851 0 # 24 424 -29852 0 # 24 425 -29853 0 # 24 426 -29854 0 # 24 427 -29855 0 # 24 428 -29856 0 # 24 429 -29857 0 # 24 430 -29858 0 # 24 431 -29859 0 # 24 432 -29860 0 # 24 433 -29861 0 # 24 434 -29862 0 # 24 435 -29863 0 # 24 436 -29864 0 # 24 437 -29865 0 # 24 438 -29866 0 # 24 439 -29867 0 # 24 440 -29868 0 # 24 441 -29869 0 # 24 442 -29870 0 # 24 443 -29871 0 # 24 444 -29872 0 # 24 445 -29873 0 # 24 446 -29874 0 # 24 447 -29875 0 # 24 448 -29876 0 # 24 449 -29877 0 # 24 450 -29878 0 # 24 451 -29879 0 # 24 452 -29880 0 # 24 453 -29881 0 # 24 454 -29882 0 # 24 455 -29883 0 # 24 456 -29884 0 # 24 457 -29885 0 # 24 458 -29886 0 # 24 459 -29887 0 # 24 460 -29888 0 # 24 461 -29889 0 # 24 462 -29890 0 # 24 463 -29891 0 # 24 464 -29892 0 # 24 465 -29893 0 # 24 466 -29894 0 # 24 467 -29895 0 # 24 468 -29896 0 # 24 469 -29897 0 # 24 470 -29898 0 # 24 471 -29899 0 # 24 472 -29900 0 # 24 473 -29901 0 # 24 474 -29902 0 # 24 475 -29903 0 # 24 476 -29904 0 # 24 477 -29905 0 # 24 478 -29906 0 # 24 479 -29907 0 # 24 480 -29908 0 # 24 481 -29909 0 # 24 482 -29910 0 # 24 483 -29911 0 # 24 484 -29912 0 # 24 485 -29913 0 # 24 486 -29914 0 # 24 487 -29915 0 # 24 488 -29916 0 # 24 489 -29917 0 # 24 490 -29918 0 # 24 491 -29919 0 # 24 492 -29920 0 # 24 493 -29921 0 # 24 494 -29922 0 # 24 495 -29923 0 # 24 496 -29924 0 # 24 497 -29925 0 # 24 498 -29926 0 # 24 499 -29927 0 # 24 500 -29928 0 # 24 501 -29929 0 # 24 502 -29930 0 # 24 503 -29931 0 # 24 504 -29932 0 # 24 505 -29933 0 # 24 506 -29934 0 # 24 507 -29935 0 # 24 508 -29936 0 # 24 509 -29937 0 # 24 510 -29938 0 # 24 511 -29939 0 # 24 512 -29940 0 # 24 513 -29941 0 # 24 514 -29942 0 # 24 515 -29943 0 # 24 516 -29944 0 # 24 517 -29945 0 # 24 518 -29946 0 # 24 519 -29947 0 # 24 520 -29948 0 # 24 521 -29949 0 # 24 522 -29950 0 # 24 523 -29951 0 # 24 524 -29952 0 # 24 525 -29953 0 # 24 526 -29954 0 # 24 527 -29955 0 # 24 528 -29956 0 # 24 529 -29957 0 # 24 530 -29958 0 # 24 531 -29959 0 # 24 532 -29960 0 # 24 533 -29961 0 # 24 534 -29962 0 # 24 535 -29963 0 # 24 536 -29964 0 # 24 537 -29965 0 # 24 538 -29966 0 # 24 539 -29967 0 # 24 540 -29968 0 # 24 541 -29969 0 # 24 542 -29970 0 # 24 543 -29971 0 # 24 544 -29972 0 # 24 545 -29973 0 # 24 546 -29974 0 # 24 547 -29975 0 # 24 548 -29976 0 # 24 549 -29977 0 # 24 550 -29978 0 # 24 551 -29979 0 # 24 552 -29980 0 # 24 553 -29981 0 # 24 554 -29982 0 # 24 555 -29983 0 # 24 556 -29984 0 # 24 557 -29985 0 # 24 558 -29986 0 # 24 559 -29987 0 # 24 560 -29988 0 # 24 561 -29989 0 # 24 562 -29990 0 # 24 563 -29991 0 # 24 564 -29992 0 # 24 565 -29993 0 # 24 566 -29994 0 # 24 567 -29995 0 # 24 568 -29996 0 # 24 569 -29997 0 # 24 570 -29998 0 # 24 571 -29999 0 # 24 572 -30000 0 # 24 573 -30001 0 # 24 574 -30002 0 # 24 575 -30003 0 # 24 576 -30004 0 # 25 0 -30005 0 # 25 1 -30006 0 # 25 2 -30007 7 # 25 3 -30008 0 # 25 4 -30009 1 # 25 5 -30010 6 # 25 6 -30011 1 # 25 7 -30012 7 # 25 8 -30013 6 # 25 9 -30014 4 # 25 10 -30015 5 # 25 11 -30016 6 # 25 12 -30017 8 # 25 13 -30018 7 # 25 14 -30019 7 # 25 15 -30020 6 # 25 16 -30021 6 # 25 17 -30022 7 # 25 18 -30023 7 # 25 19 -30024 8 # 25 20 -30025 7 # 25 21 -30026 7 # 25 22 -30027 7 # 25 23 -30028 9 # 25 24 -30029 8 # 25 25 -30030 9 # 25 26 -30031 8 # 25 27 -30032 9 # 25 28 -30033 9 # 25 29 -30034 9 # 25 30 -30035 10 # 25 31 -30036 9 # 25 32 -30037 10 # 25 33 -30038 11 # 25 34 -30039 10 # 25 35 -30040 11 # 25 36 -30041 10 # 25 37 -30042 11 # 25 38 -30043 11 # 25 39 -30044 12 # 25 40 -30045 12 # 25 41 -30046 11 # 25 42 -30047 11 # 25 43 -30048 12 # 25 44 -30049 11 # 25 45 -30050 12 # 25 46 -30051 12 # 25 47 -30052 14 # 25 48 -30053 14 # 25 49 -30054 12 # 25 50 -30055 13 # 25 51 -30056 16 # 25 52 -30057 14 # 25 53 -30058 13 # 25 54 -30059 17 # 25 55 -30060 12 # 25 56 -30061 18 # 25 57 -30062 15 # 25 58 -30063 12 # 25 59 -30064 15 # 25 60 -30065 16 # 25 61 -30066 20 # 25 62 -30067 13 # 25 63 -30068 14 # 25 64 -30069 15 # 25 65 -30070 12 # 25 66 -30071 16 # 25 67 -30072 13 # 25 68 -30073 23 # 25 69 -30074 13 # 25 70 -30075 11 # 25 71 -30076 16 # 25 72 -30077 10 # 25 73 -30078 22 # 25 74 -30079 22 # 25 75 -30080 15 # 25 76 -30081 13 # 25 77 -30082 20 # 25 78 -30083 13 # 25 79 -30084 24 # 25 80 -30085 12 # 25 81 -30086 9 # 25 82 -30087 17 # 25 83 -30088 0 # 25 84 -30089 6 # 25 85 -30090 0 # 25 86 -30091 0 # 25 87 -30092 11 # 25 88 -30093 21 # 25 89 -30094 12 # 25 90 -30095 37 # 25 91 -30096 0 # 25 92 -30097 5 # 25 93 -30098 0 # 25 94 -30099 0 # 25 95 -30100 0 # 25 96 -30101 0 # 25 97 -30102 0 # 25 98 -30103 0 # 25 99 -30104 0 # 25 100 -30105 0 # 25 101 -30106 0 # 25 102 -30107 0 # 25 103 -30108 0 # 25 104 -30109 0 # 25 105 -30110 0 # 25 106 -30111 0 # 25 107 -30112 0 # 25 108 -30113 0 # 25 109 -30114 0 # 25 110 -30115 0 # 25 111 -30116 0 # 25 112 -30117 0 # 25 113 -30118 0 # 25 114 -30119 0 # 25 115 -30120 0 # 25 116 -30121 0 # 25 117 -30122 0 # 25 118 -30123 0 # 25 119 -30124 0 # 25 120 -30125 0 # 25 121 -30126 0 # 25 122 -30127 0 # 25 123 -30128 0 # 25 124 -30129 0 # 25 125 -30130 0 # 25 126 -30131 0 # 25 127 -30132 0 # 25 128 -30133 0 # 25 129 -30134 0 # 25 130 -30135 0 # 25 131 -30136 0 # 25 132 -30137 0 # 25 133 -30138 0 # 25 134 -30139 0 # 25 135 -30140 0 # 25 136 -30141 0 # 25 137 -30142 0 # 25 138 -30143 0 # 25 139 -30144 0 # 25 140 -30145 0 # 25 141 -30146 0 # 25 142 -30147 0 # 25 143 -30148 0 # 25 144 -30149 0 # 25 145 -30150 0 # 25 146 -30151 0 # 25 147 -30152 0 # 25 148 -30153 0 # 25 149 -30154 0 # 25 150 -30155 0 # 25 151 -30156 0 # 25 152 -30157 0 # 25 153 -30158 0 # 25 154 -30159 0 # 25 155 -30160 0 # 25 156 -30161 0 # 25 157 -30162 0 # 25 158 -30163 0 # 25 159 -30164 0 # 25 160 -30165 0 # 25 161 -30166 0 # 25 162 -30167 0 # 25 163 -30168 0 # 25 164 -30169 0 # 25 165 -30170 0 # 25 166 -30171 0 # 25 167 -30172 0 # 25 168 -30173 0 # 25 169 -30174 0 # 25 170 -30175 0 # 25 171 -30176 0 # 25 172 -30177 0 # 25 173 -30178 0 # 25 174 -30179 0 # 25 175 -30180 0 # 25 176 -30181 0 # 25 177 -30182 0 # 25 178 -30183 0 # 25 179 -30184 0 # 25 180 -30185 0 # 25 181 -30186 0 # 25 182 -30187 0 # 25 183 -30188 0 # 25 184 -30189 0 # 25 185 -30190 0 # 25 186 -30191 0 # 25 187 -30192 0 # 25 188 -30193 0 # 25 189 -30194 0 # 25 190 -30195 0 # 25 191 -30196 0 # 25 192 -30197 0 # 25 193 -30198 0 # 25 194 -30199 0 # 25 195 -30200 0 # 25 196 -30201 0 # 25 197 -30202 0 # 25 198 -30203 0 # 25 199 -30204 0 # 25 200 -30205 0 # 25 201 -30206 0 # 25 202 -30207 0 # 25 203 -30208 0 # 25 204 -30209 0 # 25 205 -30210 0 # 25 206 -30211 0 # 25 207 -30212 0 # 25 208 -30213 0 # 25 209 -30214 0 # 25 210 -30215 0 # 25 211 -30216 0 # 25 212 -30217 0 # 25 213 -30218 0 # 25 214 -30219 0 # 25 215 -30220 0 # 25 216 -30221 0 # 25 217 -30222 0 # 25 218 -30223 0 # 25 219 -30224 0 # 25 220 -30225 0 # 25 221 -30226 0 # 25 222 -30227 0 # 25 223 -30228 0 # 25 224 -30229 0 # 25 225 -30230 0 # 25 226 -30231 0 # 25 227 -30232 0 # 25 228 -30233 0 # 25 229 -30234 0 # 25 230 -30235 0 # 25 231 -30236 0 # 25 232 -30237 0 # 25 233 -30238 0 # 25 234 -30239 0 # 25 235 -30240 0 # 25 236 -30241 0 # 25 237 -30242 0 # 25 238 -30243 0 # 25 239 -30244 0 # 25 240 -30245 0 # 25 241 -30246 0 # 25 242 -30247 0 # 25 243 -30248 0 # 25 244 -30249 0 # 25 245 -30250 0 # 25 246 -30251 0 # 25 247 -30252 0 # 25 248 -30253 0 # 25 249 -30254 0 # 25 250 -30255 0 # 25 251 -30256 0 # 25 252 -30257 0 # 25 253 -30258 0 # 25 254 -30259 0 # 25 255 -30260 0 # 25 256 -30261 0 # 25 257 -30262 0 # 25 258 -30263 0 # 25 259 -30264 0 # 25 260 -30265 0 # 25 261 -30266 0 # 25 262 -30267 0 # 25 263 -30268 0 # 25 264 -30269 0 # 25 265 -30270 0 # 25 266 -30271 0 # 25 267 -30272 0 # 25 268 -30273 0 # 25 269 -30274 0 # 25 270 -30275 0 # 25 271 -30276 0 # 25 272 -30277 0 # 25 273 -30278 0 # 25 274 -30279 0 # 25 275 -30280 0 # 25 276 -30281 0 # 25 277 -30282 0 # 25 278 -30283 0 # 25 279 -30284 0 # 25 280 -30285 0 # 25 281 -30286 0 # 25 282 -30287 0 # 25 283 -30288 0 # 25 284 -30289 0 # 25 285 -30290 0 # 25 286 -30291 0 # 25 287 -30292 0 # 25 288 -30293 0 # 25 289 -30294 0 # 25 290 -30295 0 # 25 291 -30296 0 # 25 292 -30297 0 # 25 293 -30298 0 # 25 294 -30299 0 # 25 295 -30300 0 # 25 296 -30301 0 # 25 297 -30302 0 # 25 298 -30303 0 # 25 299 -30304 0 # 25 300 -30305 0 # 25 301 -30306 0 # 25 302 -30307 0 # 25 303 -30308 0 # 25 304 -30309 0 # 25 305 -30310 0 # 25 306 -30311 0 # 25 307 -30312 0 # 25 308 -30313 0 # 25 309 -30314 0 # 25 310 -30315 0 # 25 311 -30316 0 # 25 312 -30317 0 # 25 313 -30318 0 # 25 314 -30319 0 # 25 315 -30320 0 # 25 316 -30321 0 # 25 317 -30322 0 # 25 318 -30323 0 # 25 319 -30324 0 # 25 320 -30325 0 # 25 321 -30326 0 # 25 322 -30327 0 # 25 323 -30328 0 # 25 324 -30329 0 # 25 325 -30330 0 # 25 326 -30331 0 # 25 327 -30332 0 # 25 328 -30333 0 # 25 329 -30334 0 # 25 330 -30335 0 # 25 331 -30336 0 # 25 332 -30337 0 # 25 333 -30338 0 # 25 334 -30339 0 # 25 335 -30340 0 # 25 336 -30341 0 # 25 337 -30342 0 # 25 338 -30343 0 # 25 339 -30344 0 # 25 340 -30345 0 # 25 341 -30346 0 # 25 342 -30347 0 # 25 343 -30348 0 # 25 344 -30349 0 # 25 345 -30350 0 # 25 346 -30351 0 # 25 347 -30352 0 # 25 348 -30353 0 # 25 349 -30354 0 # 25 350 -30355 0 # 25 351 -30356 0 # 25 352 -30357 0 # 25 353 -30358 0 # 25 354 -30359 0 # 25 355 -30360 0 # 25 356 -30361 0 # 25 357 -30362 0 # 25 358 -30363 0 # 25 359 -30364 0 # 25 360 -30365 0 # 25 361 -30366 0 # 25 362 -30367 0 # 25 363 -30368 0 # 25 364 -30369 0 # 25 365 -30370 0 # 25 366 -30371 0 # 25 367 -30372 0 # 25 368 -30373 0 # 25 369 -30374 0 # 25 370 -30375 0 # 25 371 -30376 0 # 25 372 -30377 0 # 25 373 -30378 0 # 25 374 -30379 0 # 25 375 -30380 0 # 25 376 -30381 0 # 25 377 -30382 0 # 25 378 -30383 0 # 25 379 -30384 0 # 25 380 -30385 0 # 25 381 -30386 0 # 25 382 -30387 0 # 25 383 -30388 0 # 25 384 -30389 0 # 25 385 -30390 0 # 25 386 -30391 0 # 25 387 -30392 0 # 25 388 -30393 0 # 25 389 -30394 0 # 25 390 -30395 0 # 25 391 -30396 0 # 25 392 -30397 0 # 25 393 -30398 0 # 25 394 -30399 0 # 25 395 -30400 0 # 25 396 -30401 0 # 25 397 -30402 0 # 25 398 -30403 0 # 25 399 -30404 0 # 25 400 -30405 0 # 25 401 -30406 0 # 25 402 -30407 0 # 25 403 -30408 0 # 25 404 -30409 0 # 25 405 -30410 0 # 25 406 -30411 0 # 25 407 -30412 0 # 25 408 -30413 0 # 25 409 -30414 0 # 25 410 -30415 0 # 25 411 -30416 0 # 25 412 -30417 0 # 25 413 -30418 0 # 25 414 -30419 0 # 25 415 -30420 0 # 25 416 -30421 0 # 25 417 -30422 0 # 25 418 -30423 0 # 25 419 -30424 0 # 25 420 -30425 0 # 25 421 -30426 0 # 25 422 -30427 0 # 25 423 -30428 0 # 25 424 -30429 0 # 25 425 -30430 0 # 25 426 -30431 0 # 25 427 -30432 0 # 25 428 -30433 0 # 25 429 -30434 0 # 25 430 -30435 0 # 25 431 -30436 0 # 25 432 -30437 0 # 25 433 -30438 0 # 25 434 -30439 0 # 25 435 -30440 0 # 25 436 -30441 0 # 25 437 -30442 0 # 25 438 -30443 0 # 25 439 -30444 0 # 25 440 -30445 0 # 25 441 -30446 0 # 25 442 -30447 0 # 25 443 -30448 0 # 25 444 -30449 0 # 25 445 -30450 0 # 25 446 -30451 0 # 25 447 -30452 0 # 25 448 -30453 0 # 25 449 -30454 0 # 25 450 -30455 0 # 25 451 -30456 0 # 25 452 -30457 0 # 25 453 -30458 0 # 25 454 -30459 0 # 25 455 -30460 0 # 25 456 -30461 0 # 25 457 -30462 0 # 25 458 -30463 0 # 25 459 -30464 0 # 25 460 -30465 0 # 25 461 -30466 0 # 25 462 -30467 0 # 25 463 -30468 0 # 25 464 -30469 0 # 25 465 -30470 0 # 25 466 -30471 0 # 25 467 -30472 0 # 25 468 -30473 0 # 25 469 -30474 0 # 25 470 -30475 0 # 25 471 -30476 0 # 25 472 -30477 0 # 25 473 -30478 0 # 25 474 -30479 0 # 25 475 -30480 0 # 25 476 -30481 0 # 25 477 -30482 0 # 25 478 -30483 0 # 25 479 -30484 0 # 25 480 -30485 0 # 25 481 -30486 0 # 25 482 -30487 0 # 25 483 -30488 0 # 25 484 -30489 0 # 25 485 -30490 0 # 25 486 -30491 0 # 25 487 -30492 0 # 25 488 -30493 0 # 25 489 -30494 0 # 25 490 -30495 0 # 25 491 -30496 0 # 25 492 -30497 0 # 25 493 -30498 0 # 25 494 -30499 0 # 25 495 -30500 0 # 25 496 -30501 0 # 25 497 -30502 0 # 25 498 -30503 0 # 25 499 -30504 0 # 25 500 -30505 0 # 25 501 -30506 0 # 25 502 -30507 0 # 25 503 -30508 0 # 25 504 -30509 0 # 25 505 -30510 0 # 25 506 -30511 0 # 25 507 -30512 0 # 25 508 -30513 0 # 25 509 -30514 0 # 25 510 -30515 0 # 25 511 -30516 0 # 25 512 -30517 0 # 25 513 -30518 0 # 25 514 -30519 0 # 25 515 -30520 0 # 25 516 -30521 0 # 25 517 -30522 0 # 25 518 -30523 0 # 25 519 -30524 0 # 25 520 -30525 0 # 25 521 -30526 0 # 25 522 -30527 0 # 25 523 -30528 0 # 25 524 -30529 0 # 25 525 -30530 0 # 25 526 -30531 0 # 25 527 -30532 0 # 25 528 -30533 0 # 25 529 -30534 0 # 25 530 -30535 0 # 25 531 -30536 0 # 25 532 -30537 0 # 25 533 -30538 0 # 25 534 -30539 0 # 25 535 -30540 0 # 25 536 -30541 0 # 25 537 -30542 0 # 25 538 -30543 0 # 25 539 -30544 0 # 25 540 -30545 0 # 25 541 -30546 0 # 25 542 -30547 0 # 25 543 -30548 0 # 25 544 -30549 0 # 25 545 -30550 0 # 25 546 -30551 0 # 25 547 -30552 0 # 25 548 -30553 0 # 25 549 -30554 0 # 25 550 -30555 0 # 25 551 -30556 0 # 25 552 -30557 0 # 25 553 -30558 0 # 25 554 -30559 0 # 25 555 -30560 0 # 25 556 -30561 0 # 25 557 -30562 0 # 25 558 -30563 0 # 25 559 -30564 0 # 25 560 -30565 0 # 25 561 -30566 0 # 25 562 -30567 0 # 25 563 -30568 0 # 25 564 -30569 0 # 25 565 -30570 0 # 25 566 -30571 0 # 25 567 -30572 0 # 25 568 -30573 0 # 25 569 -30574 0 # 25 570 -30575 0 # 25 571 -30576 0 # 25 572 -30577 0 # 25 573 -30578 0 # 25 574 -30579 0 # 25 575 -30580 0 # 25 576 -30581 0 # 26 0 -30582 0 # 26 1 -30583 0 # 26 2 -30584 7 # 26 3 -30585 0 # 26 4 -30586 1 # 26 5 -30587 5 # 26 6 -30588 1 # 26 7 -30589 5 # 26 8 -30590 5 # 26 9 -30591 4 # 26 10 -30592 5 # 26 11 -30593 5 # 26 12 -30594 6 # 26 13 -30595 6 # 26 14 -30596 6 # 26 15 -30597 5 # 26 16 -30598 5 # 26 17 -30599 6 # 26 18 -30600 6 # 26 19 -30601 7 # 26 20 -30602 6 # 26 21 -30603 6 # 26 22 -30604 6 # 26 23 -30605 8 # 26 24 -30606 8 # 26 25 -30607 8 # 26 26 -30608 8 # 26 27 -30609 8 # 26 28 -30610 8 # 26 29 -30611 8 # 26 30 -30612 9 # 26 31 -30613 8 # 26 32 -30614 9 # 26 33 -30615 10 # 26 34 -30616 10 # 26 35 -30617 9 # 26 36 -30618 9 # 26 37 -30619 10 # 26 38 -30620 10 # 26 39 -30621 10 # 26 40 -30622 11 # 26 41 -30623 11 # 26 42 -30624 10 # 26 43 -30625 11 # 26 44 -30626 11 # 26 45 -30627 11 # 26 46 -30628 11 # 26 47 -30629 12 # 26 48 -30630 12 # 26 49 -30631 11 # 26 50 -30632 11 # 26 51 -30633 15 # 26 52 -30634 12 # 26 53 -30635 11 # 26 54 -30636 13 # 26 55 -30637 12 # 26 56 -30638 15 # 26 57 -30639 14 # 26 58 -30640 13 # 26 59 -30641 14 # 26 60 -30642 15 # 26 61 -30643 16 # 26 62 -30644 11 # 26 63 -30645 13 # 26 64 -30646 13 # 26 65 -30647 11 # 26 66 -30648 17 # 26 67 -30649 13 # 26 68 -30650 22 # 26 69 -30651 10 # 26 70 -30652 9 # 26 71 -30653 14 # 26 72 -30654 9 # 26 73 -30655 18 # 26 74 -30656 19 # 26 75 -30657 16 # 26 76 -30658 13 # 26 77 -30659 19 # 26 78 -30660 10 # 26 79 -30661 26 # 26 80 -30662 11 # 26 81 -30663 10 # 26 82 -30664 17 # 26 83 -30665 0 # 26 84 -30666 9 # 26 85 -30667 0 # 26 86 -30668 0 # 26 87 -30669 10 # 26 88 -30670 23 # 26 89 -30671 11 # 26 90 -30672 32 # 26 91 -30673 0 # 26 92 -30674 8 # 26 93 -30675 0 # 26 94 -30676 0 # 26 95 -30677 0 # 26 96 -30678 0 # 26 97 -30679 0 # 26 98 -30680 0 # 26 99 -30681 0 # 26 100 -30682 0 # 26 101 -30683 0 # 26 102 -30684 0 # 26 103 -30685 0 # 26 104 -30686 0 # 26 105 -30687 0 # 26 106 -30688 0 # 26 107 -30689 0 # 26 108 -30690 0 # 26 109 -30691 0 # 26 110 -30692 0 # 26 111 -30693 0 # 26 112 -30694 0 # 26 113 -30695 0 # 26 114 -30696 0 # 26 115 -30697 0 # 26 116 -30698 0 # 26 117 -30699 0 # 26 118 -30700 0 # 26 119 -30701 0 # 26 120 -30702 0 # 26 121 -30703 0 # 26 122 -30704 0 # 26 123 -30705 0 # 26 124 -30706 0 # 26 125 -30707 0 # 26 126 -30708 0 # 26 127 -30709 0 # 26 128 -30710 0 # 26 129 -30711 0 # 26 130 -30712 0 # 26 131 -30713 0 # 26 132 -30714 0 # 26 133 -30715 0 # 26 134 -30716 0 # 26 135 -30717 0 # 26 136 -30718 0 # 26 137 -30719 0 # 26 138 -30720 0 # 26 139 -30721 0 # 26 140 -30722 0 # 26 141 -30723 0 # 26 142 -30724 0 # 26 143 -30725 0 # 26 144 -30726 0 # 26 145 -30727 0 # 26 146 -30728 0 # 26 147 -30729 0 # 26 148 -30730 0 # 26 149 -30731 0 # 26 150 -30732 0 # 26 151 -30733 0 # 26 152 -30734 0 # 26 153 -30735 0 # 26 154 -30736 0 # 26 155 -30737 0 # 26 156 -30738 0 # 26 157 -30739 0 # 26 158 -30740 0 # 26 159 -30741 0 # 26 160 -30742 0 # 26 161 -30743 0 # 26 162 -30744 0 # 26 163 -30745 0 # 26 164 -30746 0 # 26 165 -30747 0 # 26 166 -30748 0 # 26 167 -30749 0 # 26 168 -30750 0 # 26 169 -30751 0 # 26 170 -30752 0 # 26 171 -30753 0 # 26 172 -30754 0 # 26 173 -30755 0 # 26 174 -30756 0 # 26 175 -30757 0 # 26 176 -30758 0 # 26 177 -30759 0 # 26 178 -30760 0 # 26 179 -30761 0 # 26 180 -30762 0 # 26 181 -30763 0 # 26 182 -30764 0 # 26 183 -30765 0 # 26 184 -30766 0 # 26 185 -30767 0 # 26 186 -30768 0 # 26 187 -30769 0 # 26 188 -30770 0 # 26 189 -30771 0 # 26 190 -30772 0 # 26 191 -30773 0 # 26 192 -30774 0 # 26 193 -30775 0 # 26 194 -30776 0 # 26 195 -30777 0 # 26 196 -30778 0 # 26 197 -30779 0 # 26 198 -30780 0 # 26 199 -30781 0 # 26 200 -30782 0 # 26 201 -30783 0 # 26 202 -30784 0 # 26 203 -30785 0 # 26 204 -30786 0 # 26 205 -30787 0 # 26 206 -30788 0 # 26 207 -30789 0 # 26 208 -30790 0 # 26 209 -30791 0 # 26 210 -30792 0 # 26 211 -30793 0 # 26 212 -30794 0 # 26 213 -30795 0 # 26 214 -30796 0 # 26 215 -30797 0 # 26 216 -30798 0 # 26 217 -30799 0 # 26 218 -30800 0 # 26 219 -30801 0 # 26 220 -30802 0 # 26 221 -30803 0 # 26 222 -30804 0 # 26 223 -30805 0 # 26 224 -30806 0 # 26 225 -30807 0 # 26 226 -30808 0 # 26 227 -30809 0 # 26 228 -30810 0 # 26 229 -30811 0 # 26 230 -30812 0 # 26 231 -30813 0 # 26 232 -30814 0 # 26 233 -30815 0 # 26 234 -30816 0 # 26 235 -30817 0 # 26 236 -30818 0 # 26 237 -30819 0 # 26 238 -30820 0 # 26 239 -30821 0 # 26 240 -30822 0 # 26 241 -30823 0 # 26 242 -30824 0 # 26 243 -30825 0 # 26 244 -30826 0 # 26 245 -30827 0 # 26 246 -30828 0 # 26 247 -30829 0 # 26 248 -30830 0 # 26 249 -30831 0 # 26 250 -30832 0 # 26 251 -30833 0 # 26 252 -30834 0 # 26 253 -30835 0 # 26 254 -30836 0 # 26 255 -30837 0 # 26 256 -30838 0 # 26 257 -30839 0 # 26 258 -30840 0 # 26 259 -30841 0 # 26 260 -30842 0 # 26 261 -30843 0 # 26 262 -30844 0 # 26 263 -30845 0 # 26 264 -30846 0 # 26 265 -30847 0 # 26 266 -30848 0 # 26 267 -30849 0 # 26 268 -30850 0 # 26 269 -30851 0 # 26 270 -30852 0 # 26 271 -30853 0 # 26 272 -30854 0 # 26 273 -30855 0 # 26 274 -30856 0 # 26 275 -30857 0 # 26 276 -30858 0 # 26 277 -30859 0 # 26 278 -30860 0 # 26 279 -30861 0 # 26 280 -30862 0 # 26 281 -30863 0 # 26 282 -30864 0 # 26 283 -30865 0 # 26 284 -30866 0 # 26 285 -30867 0 # 26 286 -30868 0 # 26 287 -30869 0 # 26 288 -30870 0 # 26 289 -30871 0 # 26 290 -30872 0 # 26 291 -30873 0 # 26 292 -30874 0 # 26 293 -30875 0 # 26 294 -30876 0 # 26 295 -30877 0 # 26 296 -30878 0 # 26 297 -30879 0 # 26 298 -30880 0 # 26 299 -30881 0 # 26 300 -30882 0 # 26 301 -30883 0 # 26 302 -30884 0 # 26 303 -30885 0 # 26 304 -30886 0 # 26 305 -30887 0 # 26 306 -30888 0 # 26 307 -30889 0 # 26 308 -30890 0 # 26 309 -30891 0 # 26 310 -30892 0 # 26 311 -30893 0 # 26 312 -30894 0 # 26 313 -30895 0 # 26 314 -30896 0 # 26 315 -30897 0 # 26 316 -30898 0 # 26 317 -30899 0 # 26 318 -30900 0 # 26 319 -30901 0 # 26 320 -30902 0 # 26 321 -30903 0 # 26 322 -30904 0 # 26 323 -30905 0 # 26 324 -30906 0 # 26 325 -30907 0 # 26 326 -30908 0 # 26 327 -30909 0 # 26 328 -30910 0 # 26 329 -30911 0 # 26 330 -30912 0 # 26 331 -30913 0 # 26 332 -30914 0 # 26 333 -30915 0 # 26 334 -30916 0 # 26 335 -30917 0 # 26 336 -30918 0 # 26 337 -30919 0 # 26 338 -30920 0 # 26 339 -30921 0 # 26 340 -30922 0 # 26 341 -30923 0 # 26 342 -30924 0 # 26 343 -30925 0 # 26 344 -30926 0 # 26 345 -30927 0 # 26 346 -30928 0 # 26 347 -30929 0 # 26 348 -30930 0 # 26 349 -30931 0 # 26 350 -30932 0 # 26 351 -30933 0 # 26 352 -30934 0 # 26 353 -30935 0 # 26 354 -30936 0 # 26 355 -30937 0 # 26 356 -30938 0 # 26 357 -30939 0 # 26 358 -30940 0 # 26 359 -30941 0 # 26 360 -30942 0 # 26 361 -30943 0 # 26 362 -30944 0 # 26 363 -30945 0 # 26 364 -30946 0 # 26 365 -30947 0 # 26 366 -30948 0 # 26 367 -30949 0 # 26 368 -30950 0 # 26 369 -30951 0 # 26 370 -30952 0 # 26 371 -30953 0 # 26 372 -30954 0 # 26 373 -30955 0 # 26 374 -30956 0 # 26 375 -30957 0 # 26 376 -30958 0 # 26 377 -30959 0 # 26 378 -30960 0 # 26 379 -30961 0 # 26 380 -30962 0 # 26 381 -30963 0 # 26 382 -30964 0 # 26 383 -30965 0 # 26 384 -30966 0 # 26 385 -30967 0 # 26 386 -30968 0 # 26 387 -30969 0 # 26 388 -30970 0 # 26 389 -30971 0 # 26 390 -30972 0 # 26 391 -30973 0 # 26 392 -30974 0 # 26 393 -30975 0 # 26 394 -30976 0 # 26 395 -30977 0 # 26 396 -30978 0 # 26 397 -30979 0 # 26 398 -30980 0 # 26 399 -30981 0 # 26 400 -30982 0 # 26 401 -30983 0 # 26 402 -30984 0 # 26 403 -30985 0 # 26 404 -30986 0 # 26 405 -30987 0 # 26 406 -30988 0 # 26 407 -30989 0 # 26 408 -30990 0 # 26 409 -30991 0 # 26 410 -30992 0 # 26 411 -30993 0 # 26 412 -30994 0 # 26 413 -30995 0 # 26 414 -30996 0 # 26 415 -30997 0 # 26 416 -30998 0 # 26 417 -30999 0 # 26 418 -31000 0 # 26 419 -31001 0 # 26 420 -31002 0 # 26 421 -31003 0 # 26 422 -31004 0 # 26 423 -31005 0 # 26 424 -31006 0 # 26 425 -31007 0 # 26 426 -31008 0 # 26 427 -31009 0 # 26 428 -31010 0 # 26 429 -31011 0 # 26 430 -31012 0 # 26 431 -31013 0 # 26 432 -31014 0 # 26 433 -31015 0 # 26 434 -31016 0 # 26 435 -31017 0 # 26 436 -31018 0 # 26 437 -31019 0 # 26 438 -31020 0 # 26 439 -31021 0 # 26 440 -31022 0 # 26 441 -31023 0 # 26 442 -31024 0 # 26 443 -31025 0 # 26 444 -31026 0 # 26 445 -31027 0 # 26 446 -31028 0 # 26 447 -31029 0 # 26 448 -31030 0 # 26 449 -31031 0 # 26 450 -31032 0 # 26 451 -31033 0 # 26 452 -31034 0 # 26 453 -31035 0 # 26 454 -31036 0 # 26 455 -31037 0 # 26 456 -31038 0 # 26 457 -31039 0 # 26 458 -31040 0 # 26 459 -31041 0 # 26 460 -31042 0 # 26 461 -31043 0 # 26 462 -31044 0 # 26 463 -31045 0 # 26 464 -31046 0 # 26 465 -31047 0 # 26 466 -31048 0 # 26 467 -31049 0 # 26 468 -31050 0 # 26 469 -31051 0 # 26 470 -31052 0 # 26 471 -31053 0 # 26 472 -31054 0 # 26 473 -31055 0 # 26 474 -31056 0 # 26 475 -31057 0 # 26 476 -31058 0 # 26 477 -31059 0 # 26 478 -31060 0 # 26 479 -31061 0 # 26 480 -31062 0 # 26 481 -31063 0 # 26 482 -31064 0 # 26 483 -31065 0 # 26 484 -31066 0 # 26 485 -31067 0 # 26 486 -31068 0 # 26 487 -31069 0 # 26 488 -31070 0 # 26 489 -31071 0 # 26 490 -31072 0 # 26 491 -31073 0 # 26 492 -31074 0 # 26 493 -31075 0 # 26 494 -31076 0 # 26 495 -31077 0 # 26 496 -31078 0 # 26 497 -31079 0 # 26 498 -31080 0 # 26 499 -31081 0 # 26 500 -31082 0 # 26 501 -31083 0 # 26 502 -31084 0 # 26 503 -31085 0 # 26 504 -31086 0 # 26 505 -31087 0 # 26 506 -31088 0 # 26 507 -31089 0 # 26 508 -31090 0 # 26 509 -31091 0 # 26 510 -31092 0 # 26 511 -31093 0 # 26 512 -31094 0 # 26 513 -31095 0 # 26 514 -31096 0 # 26 515 -31097 0 # 26 516 -31098 0 # 26 517 -31099 0 # 26 518 -31100 0 # 26 519 -31101 0 # 26 520 -31102 0 # 26 521 -31103 0 # 26 522 -31104 0 # 26 523 -31105 0 # 26 524 -31106 0 # 26 525 -31107 0 # 26 526 -31108 0 # 26 527 -31109 0 # 26 528 -31110 0 # 26 529 -31111 0 # 26 530 -31112 0 # 26 531 -31113 0 # 26 532 -31114 0 # 26 533 -31115 0 # 26 534 -31116 0 # 26 535 -31117 0 # 26 536 -31118 0 # 26 537 -31119 0 # 26 538 -31120 0 # 26 539 -31121 0 # 26 540 -31122 0 # 26 541 -31123 0 # 26 542 -31124 0 # 26 543 -31125 0 # 26 544 -31126 0 # 26 545 -31127 0 # 26 546 -31128 0 # 26 547 -31129 0 # 26 548 -31130 0 # 26 549 -31131 0 # 26 550 -31132 0 # 26 551 -31133 0 # 26 552 -31134 0 # 26 553 -31135 0 # 26 554 -31136 0 # 26 555 -31137 0 # 26 556 -31138 0 # 26 557 -31139 0 # 26 558 -31140 0 # 26 559 -31141 0 # 26 560 -31142 0 # 26 561 -31143 0 # 26 562 -31144 0 # 26 563 -31145 0 # 26 564 -31146 0 # 26 565 -31147 0 # 26 566 -31148 0 # 26 567 -31149 0 # 26 568 -31150 0 # 26 569 -31151 0 # 26 570 -31152 0 # 26 571 -31153 0 # 26 572 -31154 0 # 26 573 -31155 0 # 26 574 -31156 0 # 26 575 -31157 0 # 26 576 -31158 0 # 27 0 -31159 0 # 27 1 -31160 0 # 27 2 -31161 4 # 27 3 -31162 0 # 27 4 -31163 1 # 27 5 -31164 6 # 27 6 -31165 1 # 27 7 -31166 4 # 27 8 -31167 5 # 27 9 -31168 4 # 27 10 -31169 4 # 27 11 -31170 5 # 27 12 -31171 6 # 27 13 -31172 6 # 27 14 -31173 6 # 27 15 -31174 5 # 27 16 -31175 5 # 27 17 -31176 6 # 27 18 -31177 5 # 27 19 -31178 6 # 27 20 -31179 7 # 27 21 -31180 7 # 27 22 -31181 6 # 27 23 -31182 7 # 27 24 -31183 7 # 27 25 -31184 8 # 27 26 -31185 7 # 27 27 -31186 8 # 27 28 -31187 8 # 27 29 -31188 8 # 27 30 -31189 8 # 27 31 -31190 8 # 27 32 -31191 9 # 27 33 -31192 9 # 27 34 -31193 9 # 27 35 -31194 9 # 27 36 -31195 9 # 27 37 -31196 9 # 27 38 -31197 9 # 27 39 -31198 10 # 27 40 -31199 10 # 27 41 -31200 10 # 27 42 -31201 10 # 27 43 -31202 11 # 27 44 -31203 10 # 27 45 -31204 10 # 27 46 -31205 10 # 27 47 -31206 12 # 27 48 -31207 11 # 27 49 -31208 11 # 27 50 -31209 11 # 27 51 -31210 13 # 27 52 -31211 12 # 27 53 -31212 11 # 27 54 -31213 13 # 27 55 -31214 12 # 27 56 -31215 16 # 27 57 -31216 15 # 27 58 -31217 13 # 27 59 -31218 13 # 27 60 -31219 15 # 27 61 -31220 19 # 27 62 -31221 11 # 27 63 -31222 11 # 27 64 -31223 12 # 27 65 -31224 12 # 27 66 -31225 16 # 27 67 -31226 15 # 27 68 -31227 21 # 27 69 -31228 12 # 27 70 -31229 9 # 27 71 -31230 11 # 27 72 -31231 9 # 27 73 -31232 20 # 27 74 -31233 19 # 27 75 -31234 15 # 27 76 -31235 13 # 27 77 -31236 22 # 27 78 -31237 11 # 27 79 -31238 23 # 27 80 -31239 12 # 27 81 -31240 5 # 27 82 -31241 17 # 27 83 -31242 0 # 27 84 -31243 9 # 27 85 -31244 0 # 27 86 -31245 0 # 27 87 -31246 9 # 27 88 -31247 21 # 27 89 -31248 5 # 27 90 -31249 25 # 27 91 -31250 0 # 27 92 -31251 9 # 27 93 -31252 0 # 27 94 -31253 0 # 27 95 -31254 0 # 27 96 -31255 0 # 27 97 -31256 0 # 27 98 -31257 0 # 27 99 -31258 0 # 27 100 -31259 0 # 27 101 -31260 0 # 27 102 -31261 0 # 27 103 -31262 0 # 27 104 -31263 0 # 27 105 -31264 0 # 27 106 -31265 0 # 27 107 -31266 0 # 27 108 -31267 0 # 27 109 -31268 0 # 27 110 -31269 0 # 27 111 -31270 0 # 27 112 -31271 0 # 27 113 -31272 0 # 27 114 -31273 0 # 27 115 -31274 0 # 27 116 -31275 0 # 27 117 -31276 0 # 27 118 -31277 0 # 27 119 -31278 0 # 27 120 -31279 0 # 27 121 -31280 0 # 27 122 -31281 0 # 27 123 -31282 0 # 27 124 -31283 0 # 27 125 -31284 0 # 27 126 -31285 0 # 27 127 -31286 0 # 27 128 -31287 0 # 27 129 -31288 0 # 27 130 -31289 0 # 27 131 -31290 0 # 27 132 -31291 0 # 27 133 -31292 0 # 27 134 -31293 0 # 27 135 -31294 0 # 27 136 -31295 0 # 27 137 -31296 0 # 27 138 -31297 0 # 27 139 -31298 0 # 27 140 -31299 0 # 27 141 -31300 0 # 27 142 -31301 0 # 27 143 -31302 0 # 27 144 -31303 0 # 27 145 -31304 0 # 27 146 -31305 0 # 27 147 -31306 0 # 27 148 -31307 0 # 27 149 -31308 0 # 27 150 -31309 0 # 27 151 -31310 0 # 27 152 -31311 0 # 27 153 -31312 0 # 27 154 -31313 0 # 27 155 -31314 0 # 27 156 -31315 0 # 27 157 -31316 0 # 27 158 -31317 0 # 27 159 -31318 0 # 27 160 -31319 0 # 27 161 -31320 0 # 27 162 -31321 0 # 27 163 -31322 0 # 27 164 -31323 0 # 27 165 -31324 0 # 27 166 -31325 0 # 27 167 -31326 0 # 27 168 -31327 0 # 27 169 -31328 0 # 27 170 -31329 0 # 27 171 -31330 0 # 27 172 -31331 0 # 27 173 -31332 0 # 27 174 -31333 0 # 27 175 -31334 0 # 27 176 -31335 0 # 27 177 -31336 0 # 27 178 -31337 0 # 27 179 -31338 0 # 27 180 -31339 0 # 27 181 -31340 0 # 27 182 -31341 0 # 27 183 -31342 0 # 27 184 -31343 0 # 27 185 -31344 0 # 27 186 -31345 0 # 27 187 -31346 0 # 27 188 -31347 0 # 27 189 -31348 0 # 27 190 -31349 0 # 27 191 -31350 0 # 27 192 -31351 0 # 27 193 -31352 0 # 27 194 -31353 0 # 27 195 -31354 0 # 27 196 -31355 0 # 27 197 -31356 0 # 27 198 -31357 0 # 27 199 -31358 0 # 27 200 -31359 0 # 27 201 -31360 0 # 27 202 -31361 0 # 27 203 -31362 0 # 27 204 -31363 0 # 27 205 -31364 0 # 27 206 -31365 0 # 27 207 -31366 0 # 27 208 -31367 0 # 27 209 -31368 0 # 27 210 -31369 0 # 27 211 -31370 0 # 27 212 -31371 0 # 27 213 -31372 0 # 27 214 -31373 0 # 27 215 -31374 0 # 27 216 -31375 0 # 27 217 -31376 0 # 27 218 -31377 0 # 27 219 -31378 0 # 27 220 -31379 0 # 27 221 -31380 0 # 27 222 -31381 0 # 27 223 -31382 0 # 27 224 -31383 0 # 27 225 -31384 0 # 27 226 -31385 0 # 27 227 -31386 0 # 27 228 -31387 0 # 27 229 -31388 0 # 27 230 -31389 0 # 27 231 -31390 0 # 27 232 -31391 0 # 27 233 -31392 0 # 27 234 -31393 0 # 27 235 -31394 0 # 27 236 -31395 0 # 27 237 -31396 0 # 27 238 -31397 0 # 27 239 -31398 0 # 27 240 -31399 0 # 27 241 -31400 0 # 27 242 -31401 0 # 27 243 -31402 0 # 27 244 -31403 0 # 27 245 -31404 0 # 27 246 -31405 0 # 27 247 -31406 0 # 27 248 -31407 0 # 27 249 -31408 0 # 27 250 -31409 0 # 27 251 -31410 0 # 27 252 -31411 0 # 27 253 -31412 0 # 27 254 -31413 0 # 27 255 -31414 0 # 27 256 -31415 0 # 27 257 -31416 0 # 27 258 -31417 0 # 27 259 -31418 0 # 27 260 -31419 0 # 27 261 -31420 0 # 27 262 -31421 0 # 27 263 -31422 0 # 27 264 -31423 0 # 27 265 -31424 0 # 27 266 -31425 0 # 27 267 -31426 0 # 27 268 -31427 0 # 27 269 -31428 0 # 27 270 -31429 0 # 27 271 -31430 0 # 27 272 -31431 0 # 27 273 -31432 0 # 27 274 -31433 0 # 27 275 -31434 0 # 27 276 -31435 0 # 27 277 -31436 0 # 27 278 -31437 0 # 27 279 -31438 0 # 27 280 -31439 0 # 27 281 -31440 0 # 27 282 -31441 0 # 27 283 -31442 0 # 27 284 -31443 0 # 27 285 -31444 0 # 27 286 -31445 0 # 27 287 -31446 0 # 27 288 -31447 0 # 27 289 -31448 0 # 27 290 -31449 0 # 27 291 -31450 0 # 27 292 -31451 0 # 27 293 -31452 0 # 27 294 -31453 0 # 27 295 -31454 0 # 27 296 -31455 0 # 27 297 -31456 0 # 27 298 -31457 0 # 27 299 -31458 0 # 27 300 -31459 0 # 27 301 -31460 0 # 27 302 -31461 0 # 27 303 -31462 0 # 27 304 -31463 0 # 27 305 -31464 0 # 27 306 -31465 0 # 27 307 -31466 0 # 27 308 -31467 0 # 27 309 -31468 0 # 27 310 -31469 0 # 27 311 -31470 0 # 27 312 -31471 0 # 27 313 -31472 0 # 27 314 -31473 0 # 27 315 -31474 0 # 27 316 -31475 0 # 27 317 -31476 0 # 27 318 -31477 0 # 27 319 -31478 0 # 27 320 -31479 0 # 27 321 -31480 0 # 27 322 -31481 0 # 27 323 -31482 0 # 27 324 -31483 0 # 27 325 -31484 0 # 27 326 -31485 0 # 27 327 -31486 0 # 27 328 -31487 0 # 27 329 -31488 0 # 27 330 -31489 0 # 27 331 -31490 0 # 27 332 -31491 0 # 27 333 -31492 0 # 27 334 -31493 0 # 27 335 -31494 0 # 27 336 -31495 0 # 27 337 -31496 0 # 27 338 -31497 0 # 27 339 -31498 0 # 27 340 -31499 0 # 27 341 -31500 0 # 27 342 -31501 0 # 27 343 -31502 0 # 27 344 -31503 0 # 27 345 -31504 0 # 27 346 -31505 0 # 27 347 -31506 0 # 27 348 -31507 0 # 27 349 -31508 0 # 27 350 -31509 0 # 27 351 -31510 0 # 27 352 -31511 0 # 27 353 -31512 0 # 27 354 -31513 0 # 27 355 -31514 0 # 27 356 -31515 0 # 27 357 -31516 0 # 27 358 -31517 0 # 27 359 -31518 0 # 27 360 -31519 0 # 27 361 -31520 0 # 27 362 -31521 0 # 27 363 -31522 0 # 27 364 -31523 0 # 27 365 -31524 0 # 27 366 -31525 0 # 27 367 -31526 0 # 27 368 -31527 0 # 27 369 -31528 0 # 27 370 -31529 0 # 27 371 -31530 0 # 27 372 -31531 0 # 27 373 -31532 0 # 27 374 -31533 0 # 27 375 -31534 0 # 27 376 -31535 0 # 27 377 -31536 0 # 27 378 -31537 0 # 27 379 -31538 0 # 27 380 -31539 0 # 27 381 -31540 0 # 27 382 -31541 0 # 27 383 -31542 0 # 27 384 -31543 0 # 27 385 -31544 0 # 27 386 -31545 0 # 27 387 -31546 0 # 27 388 -31547 0 # 27 389 -31548 0 # 27 390 -31549 0 # 27 391 -31550 0 # 27 392 -31551 0 # 27 393 -31552 0 # 27 394 -31553 0 # 27 395 -31554 0 # 27 396 -31555 0 # 27 397 -31556 0 # 27 398 -31557 0 # 27 399 -31558 0 # 27 400 -31559 0 # 27 401 -31560 0 # 27 402 -31561 0 # 27 403 -31562 0 # 27 404 -31563 0 # 27 405 -31564 0 # 27 406 -31565 0 # 27 407 -31566 0 # 27 408 -31567 0 # 27 409 -31568 0 # 27 410 -31569 0 # 27 411 -31570 0 # 27 412 -31571 0 # 27 413 -31572 0 # 27 414 -31573 0 # 27 415 -31574 0 # 27 416 -31575 0 # 27 417 -31576 0 # 27 418 -31577 0 # 27 419 -31578 0 # 27 420 -31579 0 # 27 421 -31580 0 # 27 422 -31581 0 # 27 423 -31582 0 # 27 424 -31583 0 # 27 425 -31584 0 # 27 426 -31585 0 # 27 427 -31586 0 # 27 428 -31587 0 # 27 429 -31588 0 # 27 430 -31589 0 # 27 431 -31590 0 # 27 432 -31591 0 # 27 433 -31592 0 # 27 434 -31593 0 # 27 435 -31594 0 # 27 436 -31595 0 # 27 437 -31596 0 # 27 438 -31597 0 # 27 439 -31598 0 # 27 440 -31599 0 # 27 441 -31600 0 # 27 442 -31601 0 # 27 443 -31602 0 # 27 444 -31603 0 # 27 445 -31604 0 # 27 446 -31605 0 # 27 447 -31606 0 # 27 448 -31607 0 # 27 449 -31608 0 # 27 450 -31609 0 # 27 451 -31610 0 # 27 452 -31611 0 # 27 453 -31612 0 # 27 454 -31613 0 # 27 455 -31614 0 # 27 456 -31615 0 # 27 457 -31616 0 # 27 458 -31617 0 # 27 459 -31618 0 # 27 460 -31619 0 # 27 461 -31620 0 # 27 462 -31621 0 # 27 463 -31622 0 # 27 464 -31623 0 # 27 465 -31624 0 # 27 466 -31625 0 # 27 467 -31626 0 # 27 468 -31627 0 # 27 469 -31628 0 # 27 470 -31629 0 # 27 471 -31630 0 # 27 472 -31631 0 # 27 473 -31632 0 # 27 474 -31633 0 # 27 475 -31634 0 # 27 476 -31635 0 # 27 477 -31636 0 # 27 478 -31637 0 # 27 479 -31638 0 # 27 480 -31639 0 # 27 481 -31640 0 # 27 482 -31641 0 # 27 483 -31642 0 # 27 484 -31643 0 # 27 485 -31644 0 # 27 486 -31645 0 # 27 487 -31646 0 # 27 488 -31647 0 # 27 489 -31648 0 # 27 490 -31649 0 # 27 491 -31650 0 # 27 492 -31651 0 # 27 493 -31652 0 # 27 494 -31653 0 # 27 495 -31654 0 # 27 496 -31655 0 # 27 497 -31656 0 # 27 498 -31657 0 # 27 499 -31658 0 # 27 500 -31659 0 # 27 501 -31660 0 # 27 502 -31661 0 # 27 503 -31662 0 # 27 504 -31663 0 # 27 505 -31664 0 # 27 506 -31665 0 # 27 507 -31666 0 # 27 508 -31667 0 # 27 509 -31668 0 # 27 510 -31669 0 # 27 511 -31670 0 # 27 512 -31671 0 # 27 513 -31672 0 # 27 514 -31673 0 # 27 515 -31674 0 # 27 516 -31675 0 # 27 517 -31676 0 # 27 518 -31677 0 # 27 519 -31678 0 # 27 520 -31679 0 # 27 521 -31680 0 # 27 522 -31681 0 # 27 523 -31682 0 # 27 524 -31683 0 # 27 525 -31684 0 # 27 526 -31685 0 # 27 527 -31686 0 # 27 528 -31687 0 # 27 529 -31688 0 # 27 530 -31689 0 # 27 531 -31690 0 # 27 532 -31691 0 # 27 533 -31692 0 # 27 534 -31693 0 # 27 535 -31694 0 # 27 536 -31695 0 # 27 537 -31696 0 # 27 538 -31697 0 # 27 539 -31698 0 # 27 540 -31699 0 # 27 541 -31700 0 # 27 542 -31701 0 # 27 543 -31702 0 # 27 544 -31703 0 # 27 545 -31704 0 # 27 546 -31705 0 # 27 547 -31706 0 # 27 548 -31707 0 # 27 549 -31708 0 # 27 550 -31709 0 # 27 551 -31710 0 # 27 552 -31711 0 # 27 553 -31712 0 # 27 554 -31713 0 # 27 555 -31714 0 # 27 556 -31715 0 # 27 557 -31716 0 # 27 558 -31717 0 # 27 559 -31718 0 # 27 560 -31719 0 # 27 561 -31720 0 # 27 562 -31721 0 # 27 563 -31722 0 # 27 564 -31723 0 # 27 565 -31724 0 # 27 566 -31725 0 # 27 567 -31726 0 # 27 568 -31727 0 # 27 569 -31728 0 # 27 570 -31729 0 # 27 571 -31730 0 # 27 572 -31731 0 # 27 573 -31732 0 # 27 574 -31733 0 # 27 575 -31734 0 # 27 576 -31735 0 # 28 0 -31736 0 # 28 1 -31737 0 # 28 2 -31738 3 # 28 3 -31739 0 # 28 4 -31740 1 # 28 5 -31741 6 # 28 6 -31742 1 # 28 7 -31743 4 # 28 8 -31744 4 # 28 9 -31745 4 # 28 10 -31746 3 # 28 11 -31747 3 # 28 12 -31748 4 # 28 13 -31749 4 # 28 14 -31750 4 # 28 15 -31751 4 # 28 16 -31752 4 # 28 17 -31753 4 # 28 18 -31754 4 # 28 19 -31755 5 # 28 20 -31756 5 # 28 21 -31757 5 # 28 22 -31758 5 # 28 23 -31759 5 # 28 24 -31760 6 # 28 25 -31761 6 # 28 26 -31762 5 # 28 27 -31763 5 # 28 28 -31764 6 # 28 29 -31765 6 # 28 30 -31766 6 # 28 31 -31767 6 # 28 32 -31768 6 # 28 33 -31769 7 # 28 34 -31770 7 # 28 35 -31771 6 # 28 36 -31772 6 # 28 37 -31773 7 # 28 38 -31774 7 # 28 39 -31775 7 # 28 40 -31776 8 # 28 41 -31777 7 # 28 42 -31778 8 # 28 43 -31779 8 # 28 44 -31780 8 # 28 45 -31781 8 # 28 46 -31782 8 # 28 47 -31783 9 # 28 48 -31784 7 # 28 49 -31785 8 # 28 50 -31786 7 # 28 51 -31787 8 # 28 52 -31788 7 # 28 53 -31789 9 # 28 54 -31790 10 # 28 55 -31791 10 # 28 56 -31792 12 # 28 57 -31793 10 # 28 58 -31794 10 # 28 59 -31795 9 # 28 60 -31796 10 # 28 61 -31797 13 # 28 62 -31798 11 # 28 63 -31799 8 # 28 64 -31800 9 # 28 65 -31801 8 # 28 66 -31802 13 # 28 67 -31803 12 # 28 68 -31804 18 # 28 69 -31805 9 # 28 70 -31806 7 # 28 71 -31807 7 # 28 72 -31808 6 # 28 73 -31809 12 # 28 74 -31810 14 # 28 75 -31811 8 # 28 76 -31812 9 # 28 77 -31813 13 # 28 78 -31814 9 # 28 79 -31815 14 # 28 80 -31816 11 # 28 81 -31817 0 # 28 82 -31818 16 # 28 83 -31819 0 # 28 84 -31820 2 # 28 85 -31821 0 # 28 86 -31822 0 # 28 87 -31823 6 # 28 88 -31824 15 # 28 89 -31825 3 # 28 90 -31826 15 # 28 91 -31827 0 # 28 92 -31828 4 # 28 93 -31829 0 # 28 94 -31830 0 # 28 95 -31831 0 # 28 96 -31832 0 # 28 97 -31833 0 # 28 98 -31834 0 # 28 99 -31835 0 # 28 100 -31836 0 # 28 101 -31837 0 # 28 102 -31838 0 # 28 103 -31839 0 # 28 104 -31840 0 # 28 105 -31841 0 # 28 106 -31842 0 # 28 107 -31843 0 # 28 108 -31844 0 # 28 109 -31845 0 # 28 110 -31846 0 # 28 111 -31847 0 # 28 112 -31848 0 # 28 113 -31849 0 # 28 114 -31850 0 # 28 115 -31851 0 # 28 116 -31852 0 # 28 117 -31853 0 # 28 118 -31854 0 # 28 119 -31855 0 # 28 120 -31856 0 # 28 121 -31857 0 # 28 122 -31858 0 # 28 123 -31859 0 # 28 124 -31860 0 # 28 125 -31861 0 # 28 126 -31862 0 # 28 127 -31863 0 # 28 128 -31864 0 # 28 129 -31865 0 # 28 130 -31866 0 # 28 131 -31867 0 # 28 132 -31868 0 # 28 133 -31869 0 # 28 134 -31870 0 # 28 135 -31871 0 # 28 136 -31872 0 # 28 137 -31873 0 # 28 138 -31874 0 # 28 139 -31875 0 # 28 140 -31876 0 # 28 141 -31877 0 # 28 142 -31878 0 # 28 143 -31879 0 # 28 144 -31880 0 # 28 145 -31881 0 # 28 146 -31882 0 # 28 147 -31883 0 # 28 148 -31884 0 # 28 149 -31885 0 # 28 150 -31886 0 # 28 151 -31887 0 # 28 152 -31888 0 # 28 153 -31889 0 # 28 154 -31890 0 # 28 155 -31891 0 # 28 156 -31892 0 # 28 157 -31893 0 # 28 158 -31894 0 # 28 159 -31895 0 # 28 160 -31896 0 # 28 161 -31897 0 # 28 162 -31898 0 # 28 163 -31899 0 # 28 164 -31900 0 # 28 165 -31901 0 # 28 166 -31902 0 # 28 167 -31903 0 # 28 168 -31904 0 # 28 169 -31905 0 # 28 170 -31906 0 # 28 171 -31907 0 # 28 172 -31908 0 # 28 173 -31909 0 # 28 174 -31910 0 # 28 175 -31911 0 # 28 176 -31912 0 # 28 177 -31913 0 # 28 178 -31914 0 # 28 179 -31915 0 # 28 180 -31916 0 # 28 181 -31917 0 # 28 182 -31918 0 # 28 183 -31919 0 # 28 184 -31920 0 # 28 185 -31921 0 # 28 186 -31922 0 # 28 187 -31923 0 # 28 188 -31924 0 # 28 189 -31925 0 # 28 190 -31926 0 # 28 191 -31927 0 # 28 192 -31928 0 # 28 193 -31929 0 # 28 194 -31930 0 # 28 195 -31931 0 # 28 196 -31932 0 # 28 197 -31933 0 # 28 198 -31934 0 # 28 199 -31935 0 # 28 200 -31936 0 # 28 201 -31937 0 # 28 202 -31938 0 # 28 203 -31939 0 # 28 204 -31940 0 # 28 205 -31941 0 # 28 206 -31942 0 # 28 207 -31943 0 # 28 208 -31944 0 # 28 209 -31945 0 # 28 210 -31946 0 # 28 211 -31947 0 # 28 212 -31948 0 # 28 213 -31949 0 # 28 214 -31950 0 # 28 215 -31951 0 # 28 216 -31952 0 # 28 217 -31953 0 # 28 218 -31954 0 # 28 219 -31955 0 # 28 220 -31956 0 # 28 221 -31957 0 # 28 222 -31958 0 # 28 223 -31959 0 # 28 224 -31960 0 # 28 225 -31961 0 # 28 226 -31962 0 # 28 227 -31963 0 # 28 228 -31964 0 # 28 229 -31965 0 # 28 230 -31966 0 # 28 231 -31967 0 # 28 232 -31968 0 # 28 233 -31969 0 # 28 234 -31970 0 # 28 235 -31971 0 # 28 236 -31972 0 # 28 237 -31973 0 # 28 238 -31974 0 # 28 239 -31975 0 # 28 240 -31976 0 # 28 241 -31977 0 # 28 242 -31978 0 # 28 243 -31979 0 # 28 244 -31980 0 # 28 245 -31981 0 # 28 246 -31982 0 # 28 247 -31983 0 # 28 248 -31984 0 # 28 249 -31985 0 # 28 250 -31986 0 # 28 251 -31987 0 # 28 252 -31988 0 # 28 253 -31989 0 # 28 254 -31990 0 # 28 255 -31991 0 # 28 256 -31992 0 # 28 257 -31993 0 # 28 258 -31994 0 # 28 259 -31995 0 # 28 260 -31996 0 # 28 261 -31997 0 # 28 262 -31998 0 # 28 263 -31999 0 # 28 264 -32000 0 # 28 265 -32001 0 # 28 266 -32002 0 # 28 267 -32003 0 # 28 268 -32004 0 # 28 269 -32005 0 # 28 270 -32006 0 # 28 271 -32007 0 # 28 272 -32008 0 # 28 273 -32009 0 # 28 274 -32010 0 # 28 275 -32011 0 # 28 276 -32012 0 # 28 277 -32013 0 # 28 278 -32014 0 # 28 279 -32015 0 # 28 280 -32016 0 # 28 281 -32017 0 # 28 282 -32018 0 # 28 283 -32019 0 # 28 284 -32020 0 # 28 285 -32021 0 # 28 286 -32022 0 # 28 287 -32023 0 # 28 288 -32024 0 # 28 289 -32025 0 # 28 290 -32026 0 # 28 291 -32027 0 # 28 292 -32028 0 # 28 293 -32029 0 # 28 294 -32030 0 # 28 295 -32031 0 # 28 296 -32032 0 # 28 297 -32033 0 # 28 298 -32034 0 # 28 299 -32035 0 # 28 300 -32036 0 # 28 301 -32037 0 # 28 302 -32038 0 # 28 303 -32039 0 # 28 304 -32040 0 # 28 305 -32041 0 # 28 306 -32042 0 # 28 307 -32043 0 # 28 308 -32044 0 # 28 309 -32045 0 # 28 310 -32046 0 # 28 311 -32047 0 # 28 312 -32048 0 # 28 313 -32049 0 # 28 314 -32050 0 # 28 315 -32051 0 # 28 316 -32052 0 # 28 317 -32053 0 # 28 318 -32054 0 # 28 319 -32055 0 # 28 320 -32056 0 # 28 321 -32057 0 # 28 322 -32058 0 # 28 323 -32059 0 # 28 324 -32060 0 # 28 325 -32061 0 # 28 326 -32062 0 # 28 327 -32063 0 # 28 328 -32064 0 # 28 329 -32065 0 # 28 330 -32066 0 # 28 331 -32067 0 # 28 332 -32068 0 # 28 333 -32069 0 # 28 334 -32070 0 # 28 335 -32071 0 # 28 336 -32072 0 # 28 337 -32073 0 # 28 338 -32074 0 # 28 339 -32075 0 # 28 340 -32076 0 # 28 341 -32077 0 # 28 342 -32078 0 # 28 343 -32079 0 # 28 344 -32080 0 # 28 345 -32081 0 # 28 346 -32082 0 # 28 347 -32083 0 # 28 348 -32084 0 # 28 349 -32085 0 # 28 350 -32086 0 # 28 351 -32087 0 # 28 352 -32088 0 # 28 353 -32089 0 # 28 354 -32090 0 # 28 355 -32091 0 # 28 356 -32092 0 # 28 357 -32093 0 # 28 358 -32094 0 # 28 359 -32095 0 # 28 360 -32096 0 # 28 361 -32097 0 # 28 362 -32098 0 # 28 363 -32099 0 # 28 364 -32100 0 # 28 365 -32101 0 # 28 366 -32102 0 # 28 367 -32103 0 # 28 368 -32104 0 # 28 369 -32105 0 # 28 370 -32106 0 # 28 371 -32107 0 # 28 372 -32108 0 # 28 373 -32109 0 # 28 374 -32110 0 # 28 375 -32111 0 # 28 376 -32112 0 # 28 377 -32113 0 # 28 378 -32114 0 # 28 379 -32115 0 # 28 380 -32116 0 # 28 381 -32117 0 # 28 382 -32118 0 # 28 383 -32119 0 # 28 384 -32120 0 # 28 385 -32121 0 # 28 386 -32122 0 # 28 387 -32123 0 # 28 388 -32124 0 # 28 389 -32125 0 # 28 390 -32126 0 # 28 391 -32127 0 # 28 392 -32128 0 # 28 393 -32129 0 # 28 394 -32130 0 # 28 395 -32131 0 # 28 396 -32132 0 # 28 397 -32133 0 # 28 398 -32134 0 # 28 399 -32135 0 # 28 400 -32136 0 # 28 401 -32137 0 # 28 402 -32138 0 # 28 403 -32139 0 # 28 404 -32140 0 # 28 405 -32141 0 # 28 406 -32142 0 # 28 407 -32143 0 # 28 408 -32144 0 # 28 409 -32145 0 # 28 410 -32146 0 # 28 411 -32147 0 # 28 412 -32148 0 # 28 413 -32149 0 # 28 414 -32150 0 # 28 415 -32151 0 # 28 416 -32152 0 # 28 417 -32153 0 # 28 418 -32154 0 # 28 419 -32155 0 # 28 420 -32156 0 # 28 421 -32157 0 # 28 422 -32158 0 # 28 423 -32159 0 # 28 424 -32160 0 # 28 425 -32161 0 # 28 426 -32162 0 # 28 427 -32163 0 # 28 428 -32164 0 # 28 429 -32165 0 # 28 430 -32166 0 # 28 431 -32167 0 # 28 432 -32168 0 # 28 433 -32169 0 # 28 434 -32170 0 # 28 435 -32171 0 # 28 436 -32172 0 # 28 437 -32173 0 # 28 438 -32174 0 # 28 439 -32175 0 # 28 440 -32176 0 # 28 441 -32177 0 # 28 442 -32178 0 # 28 443 -32179 0 # 28 444 -32180 0 # 28 445 -32181 0 # 28 446 -32182 0 # 28 447 -32183 0 # 28 448 -32184 0 # 28 449 -32185 0 # 28 450 -32186 0 # 28 451 -32187 0 # 28 452 -32188 0 # 28 453 -32189 0 # 28 454 -32190 0 # 28 455 -32191 0 # 28 456 -32192 0 # 28 457 -32193 0 # 28 458 -32194 0 # 28 459 -32195 0 # 28 460 -32196 0 # 28 461 -32197 0 # 28 462 -32198 0 # 28 463 -32199 0 # 28 464 -32200 0 # 28 465 -32201 0 # 28 466 -32202 0 # 28 467 -32203 0 # 28 468 -32204 0 # 28 469 -32205 0 # 28 470 -32206 0 # 28 471 -32207 0 # 28 472 -32208 0 # 28 473 -32209 0 # 28 474 -32210 0 # 28 475 -32211 0 # 28 476 -32212 0 # 28 477 -32213 0 # 28 478 -32214 0 # 28 479 -32215 0 # 28 480 -32216 0 # 28 481 -32217 0 # 28 482 -32218 0 # 28 483 -32219 0 # 28 484 -32220 0 # 28 485 -32221 0 # 28 486 -32222 0 # 28 487 -32223 0 # 28 488 -32224 0 # 28 489 -32225 0 # 28 490 -32226 0 # 28 491 -32227 0 # 28 492 -32228 0 # 28 493 -32229 0 # 28 494 -32230 0 # 28 495 -32231 0 # 28 496 -32232 0 # 28 497 -32233 0 # 28 498 -32234 0 # 28 499 -32235 0 # 28 500 -32236 0 # 28 501 -32237 0 # 28 502 -32238 0 # 28 503 -32239 0 # 28 504 -32240 0 # 28 505 -32241 0 # 28 506 -32242 0 # 28 507 -32243 0 # 28 508 -32244 0 # 28 509 -32245 0 # 28 510 -32246 0 # 28 511 -32247 0 # 28 512 -32248 0 # 28 513 -32249 0 # 28 514 -32250 0 # 28 515 -32251 0 # 28 516 -32252 0 # 28 517 -32253 0 # 28 518 -32254 0 # 28 519 -32255 0 # 28 520 -32256 0 # 28 521 -32257 0 # 28 522 -32258 0 # 28 523 -32259 0 # 28 524 -32260 0 # 28 525 -32261 0 # 28 526 -32262 0 # 28 527 -32263 0 # 28 528 -32264 0 # 28 529 -32265 0 # 28 530 -32266 0 # 28 531 -32267 0 # 28 532 -32268 0 # 28 533 -32269 0 # 28 534 -32270 0 # 28 535 -32271 0 # 28 536 -32272 0 # 28 537 -32273 0 # 28 538 -32274 0 # 28 539 -32275 0 # 28 540 -32276 0 # 28 541 -32277 0 # 28 542 -32278 0 # 28 543 -32279 0 # 28 544 -32280 0 # 28 545 -32281 0 # 28 546 -32282 0 # 28 547 -32283 0 # 28 548 -32284 0 # 28 549 -32285 0 # 28 550 -32286 0 # 28 551 -32287 0 # 28 552 -32288 0 # 28 553 -32289 0 # 28 554 -32290 0 # 28 555 -32291 0 # 28 556 -32292 0 # 28 557 -32293 0 # 28 558 -32294 0 # 28 559 -32295 0 # 28 560 -32296 0 # 28 561 -32297 0 # 28 562 -32298 0 # 28 563 -32299 0 # 28 564 -32300 0 # 28 565 -32301 0 # 28 566 -32302 0 # 28 567 -32303 0 # 28 568 -32304 0 # 28 569 -32305 0 # 28 570 -32306 0 # 28 571 -32307 0 # 28 572 -32308 0 # 28 573 -32309 0 # 28 574 -32310 0 # 28 575 -32311 0 # 28 576 diff --git a/L1Trigger/L1TCalorimeter/data/egMaxHOverELUT.txt b/L1Trigger/L1TCalorimeter/data/egMaxHOverELUT.txt deleted file mode 100644 index eed8c9f272e58..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/egMaxHOverELUT.txt +++ /dev/null @@ -1,37 +0,0 @@ -#First version, only two cut values are defined: for EB and EE -# Index is |ieta|. 0 is |ieta|=1 -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 5 8
-0 10 -1 10 -2 10 -3 10 -4 10 -5 10 -6 10 -7 10 -8 10 -9 10 -10 10 -11 10 -12 10 -13 10 -14 10 -15 10 -16 10 -17 4 -18 4 -19 4 -20 4 -21 4 -22 4 -23 4 -24 4 -25 4 -26 4 -27 4 -28 4 -29 4 -30 4 -31 4 diff --git a/L1Trigger/L1TCalorimeter/data/egShapeIdLUT.txt b/L1Trigger/L1TCalorimeter/data/egShapeIdLUT.txt deleted file mode 100644 index 2bf502df435f7..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/egShapeIdLUT.txt +++ /dev/null @@ -1,4101 +0,0 @@ -# e/g identification bit vs |ieta| and cluster shape -# Index is (|ieta|-1)*128+shape. shape is encoded on 7 bits -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 12 1
-0 1 # |ieta|=1 Shape = 0000000 -1 1 # |ieta|=1 Shape = 0000001 -2 1 # |ieta|=1 Shape = 0000010 -3 1 # |ieta|=1 Shape = 0000011 -4 0 # |ieta|=1 Shape = 0000100 -5 1 # |ieta|=1 Shape = 0000101 -6 0 # |ieta|=1 Shape = 0000110 -7 1 # |ieta|=1 Shape = 0000111 -8 1 # |ieta|=1 Shape = 0001000 -9 1 # |ieta|=1 Shape = 0001001 -10 1 # |ieta|=1 Shape = 0001010 -11 1 # |ieta|=1 Shape = 0001011 -12 1 # |ieta|=1 Shape = 0001100 -13 1 # |ieta|=1 Shape = 0001101 -14 0 # |ieta|=1 Shape = 0001110 -15 1 # |ieta|=1 Shape = 0001111 -16 0 # |ieta|=1 Shape = 0010000 -17 0 # |ieta|=1 Shape = 0010001 -18 1 # |ieta|=1 Shape = 0010010 -19 1 # |ieta|=1 Shape = 0010011 -20 0 # |ieta|=1 Shape = 0010100 -21 0 # |ieta|=1 Shape = 0010101 -22 0 # |ieta|=1 Shape = 0010110 -23 1 # |ieta|=1 Shape = 0010111 -24 1 # |ieta|=1 Shape = 0011000 -25 0 # |ieta|=1 Shape = 0011001 -26 1 # |ieta|=1 Shape = 0011010 -27 1 # |ieta|=1 Shape = 0011011 -28 1 # |ieta|=1 Shape = 0011100 -29 1 # |ieta|=1 Shape = 0011101 -30 1 # |ieta|=1 Shape = 0011110 -31 1 # |ieta|=1 Shape = 0011111 -32 0 # |ieta|=1 Shape = 0100000 -33 1 # |ieta|=1 Shape = 0100001 -34 0 # |ieta|=1 Shape = 0100010 -35 1 # |ieta|=1 Shape = 0100011 -36 0 # |ieta|=1 Shape = 0100100 -37 1 # |ieta|=1 Shape = 0100101 -38 0 # |ieta|=1 Shape = 0100110 -39 1 # |ieta|=1 Shape = 0100111 -40 0 # |ieta|=1 Shape = 0101000 -41 1 # |ieta|=1 Shape = 0101001 -42 0 # |ieta|=1 Shape = 0101010 -43 1 # |ieta|=1 Shape = 0101011 -44 0 # |ieta|=1 Shape = 0101100 -45 1 # |ieta|=1 Shape = 0101101 -46 0 # |ieta|=1 Shape = 0101110 -47 1 # |ieta|=1 Shape = 0101111 -48 0 # |ieta|=1 Shape = 0110000 -49 0 # |ieta|=1 Shape = 0110001 -50 0 # |ieta|=1 Shape = 0110010 -51 1 # |ieta|=1 Shape = 0110011 -52 0 # |ieta|=1 Shape = 0110100 -53 0 # |ieta|=1 Shape = 0110101 -54 0 # |ieta|=1 Shape = 0110110 -55 1 # |ieta|=1 Shape = 0110111 -56 0 # |ieta|=1 Shape = 0111000 -57 1 # |ieta|=1 Shape = 0111001 -58 0 # |ieta|=1 Shape = 0111010 -59 0 # |ieta|=1 Shape = 0111011 -60 0 # |ieta|=1 Shape = 0111100 -61 1 # |ieta|=1 Shape = 0111101 -62 0 # |ieta|=1 Shape = 0111110 -63 0 # |ieta|=1 Shape = 0111111 -64 0 # |ieta|=1 Shape = 1000000 -65 0 # |ieta|=1 Shape = 1000001 -66 1 # |ieta|=1 Shape = 1000010 -67 1 # |ieta|=1 Shape = 1000011 -68 0 # |ieta|=1 Shape = 1000100 -69 0 # |ieta|=1 Shape = 1000101 -70 0 # |ieta|=1 Shape = 1000110 -71 1 # |ieta|=1 Shape = 1000111 -72 0 # |ieta|=1 Shape = 1001000 -73 0 # |ieta|=1 Shape = 1001001 -74 1 # |ieta|=1 Shape = 1001010 -75 1 # |ieta|=1 Shape = 1001011 -76 0 # |ieta|=1 Shape = 1001100 -77 1 # |ieta|=1 Shape = 1001101 -78 1 # |ieta|=1 Shape = 1001110 -79 0 # |ieta|=1 Shape = 1001111 -80 0 # |ieta|=1 Shape = 1010000 -81 0 # |ieta|=1 Shape = 1010001 -82 1 # |ieta|=1 Shape = 1010010 -83 1 # |ieta|=1 Shape = 1010011 -84 0 # |ieta|=1 Shape = 1010100 -85 0 # |ieta|=1 Shape = 1010101 -86 0 # |ieta|=1 Shape = 1010110 -87 1 # |ieta|=1 Shape = 1010111 -88 0 # |ieta|=1 Shape = 1011000 -89 0 # |ieta|=1 Shape = 1011001 -90 1 # |ieta|=1 Shape = 1011010 -91 1 # |ieta|=1 Shape = 1011011 -92 0 # |ieta|=1 Shape = 1011100 -93 0 # |ieta|=1 Shape = 1011101 -94 1 # |ieta|=1 Shape = 1011110 -95 0 # |ieta|=1 Shape = 1011111 -96 0 # |ieta|=1 Shape = 1100000 -97 0 # |ieta|=1 Shape = 1100001 -98 0 # |ieta|=1 Shape = 1100010 -99 1 # |ieta|=1 Shape = 1100011 -100 0 # |ieta|=1 Shape = 1100100 -101 0 # |ieta|=1 Shape = 1100101 -102 0 # |ieta|=1 Shape = 1100110 -103 1 # |ieta|=1 Shape = 1100111 -104 0 # |ieta|=1 Shape = 1101000 -105 0 # |ieta|=1 Shape = 1101001 -106 0 # |ieta|=1 Shape = 1101010 -107 1 # |ieta|=1 Shape = 1101011 -108 0 # |ieta|=1 Shape = 1101100 -109 0 # |ieta|=1 Shape = 1101101 -110 0 # |ieta|=1 Shape = 1101110 -111 0 # |ieta|=1 Shape = 1101111 -112 0 # |ieta|=1 Shape = 1110000 -113 0 # |ieta|=1 Shape = 1110001 -114 0 # |ieta|=1 Shape = 1110010 -115 1 # |ieta|=1 Shape = 1110011 -116 0 # |ieta|=1 Shape = 1110100 -117 0 # |ieta|=1 Shape = 1110101 -118 0 # |ieta|=1 Shape = 1110110 -119 1 # |ieta|=1 Shape = 1110111 -120 0 # |ieta|=1 Shape = 1111000 -121 0 # |ieta|=1 Shape = 1111001 -122 0 # |ieta|=1 Shape = 1111010 -123 0 # |ieta|=1 Shape = 1111011 -124 0 # |ieta|=1 Shape = 1111100 -125 0 # |ieta|=1 Shape = 1111101 -126 0 # |ieta|=1 Shape = 1111110 -127 1 # |ieta|=1 Shape = 1111111 -128 1 # |ieta|=2 Shape = 0000000 -129 1 # |ieta|=2 Shape = 0000001 -130 1 # |ieta|=2 Shape = 0000010 -131 1 # |ieta|=2 Shape = 0000011 -132 0 # |ieta|=2 Shape = 0000100 -133 1 # |ieta|=2 Shape = 0000101 -134 0 # |ieta|=2 Shape = 0000110 -135 1 # |ieta|=2 Shape = 0000111 -136 1 # |ieta|=2 Shape = 0001000 -137 1 # |ieta|=2 Shape = 0001001 -138 1 # |ieta|=2 Shape = 0001010 -139 1 # |ieta|=2 Shape = 0001011 -140 1 # |ieta|=2 Shape = 0001100 -141 1 # |ieta|=2 Shape = 0001101 -142 0 # |ieta|=2 Shape = 0001110 -143 1 # |ieta|=2 Shape = 0001111 -144 0 # |ieta|=2 Shape = 0010000 -145 0 # |ieta|=2 Shape = 0010001 -146 1 # |ieta|=2 Shape = 0010010 -147 1 # |ieta|=2 Shape = 0010011 -148 0 # |ieta|=2 Shape = 0010100 -149 0 # |ieta|=2 Shape = 0010101 -150 0 # |ieta|=2 Shape = 0010110 -151 1 # |ieta|=2 Shape = 0010111 -152 1 # |ieta|=2 Shape = 0011000 -153 0 # |ieta|=2 Shape = 0011001 -154 1 # |ieta|=2 Shape = 0011010 -155 1 # |ieta|=2 Shape = 0011011 -156 1 # |ieta|=2 Shape = 0011100 -157 1 # |ieta|=2 Shape = 0011101 -158 1 # |ieta|=2 Shape = 0011110 -159 1 # |ieta|=2 Shape = 0011111 -160 0 # |ieta|=2 Shape = 0100000 -161 1 # |ieta|=2 Shape = 0100001 -162 0 # |ieta|=2 Shape = 0100010 -163 1 # |ieta|=2 Shape = 0100011 -164 0 # |ieta|=2 Shape = 0100100 -165 1 # |ieta|=2 Shape = 0100101 -166 0 # |ieta|=2 Shape = 0100110 -167 1 # |ieta|=2 Shape = 0100111 -168 0 # |ieta|=2 Shape = 0101000 -169 1 # |ieta|=2 Shape = 0101001 -170 0 # |ieta|=2 Shape = 0101010 -171 1 # |ieta|=2 Shape = 0101011 -172 0 # |ieta|=2 Shape = 0101100 -173 1 # |ieta|=2 Shape = 0101101 -174 0 # |ieta|=2 Shape = 0101110 -175 1 # |ieta|=2 Shape = 0101111 -176 0 # |ieta|=2 Shape = 0110000 -177 0 # |ieta|=2 Shape = 0110001 -178 0 # |ieta|=2 Shape = 0110010 -179 1 # |ieta|=2 Shape = 0110011 -180 0 # |ieta|=2 Shape = 0110100 -181 0 # |ieta|=2 Shape = 0110101 -182 0 # |ieta|=2 Shape = 0110110 -183 1 # |ieta|=2 Shape = 0110111 -184 0 # |ieta|=2 Shape = 0111000 -185 1 # |ieta|=2 Shape = 0111001 -186 0 # |ieta|=2 Shape = 0111010 -187 0 # |ieta|=2 Shape = 0111011 -188 0 # |ieta|=2 Shape = 0111100 -189 1 # |ieta|=2 Shape = 0111101 -190 0 # |ieta|=2 Shape = 0111110 -191 0 # |ieta|=2 Shape = 0111111 -192 0 # |ieta|=2 Shape = 1000000 -193 0 # |ieta|=2 Shape = 1000001 -194 1 # |ieta|=2 Shape = 1000010 -195 1 # |ieta|=2 Shape = 1000011 -196 0 # |ieta|=2 Shape = 1000100 -197 0 # |ieta|=2 Shape = 1000101 -198 0 # |ieta|=2 Shape = 1000110 -199 1 # |ieta|=2 Shape = 1000111 -200 0 # |ieta|=2 Shape = 1001000 -201 0 # |ieta|=2 Shape = 1001001 -202 1 # |ieta|=2 Shape = 1001010 -203 1 # |ieta|=2 Shape = 1001011 -204 0 # |ieta|=2 Shape = 1001100 -205 1 # |ieta|=2 Shape = 1001101 -206 1 # |ieta|=2 Shape = 1001110 -207 0 # |ieta|=2 Shape = 1001111 -208 0 # |ieta|=2 Shape = 1010000 -209 0 # |ieta|=2 Shape = 1010001 -210 1 # |ieta|=2 Shape = 1010010 -211 1 # |ieta|=2 Shape = 1010011 -212 0 # |ieta|=2 Shape = 1010100 -213 0 # |ieta|=2 Shape = 1010101 -214 0 # |ieta|=2 Shape = 1010110 -215 1 # |ieta|=2 Shape = 1010111 -216 0 # |ieta|=2 Shape = 1011000 -217 0 # |ieta|=2 Shape = 1011001 -218 1 # |ieta|=2 Shape = 1011010 -219 1 # |ieta|=2 Shape = 1011011 -220 0 # |ieta|=2 Shape = 1011100 -221 0 # |ieta|=2 Shape = 1011101 -222 1 # |ieta|=2 Shape = 1011110 -223 0 # |ieta|=2 Shape = 1011111 -224 0 # |ieta|=2 Shape = 1100000 -225 0 # |ieta|=2 Shape = 1100001 -226 0 # |ieta|=2 Shape = 1100010 -227 1 # |ieta|=2 Shape = 1100011 -228 0 # |ieta|=2 Shape = 1100100 -229 0 # |ieta|=2 Shape = 1100101 -230 0 # |ieta|=2 Shape = 1100110 -231 1 # |ieta|=2 Shape = 1100111 -232 0 # |ieta|=2 Shape = 1101000 -233 0 # |ieta|=2 Shape = 1101001 -234 0 # |ieta|=2 Shape = 1101010 -235 1 # |ieta|=2 Shape = 1101011 -236 0 # |ieta|=2 Shape = 1101100 -237 0 # |ieta|=2 Shape = 1101101 -238 0 # |ieta|=2 Shape = 1101110 -239 0 # |ieta|=2 Shape = 1101111 -240 0 # |ieta|=2 Shape = 1110000 -241 0 # |ieta|=2 Shape = 1110001 -242 0 # |ieta|=2 Shape = 1110010 -243 1 # |ieta|=2 Shape = 1110011 -244 0 # |ieta|=2 Shape = 1110100 -245 0 # |ieta|=2 Shape = 1110101 -246 0 # |ieta|=2 Shape = 1110110 -247 1 # |ieta|=2 Shape = 1110111 -248 0 # |ieta|=2 Shape = 1111000 -249 0 # |ieta|=2 Shape = 1111001 -250 0 # |ieta|=2 Shape = 1111010 -251 0 # |ieta|=2 Shape = 1111011 -252 0 # |ieta|=2 Shape = 1111100 -253 0 # |ieta|=2 Shape = 1111101 -254 0 # |ieta|=2 Shape = 1111110 -255 1 # |ieta|=2 Shape = 1111111 -256 1 # |ieta|=3 Shape = 0000000 -257 1 # |ieta|=3 Shape = 0000001 -258 1 # |ieta|=3 Shape = 0000010 -259 1 # |ieta|=3 Shape = 0000011 -260 0 # |ieta|=3 Shape = 0000100 -261 1 # |ieta|=3 Shape = 0000101 -262 0 # |ieta|=3 Shape = 0000110 -263 1 # |ieta|=3 Shape = 0000111 -264 1 # |ieta|=3 Shape = 0001000 -265 1 # |ieta|=3 Shape = 0001001 -266 1 # |ieta|=3 Shape = 0001010 -267 1 # |ieta|=3 Shape = 0001011 -268 1 # |ieta|=3 Shape = 0001100 -269 1 # |ieta|=3 Shape = 0001101 -270 0 # |ieta|=3 Shape = 0001110 -271 1 # |ieta|=3 Shape = 0001111 -272 0 # |ieta|=3 Shape = 0010000 -273 0 # |ieta|=3 Shape = 0010001 -274 1 # |ieta|=3 Shape = 0010010 -275 1 # |ieta|=3 Shape = 0010011 -276 0 # |ieta|=3 Shape = 0010100 -277 0 # |ieta|=3 Shape = 0010101 -278 0 # |ieta|=3 Shape = 0010110 -279 1 # |ieta|=3 Shape = 0010111 -280 1 # |ieta|=3 Shape = 0011000 -281 0 # |ieta|=3 Shape = 0011001 -282 1 # |ieta|=3 Shape = 0011010 -283 1 # |ieta|=3 Shape = 0011011 -284 1 # |ieta|=3 Shape = 0011100 -285 1 # |ieta|=3 Shape = 0011101 -286 1 # |ieta|=3 Shape = 0011110 -287 1 # |ieta|=3 Shape = 0011111 -288 0 # |ieta|=3 Shape = 0100000 -289 1 # |ieta|=3 Shape = 0100001 -290 0 # |ieta|=3 Shape = 0100010 -291 1 # |ieta|=3 Shape = 0100011 -292 0 # |ieta|=3 Shape = 0100100 -293 1 # |ieta|=3 Shape = 0100101 -294 0 # |ieta|=3 Shape = 0100110 -295 1 # |ieta|=3 Shape = 0100111 -296 0 # |ieta|=3 Shape = 0101000 -297 1 # |ieta|=3 Shape = 0101001 -298 0 # |ieta|=3 Shape = 0101010 -299 1 # |ieta|=3 Shape = 0101011 -300 0 # |ieta|=3 Shape = 0101100 -301 1 # |ieta|=3 Shape = 0101101 -302 0 # |ieta|=3 Shape = 0101110 -303 1 # |ieta|=3 Shape = 0101111 -304 0 # |ieta|=3 Shape = 0110000 -305 0 # |ieta|=3 Shape = 0110001 -306 0 # |ieta|=3 Shape = 0110010 -307 1 # |ieta|=3 Shape = 0110011 -308 0 # |ieta|=3 Shape = 0110100 -309 0 # |ieta|=3 Shape = 0110101 -310 0 # |ieta|=3 Shape = 0110110 -311 1 # |ieta|=3 Shape = 0110111 -312 0 # |ieta|=3 Shape = 0111000 -313 1 # |ieta|=3 Shape = 0111001 -314 0 # |ieta|=3 Shape = 0111010 -315 0 # |ieta|=3 Shape = 0111011 -316 0 # |ieta|=3 Shape = 0111100 -317 1 # |ieta|=3 Shape = 0111101 -318 0 # |ieta|=3 Shape = 0111110 -319 0 # |ieta|=3 Shape = 0111111 -320 0 # |ieta|=3 Shape = 1000000 -321 0 # |ieta|=3 Shape = 1000001 -322 1 # |ieta|=3 Shape = 1000010 -323 1 # |ieta|=3 Shape = 1000011 -324 0 # |ieta|=3 Shape = 1000100 -325 0 # |ieta|=3 Shape = 1000101 -326 0 # |ieta|=3 Shape = 1000110 -327 1 # |ieta|=3 Shape = 1000111 -328 0 # |ieta|=3 Shape = 1001000 -329 0 # |ieta|=3 Shape = 1001001 -330 1 # |ieta|=3 Shape = 1001010 -331 1 # |ieta|=3 Shape = 1001011 -332 0 # |ieta|=3 Shape = 1001100 -333 1 # |ieta|=3 Shape = 1001101 -334 1 # |ieta|=3 Shape = 1001110 -335 0 # |ieta|=3 Shape = 1001111 -336 0 # |ieta|=3 Shape = 1010000 -337 0 # |ieta|=3 Shape = 1010001 -338 1 # |ieta|=3 Shape = 1010010 -339 1 # |ieta|=3 Shape = 1010011 -340 0 # |ieta|=3 Shape = 1010100 -341 0 # |ieta|=3 Shape = 1010101 -342 0 # |ieta|=3 Shape = 1010110 -343 1 # |ieta|=3 Shape = 1010111 -344 0 # |ieta|=3 Shape = 1011000 -345 0 # |ieta|=3 Shape = 1011001 -346 1 # |ieta|=3 Shape = 1011010 -347 1 # |ieta|=3 Shape = 1011011 -348 0 # |ieta|=3 Shape = 1011100 -349 0 # |ieta|=3 Shape = 1011101 -350 1 # |ieta|=3 Shape = 1011110 -351 0 # |ieta|=3 Shape = 1011111 -352 0 # |ieta|=3 Shape = 1100000 -353 0 # |ieta|=3 Shape = 1100001 -354 0 # |ieta|=3 Shape = 1100010 -355 1 # |ieta|=3 Shape = 1100011 -356 0 # |ieta|=3 Shape = 1100100 -357 0 # |ieta|=3 Shape = 1100101 -358 0 # |ieta|=3 Shape = 1100110 -359 1 # |ieta|=3 Shape = 1100111 -360 0 # |ieta|=3 Shape = 1101000 -361 0 # |ieta|=3 Shape = 1101001 -362 0 # |ieta|=3 Shape = 1101010 -363 1 # |ieta|=3 Shape = 1101011 -364 0 # |ieta|=3 Shape = 1101100 -365 0 # |ieta|=3 Shape = 1101101 -366 0 # |ieta|=3 Shape = 1101110 -367 0 # |ieta|=3 Shape = 1101111 -368 0 # |ieta|=3 Shape = 1110000 -369 0 # |ieta|=3 Shape = 1110001 -370 0 # |ieta|=3 Shape = 1110010 -371 1 # |ieta|=3 Shape = 1110011 -372 0 # |ieta|=3 Shape = 1110100 -373 0 # |ieta|=3 Shape = 1110101 -374 0 # |ieta|=3 Shape = 1110110 -375 1 # |ieta|=3 Shape = 1110111 -376 0 # |ieta|=3 Shape = 1111000 -377 0 # |ieta|=3 Shape = 1111001 -378 0 # |ieta|=3 Shape = 1111010 -379 0 # |ieta|=3 Shape = 1111011 -380 0 # |ieta|=3 Shape = 1111100 -381 0 # |ieta|=3 Shape = 1111101 -382 0 # |ieta|=3 Shape = 1111110 -383 1 # |ieta|=3 Shape = 1111111 -384 1 # |ieta|=4 Shape = 0000000 -385 1 # |ieta|=4 Shape = 0000001 -386 1 # |ieta|=4 Shape = 0000010 -387 1 # |ieta|=4 Shape = 0000011 -388 0 # |ieta|=4 Shape = 0000100 -389 1 # |ieta|=4 Shape = 0000101 -390 0 # |ieta|=4 Shape = 0000110 -391 1 # |ieta|=4 Shape = 0000111 -392 1 # |ieta|=4 Shape = 0001000 -393 1 # |ieta|=4 Shape = 0001001 -394 1 # |ieta|=4 Shape = 0001010 -395 1 # |ieta|=4 Shape = 0001011 -396 1 # |ieta|=4 Shape = 0001100 -397 1 # |ieta|=4 Shape = 0001101 -398 0 # |ieta|=4 Shape = 0001110 -399 1 # |ieta|=4 Shape = 0001111 -400 0 # |ieta|=4 Shape = 0010000 -401 0 # |ieta|=4 Shape = 0010001 -402 1 # |ieta|=4 Shape = 0010010 -403 1 # |ieta|=4 Shape = 0010011 -404 0 # |ieta|=4 Shape = 0010100 -405 0 # |ieta|=4 Shape = 0010101 -406 0 # |ieta|=4 Shape = 0010110 -407 1 # |ieta|=4 Shape = 0010111 -408 1 # |ieta|=4 Shape = 0011000 -409 0 # |ieta|=4 Shape = 0011001 -410 1 # |ieta|=4 Shape = 0011010 -411 1 # |ieta|=4 Shape = 0011011 -412 1 # |ieta|=4 Shape = 0011100 -413 1 # |ieta|=4 Shape = 0011101 -414 1 # |ieta|=4 Shape = 0011110 -415 1 # |ieta|=4 Shape = 0011111 -416 0 # |ieta|=4 Shape = 0100000 -417 1 # |ieta|=4 Shape = 0100001 -418 0 # |ieta|=4 Shape = 0100010 -419 1 # |ieta|=4 Shape = 0100011 -420 0 # |ieta|=4 Shape = 0100100 -421 1 # |ieta|=4 Shape = 0100101 -422 0 # |ieta|=4 Shape = 0100110 -423 1 # |ieta|=4 Shape = 0100111 -424 0 # |ieta|=4 Shape = 0101000 -425 1 # |ieta|=4 Shape = 0101001 -426 0 # |ieta|=4 Shape = 0101010 -427 1 # |ieta|=4 Shape = 0101011 -428 0 # |ieta|=4 Shape = 0101100 -429 1 # |ieta|=4 Shape = 0101101 -430 0 # |ieta|=4 Shape = 0101110 -431 1 # |ieta|=4 Shape = 0101111 -432 0 # |ieta|=4 Shape = 0110000 -433 0 # |ieta|=4 Shape = 0110001 -434 0 # |ieta|=4 Shape = 0110010 -435 1 # |ieta|=4 Shape = 0110011 -436 0 # |ieta|=4 Shape = 0110100 -437 0 # |ieta|=4 Shape = 0110101 -438 0 # |ieta|=4 Shape = 0110110 -439 1 # |ieta|=4 Shape = 0110111 -440 0 # |ieta|=4 Shape = 0111000 -441 1 # |ieta|=4 Shape = 0111001 -442 0 # |ieta|=4 Shape = 0111010 -443 0 # |ieta|=4 Shape = 0111011 -444 0 # |ieta|=4 Shape = 0111100 -445 1 # |ieta|=4 Shape = 0111101 -446 0 # |ieta|=4 Shape = 0111110 -447 0 # |ieta|=4 Shape = 0111111 -448 0 # |ieta|=4 Shape = 1000000 -449 0 # |ieta|=4 Shape = 1000001 -450 1 # |ieta|=4 Shape = 1000010 -451 1 # |ieta|=4 Shape = 1000011 -452 0 # |ieta|=4 Shape = 1000100 -453 0 # |ieta|=4 Shape = 1000101 -454 0 # |ieta|=4 Shape = 1000110 -455 1 # |ieta|=4 Shape = 1000111 -456 0 # |ieta|=4 Shape = 1001000 -457 0 # |ieta|=4 Shape = 1001001 -458 1 # |ieta|=4 Shape = 1001010 -459 1 # |ieta|=4 Shape = 1001011 -460 0 # |ieta|=4 Shape = 1001100 -461 1 # |ieta|=4 Shape = 1001101 -462 1 # |ieta|=4 Shape = 1001110 -463 0 # |ieta|=4 Shape = 1001111 -464 0 # |ieta|=4 Shape = 1010000 -465 0 # |ieta|=4 Shape = 1010001 -466 1 # |ieta|=4 Shape = 1010010 -467 1 # |ieta|=4 Shape = 1010011 -468 0 # |ieta|=4 Shape = 1010100 -469 0 # |ieta|=4 Shape = 1010101 -470 0 # |ieta|=4 Shape = 1010110 -471 1 # |ieta|=4 Shape = 1010111 -472 0 # |ieta|=4 Shape = 1011000 -473 0 # |ieta|=4 Shape = 1011001 -474 1 # |ieta|=4 Shape = 1011010 -475 1 # |ieta|=4 Shape = 1011011 -476 0 # |ieta|=4 Shape = 1011100 -477 0 # |ieta|=4 Shape = 1011101 -478 1 # |ieta|=4 Shape = 1011110 -479 0 # |ieta|=4 Shape = 1011111 -480 0 # |ieta|=4 Shape = 1100000 -481 0 # |ieta|=4 Shape = 1100001 -482 0 # |ieta|=4 Shape = 1100010 -483 1 # |ieta|=4 Shape = 1100011 -484 0 # |ieta|=4 Shape = 1100100 -485 0 # |ieta|=4 Shape = 1100101 -486 0 # |ieta|=4 Shape = 1100110 -487 1 # |ieta|=4 Shape = 1100111 -488 0 # |ieta|=4 Shape = 1101000 -489 0 # |ieta|=4 Shape = 1101001 -490 0 # |ieta|=4 Shape = 1101010 -491 1 # |ieta|=4 Shape = 1101011 -492 0 # |ieta|=4 Shape = 1101100 -493 0 # |ieta|=4 Shape = 1101101 -494 0 # |ieta|=4 Shape = 1101110 -495 0 # |ieta|=4 Shape = 1101111 -496 0 # |ieta|=4 Shape = 1110000 -497 0 # |ieta|=4 Shape = 1110001 -498 0 # |ieta|=4 Shape = 1110010 -499 1 # |ieta|=4 Shape = 1110011 -500 0 # |ieta|=4 Shape = 1110100 -501 0 # |ieta|=4 Shape = 1110101 -502 0 # |ieta|=4 Shape = 1110110 -503 1 # |ieta|=4 Shape = 1110111 -504 0 # |ieta|=4 Shape = 1111000 -505 0 # |ieta|=4 Shape = 1111001 -506 0 # |ieta|=4 Shape = 1111010 -507 0 # |ieta|=4 Shape = 1111011 -508 0 # |ieta|=4 Shape = 1111100 -509 0 # |ieta|=4 Shape = 1111101 -510 0 # |ieta|=4 Shape = 1111110 -511 1 # |ieta|=4 Shape = 1111111 -512 1 # |ieta|=5 Shape = 0000000 -513 1 # |ieta|=5 Shape = 0000001 -514 1 # |ieta|=5 Shape = 0000010 -515 1 # |ieta|=5 Shape = 0000011 -516 0 # |ieta|=5 Shape = 0000100 -517 1 # |ieta|=5 Shape = 0000101 -518 0 # |ieta|=5 Shape = 0000110 -519 1 # |ieta|=5 Shape = 0000111 -520 1 # |ieta|=5 Shape = 0001000 -521 1 # |ieta|=5 Shape = 0001001 -522 1 # |ieta|=5 Shape = 0001010 -523 1 # |ieta|=5 Shape = 0001011 -524 1 # |ieta|=5 Shape = 0001100 -525 1 # |ieta|=5 Shape = 0001101 -526 0 # |ieta|=5 Shape = 0001110 -527 1 # |ieta|=5 Shape = 0001111 -528 0 # |ieta|=5 Shape = 0010000 -529 0 # |ieta|=5 Shape = 0010001 -530 1 # |ieta|=5 Shape = 0010010 -531 1 # |ieta|=5 Shape = 0010011 -532 0 # |ieta|=5 Shape = 0010100 -533 0 # |ieta|=5 Shape = 0010101 -534 0 # |ieta|=5 Shape = 0010110 -535 1 # |ieta|=5 Shape = 0010111 -536 1 # |ieta|=5 Shape = 0011000 -537 0 # |ieta|=5 Shape = 0011001 -538 1 # |ieta|=5 Shape = 0011010 -539 1 # |ieta|=5 Shape = 0011011 -540 1 # |ieta|=5 Shape = 0011100 -541 1 # |ieta|=5 Shape = 0011101 -542 1 # |ieta|=5 Shape = 0011110 -543 1 # |ieta|=5 Shape = 0011111 -544 0 # |ieta|=5 Shape = 0100000 -545 1 # |ieta|=5 Shape = 0100001 -546 0 # |ieta|=5 Shape = 0100010 -547 1 # |ieta|=5 Shape = 0100011 -548 0 # |ieta|=5 Shape = 0100100 -549 1 # |ieta|=5 Shape = 0100101 -550 0 # |ieta|=5 Shape = 0100110 -551 1 # |ieta|=5 Shape = 0100111 -552 0 # |ieta|=5 Shape = 0101000 -553 1 # |ieta|=5 Shape = 0101001 -554 0 # |ieta|=5 Shape = 0101010 -555 1 # |ieta|=5 Shape = 0101011 -556 0 # |ieta|=5 Shape = 0101100 -557 1 # |ieta|=5 Shape = 0101101 -558 0 # |ieta|=5 Shape = 0101110 -559 1 # |ieta|=5 Shape = 0101111 -560 0 # |ieta|=5 Shape = 0110000 -561 0 # |ieta|=5 Shape = 0110001 -562 0 # |ieta|=5 Shape = 0110010 -563 1 # |ieta|=5 Shape = 0110011 -564 0 # |ieta|=5 Shape = 0110100 -565 0 # |ieta|=5 Shape = 0110101 -566 0 # |ieta|=5 Shape = 0110110 -567 1 # |ieta|=5 Shape = 0110111 -568 0 # |ieta|=5 Shape = 0111000 -569 1 # |ieta|=5 Shape = 0111001 -570 0 # |ieta|=5 Shape = 0111010 -571 0 # |ieta|=5 Shape = 0111011 -572 0 # |ieta|=5 Shape = 0111100 -573 1 # |ieta|=5 Shape = 0111101 -574 0 # |ieta|=5 Shape = 0111110 -575 0 # |ieta|=5 Shape = 0111111 -576 0 # |ieta|=5 Shape = 1000000 -577 0 # |ieta|=5 Shape = 1000001 -578 1 # |ieta|=5 Shape = 1000010 -579 1 # |ieta|=5 Shape = 1000011 -580 0 # |ieta|=5 Shape = 1000100 -581 0 # |ieta|=5 Shape = 1000101 -582 0 # |ieta|=5 Shape = 1000110 -583 1 # |ieta|=5 Shape = 1000111 -584 0 # |ieta|=5 Shape = 1001000 -585 0 # |ieta|=5 Shape = 1001001 -586 1 # |ieta|=5 Shape = 1001010 -587 1 # |ieta|=5 Shape = 1001011 -588 0 # |ieta|=5 Shape = 1001100 -589 1 # |ieta|=5 Shape = 1001101 -590 1 # |ieta|=5 Shape = 1001110 -591 0 # |ieta|=5 Shape = 1001111 -592 0 # |ieta|=5 Shape = 1010000 -593 0 # |ieta|=5 Shape = 1010001 -594 1 # |ieta|=5 Shape = 1010010 -595 1 # |ieta|=5 Shape = 1010011 -596 0 # |ieta|=5 Shape = 1010100 -597 0 # |ieta|=5 Shape = 1010101 -598 0 # |ieta|=5 Shape = 1010110 -599 1 # |ieta|=5 Shape = 1010111 -600 0 # |ieta|=5 Shape = 1011000 -601 0 # |ieta|=5 Shape = 1011001 -602 1 # |ieta|=5 Shape = 1011010 -603 1 # |ieta|=5 Shape = 1011011 -604 0 # |ieta|=5 Shape = 1011100 -605 0 # |ieta|=5 Shape = 1011101 -606 1 # |ieta|=5 Shape = 1011110 -607 0 # |ieta|=5 Shape = 1011111 -608 0 # |ieta|=5 Shape = 1100000 -609 0 # |ieta|=5 Shape = 1100001 -610 0 # |ieta|=5 Shape = 1100010 -611 1 # |ieta|=5 Shape = 1100011 -612 0 # |ieta|=5 Shape = 1100100 -613 0 # |ieta|=5 Shape = 1100101 -614 0 # |ieta|=5 Shape = 1100110 -615 1 # |ieta|=5 Shape = 1100111 -616 0 # |ieta|=5 Shape = 1101000 -617 0 # |ieta|=5 Shape = 1101001 -618 0 # |ieta|=5 Shape = 1101010 -619 1 # |ieta|=5 Shape = 1101011 -620 0 # |ieta|=5 Shape = 1101100 -621 0 # |ieta|=5 Shape = 1101101 -622 0 # |ieta|=5 Shape = 1101110 -623 0 # |ieta|=5 Shape = 1101111 -624 0 # |ieta|=5 Shape = 1110000 -625 0 # |ieta|=5 Shape = 1110001 -626 0 # |ieta|=5 Shape = 1110010 -627 1 # |ieta|=5 Shape = 1110011 -628 0 # |ieta|=5 Shape = 1110100 -629 0 # |ieta|=5 Shape = 1110101 -630 0 # |ieta|=5 Shape = 1110110 -631 1 # |ieta|=5 Shape = 1110111 -632 0 # |ieta|=5 Shape = 1111000 -633 0 # |ieta|=5 Shape = 1111001 -634 0 # |ieta|=5 Shape = 1111010 -635 0 # |ieta|=5 Shape = 1111011 -636 0 # |ieta|=5 Shape = 1111100 -637 0 # |ieta|=5 Shape = 1111101 -638 0 # |ieta|=5 Shape = 1111110 -639 1 # |ieta|=5 Shape = 1111111 -640 1 # |ieta|=6 Shape = 0000000 -641 1 # |ieta|=6 Shape = 0000001 -642 1 # |ieta|=6 Shape = 0000010 -643 1 # |ieta|=6 Shape = 0000011 -644 0 # |ieta|=6 Shape = 0000100 -645 1 # |ieta|=6 Shape = 0000101 -646 0 # |ieta|=6 Shape = 0000110 -647 1 # |ieta|=6 Shape = 0000111 -648 1 # |ieta|=6 Shape = 0001000 -649 1 # |ieta|=6 Shape = 0001001 -650 1 # |ieta|=6 Shape = 0001010 -651 1 # |ieta|=6 Shape = 0001011 -652 1 # |ieta|=6 Shape = 0001100 -653 1 # |ieta|=6 Shape = 0001101 -654 0 # |ieta|=6 Shape = 0001110 -655 1 # |ieta|=6 Shape = 0001111 -656 0 # |ieta|=6 Shape = 0010000 -657 0 # |ieta|=6 Shape = 0010001 -658 1 # |ieta|=6 Shape = 0010010 -659 1 # |ieta|=6 Shape = 0010011 -660 0 # |ieta|=6 Shape = 0010100 -661 0 # |ieta|=6 Shape = 0010101 -662 0 # |ieta|=6 Shape = 0010110 -663 1 # |ieta|=6 Shape = 0010111 -664 1 # |ieta|=6 Shape = 0011000 -665 0 # |ieta|=6 Shape = 0011001 -666 1 # |ieta|=6 Shape = 0011010 -667 1 # |ieta|=6 Shape = 0011011 -668 1 # |ieta|=6 Shape = 0011100 -669 1 # |ieta|=6 Shape = 0011101 -670 1 # |ieta|=6 Shape = 0011110 -671 1 # |ieta|=6 Shape = 0011111 -672 0 # |ieta|=6 Shape = 0100000 -673 1 # |ieta|=6 Shape = 0100001 -674 0 # |ieta|=6 Shape = 0100010 -675 1 # |ieta|=6 Shape = 0100011 -676 0 # |ieta|=6 Shape = 0100100 -677 1 # |ieta|=6 Shape = 0100101 -678 0 # |ieta|=6 Shape = 0100110 -679 1 # |ieta|=6 Shape = 0100111 -680 0 # |ieta|=6 Shape = 0101000 -681 1 # |ieta|=6 Shape = 0101001 -682 0 # |ieta|=6 Shape = 0101010 -683 1 # |ieta|=6 Shape = 0101011 -684 0 # |ieta|=6 Shape = 0101100 -685 1 # |ieta|=6 Shape = 0101101 -686 0 # |ieta|=6 Shape = 0101110 -687 1 # |ieta|=6 Shape = 0101111 -688 0 # |ieta|=6 Shape = 0110000 -689 0 # |ieta|=6 Shape = 0110001 -690 0 # |ieta|=6 Shape = 0110010 -691 1 # |ieta|=6 Shape = 0110011 -692 0 # |ieta|=6 Shape = 0110100 -693 0 # |ieta|=6 Shape = 0110101 -694 0 # |ieta|=6 Shape = 0110110 -695 1 # |ieta|=6 Shape = 0110111 -696 0 # |ieta|=6 Shape = 0111000 -697 1 # |ieta|=6 Shape = 0111001 -698 0 # |ieta|=6 Shape = 0111010 -699 0 # |ieta|=6 Shape = 0111011 -700 0 # |ieta|=6 Shape = 0111100 -701 1 # |ieta|=6 Shape = 0111101 -702 0 # |ieta|=6 Shape = 0111110 -703 0 # |ieta|=6 Shape = 0111111 -704 0 # |ieta|=6 Shape = 1000000 -705 0 # |ieta|=6 Shape = 1000001 -706 1 # |ieta|=6 Shape = 1000010 -707 1 # |ieta|=6 Shape = 1000011 -708 0 # |ieta|=6 Shape = 1000100 -709 0 # |ieta|=6 Shape = 1000101 -710 0 # |ieta|=6 Shape = 1000110 -711 1 # |ieta|=6 Shape = 1000111 -712 0 # |ieta|=6 Shape = 1001000 -713 0 # |ieta|=6 Shape = 1001001 -714 1 # |ieta|=6 Shape = 1001010 -715 1 # |ieta|=6 Shape = 1001011 -716 0 # |ieta|=6 Shape = 1001100 -717 1 # |ieta|=6 Shape = 1001101 -718 1 # |ieta|=6 Shape = 1001110 -719 0 # |ieta|=6 Shape = 1001111 -720 0 # |ieta|=6 Shape = 1010000 -721 0 # |ieta|=6 Shape = 1010001 -722 1 # |ieta|=6 Shape = 1010010 -723 1 # |ieta|=6 Shape = 1010011 -724 0 # |ieta|=6 Shape = 1010100 -725 0 # |ieta|=6 Shape = 1010101 -726 0 # |ieta|=6 Shape = 1010110 -727 1 # |ieta|=6 Shape = 1010111 -728 0 # |ieta|=6 Shape = 1011000 -729 0 # |ieta|=6 Shape = 1011001 -730 1 # |ieta|=6 Shape = 1011010 -731 1 # |ieta|=6 Shape = 1011011 -732 0 # |ieta|=6 Shape = 1011100 -733 0 # |ieta|=6 Shape = 1011101 -734 1 # |ieta|=6 Shape = 1011110 -735 0 # |ieta|=6 Shape = 1011111 -736 0 # |ieta|=6 Shape = 1100000 -737 0 # |ieta|=6 Shape = 1100001 -738 0 # |ieta|=6 Shape = 1100010 -739 1 # |ieta|=6 Shape = 1100011 -740 0 # |ieta|=6 Shape = 1100100 -741 0 # |ieta|=6 Shape = 1100101 -742 0 # |ieta|=6 Shape = 1100110 -743 1 # |ieta|=6 Shape = 1100111 -744 0 # |ieta|=6 Shape = 1101000 -745 0 # |ieta|=6 Shape = 1101001 -746 0 # |ieta|=6 Shape = 1101010 -747 1 # |ieta|=6 Shape = 1101011 -748 0 # |ieta|=6 Shape = 1101100 -749 0 # |ieta|=6 Shape = 1101101 -750 0 # |ieta|=6 Shape = 1101110 -751 0 # |ieta|=6 Shape = 1101111 -752 0 # |ieta|=6 Shape = 1110000 -753 0 # |ieta|=6 Shape = 1110001 -754 0 # |ieta|=6 Shape = 1110010 -755 1 # |ieta|=6 Shape = 1110011 -756 0 # |ieta|=6 Shape = 1110100 -757 0 # |ieta|=6 Shape = 1110101 -758 0 # |ieta|=6 Shape = 1110110 -759 1 # |ieta|=6 Shape = 1110111 -760 0 # |ieta|=6 Shape = 1111000 -761 0 # |ieta|=6 Shape = 1111001 -762 0 # |ieta|=6 Shape = 1111010 -763 0 # |ieta|=6 Shape = 1111011 -764 0 # |ieta|=6 Shape = 1111100 -765 0 # |ieta|=6 Shape = 1111101 -766 0 # |ieta|=6 Shape = 1111110 -767 1 # |ieta|=6 Shape = 1111111 -768 1 # |ieta|=7 Shape = 0000000 -769 1 # |ieta|=7 Shape = 0000001 -770 1 # |ieta|=7 Shape = 0000010 -771 1 # |ieta|=7 Shape = 0000011 -772 0 # |ieta|=7 Shape = 0000100 -773 1 # |ieta|=7 Shape = 0000101 -774 0 # |ieta|=7 Shape = 0000110 -775 1 # |ieta|=7 Shape = 0000111 -776 1 # |ieta|=7 Shape = 0001000 -777 1 # |ieta|=7 Shape = 0001001 -778 1 # |ieta|=7 Shape = 0001010 -779 1 # |ieta|=7 Shape = 0001011 -780 1 # |ieta|=7 Shape = 0001100 -781 1 # |ieta|=7 Shape = 0001101 -782 0 # |ieta|=7 Shape = 0001110 -783 1 # |ieta|=7 Shape = 0001111 -784 0 # |ieta|=7 Shape = 0010000 -785 0 # |ieta|=7 Shape = 0010001 -786 1 # |ieta|=7 Shape = 0010010 -787 1 # |ieta|=7 Shape = 0010011 -788 0 # |ieta|=7 Shape = 0010100 -789 0 # |ieta|=7 Shape = 0010101 -790 0 # |ieta|=7 Shape = 0010110 -791 1 # |ieta|=7 Shape = 0010111 -792 1 # |ieta|=7 Shape = 0011000 -793 0 # |ieta|=7 Shape = 0011001 -794 1 # |ieta|=7 Shape = 0011010 -795 1 # |ieta|=7 Shape = 0011011 -796 1 # |ieta|=7 Shape = 0011100 -797 1 # |ieta|=7 Shape = 0011101 -798 1 # |ieta|=7 Shape = 0011110 -799 1 # |ieta|=7 Shape = 0011111 -800 0 # |ieta|=7 Shape = 0100000 -801 1 # |ieta|=7 Shape = 0100001 -802 0 # |ieta|=7 Shape = 0100010 -803 1 # |ieta|=7 Shape = 0100011 -804 0 # |ieta|=7 Shape = 0100100 -805 1 # |ieta|=7 Shape = 0100101 -806 0 # |ieta|=7 Shape = 0100110 -807 1 # |ieta|=7 Shape = 0100111 -808 0 # |ieta|=7 Shape = 0101000 -809 1 # |ieta|=7 Shape = 0101001 -810 0 # |ieta|=7 Shape = 0101010 -811 1 # |ieta|=7 Shape = 0101011 -812 0 # |ieta|=7 Shape = 0101100 -813 1 # |ieta|=7 Shape = 0101101 -814 0 # |ieta|=7 Shape = 0101110 -815 1 # |ieta|=7 Shape = 0101111 -816 0 # |ieta|=7 Shape = 0110000 -817 0 # |ieta|=7 Shape = 0110001 -818 0 # |ieta|=7 Shape = 0110010 -819 1 # |ieta|=7 Shape = 0110011 -820 0 # |ieta|=7 Shape = 0110100 -821 0 # |ieta|=7 Shape = 0110101 -822 0 # |ieta|=7 Shape = 0110110 -823 1 # |ieta|=7 Shape = 0110111 -824 0 # |ieta|=7 Shape = 0111000 -825 1 # |ieta|=7 Shape = 0111001 -826 0 # |ieta|=7 Shape = 0111010 -827 0 # |ieta|=7 Shape = 0111011 -828 0 # |ieta|=7 Shape = 0111100 -829 1 # |ieta|=7 Shape = 0111101 -830 0 # |ieta|=7 Shape = 0111110 -831 0 # |ieta|=7 Shape = 0111111 -832 0 # |ieta|=7 Shape = 1000000 -833 0 # |ieta|=7 Shape = 1000001 -834 1 # |ieta|=7 Shape = 1000010 -835 1 # |ieta|=7 Shape = 1000011 -836 0 # |ieta|=7 Shape = 1000100 -837 0 # |ieta|=7 Shape = 1000101 -838 0 # |ieta|=7 Shape = 1000110 -839 1 # |ieta|=7 Shape = 1000111 -840 0 # |ieta|=7 Shape = 1001000 -841 0 # |ieta|=7 Shape = 1001001 -842 1 # |ieta|=7 Shape = 1001010 -843 1 # |ieta|=7 Shape = 1001011 -844 0 # |ieta|=7 Shape = 1001100 -845 1 # |ieta|=7 Shape = 1001101 -846 1 # |ieta|=7 Shape = 1001110 -847 0 # |ieta|=7 Shape = 1001111 -848 0 # |ieta|=7 Shape = 1010000 -849 0 # |ieta|=7 Shape = 1010001 -850 1 # |ieta|=7 Shape = 1010010 -851 1 # |ieta|=7 Shape = 1010011 -852 0 # |ieta|=7 Shape = 1010100 -853 0 # |ieta|=7 Shape = 1010101 -854 0 # |ieta|=7 Shape = 1010110 -855 1 # |ieta|=7 Shape = 1010111 -856 0 # |ieta|=7 Shape = 1011000 -857 0 # |ieta|=7 Shape = 1011001 -858 1 # |ieta|=7 Shape = 1011010 -859 1 # |ieta|=7 Shape = 1011011 -860 0 # |ieta|=7 Shape = 1011100 -861 0 # |ieta|=7 Shape = 1011101 -862 1 # |ieta|=7 Shape = 1011110 -863 0 # |ieta|=7 Shape = 1011111 -864 0 # |ieta|=7 Shape = 1100000 -865 0 # |ieta|=7 Shape = 1100001 -866 0 # |ieta|=7 Shape = 1100010 -867 1 # |ieta|=7 Shape = 1100011 -868 0 # |ieta|=7 Shape = 1100100 -869 0 # |ieta|=7 Shape = 1100101 -870 0 # |ieta|=7 Shape = 1100110 -871 1 # |ieta|=7 Shape = 1100111 -872 0 # |ieta|=7 Shape = 1101000 -873 0 # |ieta|=7 Shape = 1101001 -874 0 # |ieta|=7 Shape = 1101010 -875 1 # |ieta|=7 Shape = 1101011 -876 0 # |ieta|=7 Shape = 1101100 -877 0 # |ieta|=7 Shape = 1101101 -878 0 # |ieta|=7 Shape = 1101110 -879 0 # |ieta|=7 Shape = 1101111 -880 0 # |ieta|=7 Shape = 1110000 -881 0 # |ieta|=7 Shape = 1110001 -882 0 # |ieta|=7 Shape = 1110010 -883 1 # |ieta|=7 Shape = 1110011 -884 0 # |ieta|=7 Shape = 1110100 -885 0 # |ieta|=7 Shape = 1110101 -886 0 # |ieta|=7 Shape = 1110110 -887 1 # |ieta|=7 Shape = 1110111 -888 0 # |ieta|=7 Shape = 1111000 -889 0 # |ieta|=7 Shape = 1111001 -890 0 # |ieta|=7 Shape = 1111010 -891 0 # |ieta|=7 Shape = 1111011 -892 0 # |ieta|=7 Shape = 1111100 -893 0 # |ieta|=7 Shape = 1111101 -894 0 # |ieta|=7 Shape = 1111110 -895 1 # |ieta|=7 Shape = 1111111 -896 1 # |ieta|=8 Shape = 0000000 -897 1 # |ieta|=8 Shape = 0000001 -898 1 # |ieta|=8 Shape = 0000010 -899 1 # |ieta|=8 Shape = 0000011 -900 0 # |ieta|=8 Shape = 0000100 -901 1 # |ieta|=8 Shape = 0000101 -902 0 # |ieta|=8 Shape = 0000110 -903 1 # |ieta|=8 Shape = 0000111 -904 1 # |ieta|=8 Shape = 0001000 -905 1 # |ieta|=8 Shape = 0001001 -906 1 # |ieta|=8 Shape = 0001010 -907 1 # |ieta|=8 Shape = 0001011 -908 1 # |ieta|=8 Shape = 0001100 -909 1 # |ieta|=8 Shape = 0001101 -910 0 # |ieta|=8 Shape = 0001110 -911 1 # |ieta|=8 Shape = 0001111 -912 0 # |ieta|=8 Shape = 0010000 -913 0 # |ieta|=8 Shape = 0010001 -914 1 # |ieta|=8 Shape = 0010010 -915 1 # |ieta|=8 Shape = 0010011 -916 0 # |ieta|=8 Shape = 0010100 -917 0 # |ieta|=8 Shape = 0010101 -918 0 # |ieta|=8 Shape = 0010110 -919 1 # |ieta|=8 Shape = 0010111 -920 1 # |ieta|=8 Shape = 0011000 -921 0 # |ieta|=8 Shape = 0011001 -922 1 # |ieta|=8 Shape = 0011010 -923 1 # |ieta|=8 Shape = 0011011 -924 1 # |ieta|=8 Shape = 0011100 -925 1 # |ieta|=8 Shape = 0011101 -926 1 # |ieta|=8 Shape = 0011110 -927 1 # |ieta|=8 Shape = 0011111 -928 0 # |ieta|=8 Shape = 0100000 -929 1 # |ieta|=8 Shape = 0100001 -930 0 # |ieta|=8 Shape = 0100010 -931 1 # |ieta|=8 Shape = 0100011 -932 0 # |ieta|=8 Shape = 0100100 -933 1 # |ieta|=8 Shape = 0100101 -934 0 # |ieta|=8 Shape = 0100110 -935 1 # |ieta|=8 Shape = 0100111 -936 0 # |ieta|=8 Shape = 0101000 -937 1 # |ieta|=8 Shape = 0101001 -938 0 # |ieta|=8 Shape = 0101010 -939 1 # |ieta|=8 Shape = 0101011 -940 0 # |ieta|=8 Shape = 0101100 -941 1 # |ieta|=8 Shape = 0101101 -942 0 # |ieta|=8 Shape = 0101110 -943 1 # |ieta|=8 Shape = 0101111 -944 0 # |ieta|=8 Shape = 0110000 -945 0 # |ieta|=8 Shape = 0110001 -946 0 # |ieta|=8 Shape = 0110010 -947 1 # |ieta|=8 Shape = 0110011 -948 0 # |ieta|=8 Shape = 0110100 -949 0 # |ieta|=8 Shape = 0110101 -950 0 # |ieta|=8 Shape = 0110110 -951 1 # |ieta|=8 Shape = 0110111 -952 0 # |ieta|=8 Shape = 0111000 -953 1 # |ieta|=8 Shape = 0111001 -954 0 # |ieta|=8 Shape = 0111010 -955 0 # |ieta|=8 Shape = 0111011 -956 0 # |ieta|=8 Shape = 0111100 -957 1 # |ieta|=8 Shape = 0111101 -958 0 # |ieta|=8 Shape = 0111110 -959 0 # |ieta|=8 Shape = 0111111 -960 0 # |ieta|=8 Shape = 1000000 -961 0 # |ieta|=8 Shape = 1000001 -962 1 # |ieta|=8 Shape = 1000010 -963 1 # |ieta|=8 Shape = 1000011 -964 0 # |ieta|=8 Shape = 1000100 -965 0 # |ieta|=8 Shape = 1000101 -966 0 # |ieta|=8 Shape = 1000110 -967 1 # |ieta|=8 Shape = 1000111 -968 0 # |ieta|=8 Shape = 1001000 -969 0 # |ieta|=8 Shape = 1001001 -970 1 # |ieta|=8 Shape = 1001010 -971 1 # |ieta|=8 Shape = 1001011 -972 0 # |ieta|=8 Shape = 1001100 -973 1 # |ieta|=8 Shape = 1001101 -974 1 # |ieta|=8 Shape = 1001110 -975 0 # |ieta|=8 Shape = 1001111 -976 0 # |ieta|=8 Shape = 1010000 -977 0 # |ieta|=8 Shape = 1010001 -978 1 # |ieta|=8 Shape = 1010010 -979 1 # |ieta|=8 Shape = 1010011 -980 0 # |ieta|=8 Shape = 1010100 -981 0 # |ieta|=8 Shape = 1010101 -982 0 # |ieta|=8 Shape = 1010110 -983 1 # |ieta|=8 Shape = 1010111 -984 0 # |ieta|=8 Shape = 1011000 -985 0 # |ieta|=8 Shape = 1011001 -986 1 # |ieta|=8 Shape = 1011010 -987 1 # |ieta|=8 Shape = 1011011 -988 0 # |ieta|=8 Shape = 1011100 -989 0 # |ieta|=8 Shape = 1011101 -990 1 # |ieta|=8 Shape = 1011110 -991 0 # |ieta|=8 Shape = 1011111 -992 0 # |ieta|=8 Shape = 1100000 -993 0 # |ieta|=8 Shape = 1100001 -994 0 # |ieta|=8 Shape = 1100010 -995 1 # |ieta|=8 Shape = 1100011 -996 0 # |ieta|=8 Shape = 1100100 -997 0 # |ieta|=8 Shape = 1100101 -998 0 # |ieta|=8 Shape = 1100110 -999 1 # |ieta|=8 Shape = 1100111 -1000 0 # |ieta|=8 Shape = 1101000 -1001 0 # |ieta|=8 Shape = 1101001 -1002 0 # |ieta|=8 Shape = 1101010 -1003 1 # |ieta|=8 Shape = 1101011 -1004 0 # |ieta|=8 Shape = 1101100 -1005 0 # |ieta|=8 Shape = 1101101 -1006 0 # |ieta|=8 Shape = 1101110 -1007 0 # |ieta|=8 Shape = 1101111 -1008 0 # |ieta|=8 Shape = 1110000 -1009 0 # |ieta|=8 Shape = 1110001 -1010 0 # |ieta|=8 Shape = 1110010 -1011 1 # |ieta|=8 Shape = 1110011 -1012 0 # |ieta|=8 Shape = 1110100 -1013 0 # |ieta|=8 Shape = 1110101 -1014 0 # |ieta|=8 Shape = 1110110 -1015 1 # |ieta|=8 Shape = 1110111 -1016 0 # |ieta|=8 Shape = 1111000 -1017 0 # |ieta|=8 Shape = 1111001 -1018 0 # |ieta|=8 Shape = 1111010 -1019 0 # |ieta|=8 Shape = 1111011 -1020 0 # |ieta|=8 Shape = 1111100 -1021 0 # |ieta|=8 Shape = 1111101 -1022 0 # |ieta|=8 Shape = 1111110 -1023 1 # |ieta|=8 Shape = 1111111 -1024 1 # |ieta|=9 Shape = 0000000 -1025 1 # |ieta|=9 Shape = 0000001 -1026 1 # |ieta|=9 Shape = 0000010 -1027 1 # |ieta|=9 Shape = 0000011 -1028 0 # |ieta|=9 Shape = 0000100 -1029 1 # |ieta|=9 Shape = 0000101 -1030 0 # |ieta|=9 Shape = 0000110 -1031 1 # |ieta|=9 Shape = 0000111 -1032 1 # |ieta|=9 Shape = 0001000 -1033 1 # |ieta|=9 Shape = 0001001 -1034 1 # |ieta|=9 Shape = 0001010 -1035 1 # |ieta|=9 Shape = 0001011 -1036 1 # |ieta|=9 Shape = 0001100 -1037 1 # |ieta|=9 Shape = 0001101 -1038 0 # |ieta|=9 Shape = 0001110 -1039 1 # |ieta|=9 Shape = 0001111 -1040 0 # |ieta|=9 Shape = 0010000 -1041 0 # |ieta|=9 Shape = 0010001 -1042 1 # |ieta|=9 Shape = 0010010 -1043 1 # |ieta|=9 Shape = 0010011 -1044 0 # |ieta|=9 Shape = 0010100 -1045 0 # |ieta|=9 Shape = 0010101 -1046 0 # |ieta|=9 Shape = 0010110 -1047 1 # |ieta|=9 Shape = 0010111 -1048 1 # |ieta|=9 Shape = 0011000 -1049 0 # |ieta|=9 Shape = 0011001 -1050 1 # |ieta|=9 Shape = 0011010 -1051 1 # |ieta|=9 Shape = 0011011 -1052 1 # |ieta|=9 Shape = 0011100 -1053 1 # |ieta|=9 Shape = 0011101 -1054 1 # |ieta|=9 Shape = 0011110 -1055 1 # |ieta|=9 Shape = 0011111 -1056 0 # |ieta|=9 Shape = 0100000 -1057 1 # |ieta|=9 Shape = 0100001 -1058 0 # |ieta|=9 Shape = 0100010 -1059 1 # |ieta|=9 Shape = 0100011 -1060 0 # |ieta|=9 Shape = 0100100 -1061 1 # |ieta|=9 Shape = 0100101 -1062 0 # |ieta|=9 Shape = 0100110 -1063 1 # |ieta|=9 Shape = 0100111 -1064 0 # |ieta|=9 Shape = 0101000 -1065 1 # |ieta|=9 Shape = 0101001 -1066 0 # |ieta|=9 Shape = 0101010 -1067 1 # |ieta|=9 Shape = 0101011 -1068 0 # |ieta|=9 Shape = 0101100 -1069 1 # |ieta|=9 Shape = 0101101 -1070 0 # |ieta|=9 Shape = 0101110 -1071 1 # |ieta|=9 Shape = 0101111 -1072 0 # |ieta|=9 Shape = 0110000 -1073 0 # |ieta|=9 Shape = 0110001 -1074 0 # |ieta|=9 Shape = 0110010 -1075 1 # |ieta|=9 Shape = 0110011 -1076 0 # |ieta|=9 Shape = 0110100 -1077 0 # |ieta|=9 Shape = 0110101 -1078 0 # |ieta|=9 Shape = 0110110 -1079 1 # |ieta|=9 Shape = 0110111 -1080 0 # |ieta|=9 Shape = 0111000 -1081 1 # |ieta|=9 Shape = 0111001 -1082 0 # |ieta|=9 Shape = 0111010 -1083 0 # |ieta|=9 Shape = 0111011 -1084 0 # |ieta|=9 Shape = 0111100 -1085 1 # |ieta|=9 Shape = 0111101 -1086 0 # |ieta|=9 Shape = 0111110 -1087 0 # |ieta|=9 Shape = 0111111 -1088 0 # |ieta|=9 Shape = 1000000 -1089 0 # |ieta|=9 Shape = 1000001 -1090 1 # |ieta|=9 Shape = 1000010 -1091 1 # |ieta|=9 Shape = 1000011 -1092 0 # |ieta|=9 Shape = 1000100 -1093 0 # |ieta|=9 Shape = 1000101 -1094 0 # |ieta|=9 Shape = 1000110 -1095 1 # |ieta|=9 Shape = 1000111 -1096 0 # |ieta|=9 Shape = 1001000 -1097 0 # |ieta|=9 Shape = 1001001 -1098 1 # |ieta|=9 Shape = 1001010 -1099 1 # |ieta|=9 Shape = 1001011 -1100 0 # |ieta|=9 Shape = 1001100 -1101 1 # |ieta|=9 Shape = 1001101 -1102 1 # |ieta|=9 Shape = 1001110 -1103 0 # |ieta|=9 Shape = 1001111 -1104 0 # |ieta|=9 Shape = 1010000 -1105 0 # |ieta|=9 Shape = 1010001 -1106 1 # |ieta|=9 Shape = 1010010 -1107 1 # |ieta|=9 Shape = 1010011 -1108 0 # |ieta|=9 Shape = 1010100 -1109 0 # |ieta|=9 Shape = 1010101 -1110 0 # |ieta|=9 Shape = 1010110 -1111 1 # |ieta|=9 Shape = 1010111 -1112 0 # |ieta|=9 Shape = 1011000 -1113 0 # |ieta|=9 Shape = 1011001 -1114 1 # |ieta|=9 Shape = 1011010 -1115 1 # |ieta|=9 Shape = 1011011 -1116 0 # |ieta|=9 Shape = 1011100 -1117 0 # |ieta|=9 Shape = 1011101 -1118 1 # |ieta|=9 Shape = 1011110 -1119 0 # |ieta|=9 Shape = 1011111 -1120 0 # |ieta|=9 Shape = 1100000 -1121 0 # |ieta|=9 Shape = 1100001 -1122 0 # |ieta|=9 Shape = 1100010 -1123 1 # |ieta|=9 Shape = 1100011 -1124 0 # |ieta|=9 Shape = 1100100 -1125 0 # |ieta|=9 Shape = 1100101 -1126 0 # |ieta|=9 Shape = 1100110 -1127 1 # |ieta|=9 Shape = 1100111 -1128 0 # |ieta|=9 Shape = 1101000 -1129 0 # |ieta|=9 Shape = 1101001 -1130 0 # |ieta|=9 Shape = 1101010 -1131 1 # |ieta|=9 Shape = 1101011 -1132 0 # |ieta|=9 Shape = 1101100 -1133 0 # |ieta|=9 Shape = 1101101 -1134 0 # |ieta|=9 Shape = 1101110 -1135 0 # |ieta|=9 Shape = 1101111 -1136 0 # |ieta|=9 Shape = 1110000 -1137 0 # |ieta|=9 Shape = 1110001 -1138 0 # |ieta|=9 Shape = 1110010 -1139 1 # |ieta|=9 Shape = 1110011 -1140 0 # |ieta|=9 Shape = 1110100 -1141 0 # |ieta|=9 Shape = 1110101 -1142 0 # |ieta|=9 Shape = 1110110 -1143 1 # |ieta|=9 Shape = 1110111 -1144 0 # |ieta|=9 Shape = 1111000 -1145 0 # |ieta|=9 Shape = 1111001 -1146 0 # |ieta|=9 Shape = 1111010 -1147 0 # |ieta|=9 Shape = 1111011 -1148 0 # |ieta|=9 Shape = 1111100 -1149 0 # |ieta|=9 Shape = 1111101 -1150 0 # |ieta|=9 Shape = 1111110 -1151 1 # |ieta|=9 Shape = 1111111 -1152 1 # |ieta|=10 Shape = 0000000 -1153 1 # |ieta|=10 Shape = 0000001 -1154 1 # |ieta|=10 Shape = 0000010 -1155 1 # |ieta|=10 Shape = 0000011 -1156 0 # |ieta|=10 Shape = 0000100 -1157 1 # |ieta|=10 Shape = 0000101 -1158 0 # |ieta|=10 Shape = 0000110 -1159 1 # |ieta|=10 Shape = 0000111 -1160 1 # |ieta|=10 Shape = 0001000 -1161 1 # |ieta|=10 Shape = 0001001 -1162 1 # |ieta|=10 Shape = 0001010 -1163 1 # |ieta|=10 Shape = 0001011 -1164 1 # |ieta|=10 Shape = 0001100 -1165 1 # |ieta|=10 Shape = 0001101 -1166 0 # |ieta|=10 Shape = 0001110 -1167 1 # |ieta|=10 Shape = 0001111 -1168 0 # |ieta|=10 Shape = 0010000 -1169 0 # |ieta|=10 Shape = 0010001 -1170 1 # |ieta|=10 Shape = 0010010 -1171 1 # |ieta|=10 Shape = 0010011 -1172 0 # |ieta|=10 Shape = 0010100 -1173 0 # |ieta|=10 Shape = 0010101 -1174 0 # |ieta|=10 Shape = 0010110 -1175 1 # |ieta|=10 Shape = 0010111 -1176 1 # |ieta|=10 Shape = 0011000 -1177 0 # |ieta|=10 Shape = 0011001 -1178 1 # |ieta|=10 Shape = 0011010 -1179 1 # |ieta|=10 Shape = 0011011 -1180 1 # |ieta|=10 Shape = 0011100 -1181 1 # |ieta|=10 Shape = 0011101 -1182 1 # |ieta|=10 Shape = 0011110 -1183 1 # |ieta|=10 Shape = 0011111 -1184 0 # |ieta|=10 Shape = 0100000 -1185 1 # |ieta|=10 Shape = 0100001 -1186 0 # |ieta|=10 Shape = 0100010 -1187 1 # |ieta|=10 Shape = 0100011 -1188 0 # |ieta|=10 Shape = 0100100 -1189 1 # |ieta|=10 Shape = 0100101 -1190 0 # |ieta|=10 Shape = 0100110 -1191 1 # |ieta|=10 Shape = 0100111 -1192 0 # |ieta|=10 Shape = 0101000 -1193 1 # |ieta|=10 Shape = 0101001 -1194 0 # |ieta|=10 Shape = 0101010 -1195 1 # |ieta|=10 Shape = 0101011 -1196 0 # |ieta|=10 Shape = 0101100 -1197 1 # |ieta|=10 Shape = 0101101 -1198 0 # |ieta|=10 Shape = 0101110 -1199 1 # |ieta|=10 Shape = 0101111 -1200 0 # |ieta|=10 Shape = 0110000 -1201 0 # |ieta|=10 Shape = 0110001 -1202 0 # |ieta|=10 Shape = 0110010 -1203 1 # |ieta|=10 Shape = 0110011 -1204 0 # |ieta|=10 Shape = 0110100 -1205 0 # |ieta|=10 Shape = 0110101 -1206 0 # |ieta|=10 Shape = 0110110 -1207 1 # |ieta|=10 Shape = 0110111 -1208 0 # |ieta|=10 Shape = 0111000 -1209 1 # |ieta|=10 Shape = 0111001 -1210 0 # |ieta|=10 Shape = 0111010 -1211 0 # |ieta|=10 Shape = 0111011 -1212 0 # |ieta|=10 Shape = 0111100 -1213 1 # |ieta|=10 Shape = 0111101 -1214 0 # |ieta|=10 Shape = 0111110 -1215 0 # |ieta|=10 Shape = 0111111 -1216 0 # |ieta|=10 Shape = 1000000 -1217 0 # |ieta|=10 Shape = 1000001 -1218 1 # |ieta|=10 Shape = 1000010 -1219 1 # |ieta|=10 Shape = 1000011 -1220 0 # |ieta|=10 Shape = 1000100 -1221 0 # |ieta|=10 Shape = 1000101 -1222 0 # |ieta|=10 Shape = 1000110 -1223 1 # |ieta|=10 Shape = 1000111 -1224 0 # |ieta|=10 Shape = 1001000 -1225 0 # |ieta|=10 Shape = 1001001 -1226 1 # |ieta|=10 Shape = 1001010 -1227 1 # |ieta|=10 Shape = 1001011 -1228 0 # |ieta|=10 Shape = 1001100 -1229 1 # |ieta|=10 Shape = 1001101 -1230 1 # |ieta|=10 Shape = 1001110 -1231 0 # |ieta|=10 Shape = 1001111 -1232 0 # |ieta|=10 Shape = 1010000 -1233 0 # |ieta|=10 Shape = 1010001 -1234 1 # |ieta|=10 Shape = 1010010 -1235 1 # |ieta|=10 Shape = 1010011 -1236 0 # |ieta|=10 Shape = 1010100 -1237 0 # |ieta|=10 Shape = 1010101 -1238 0 # |ieta|=10 Shape = 1010110 -1239 1 # |ieta|=10 Shape = 1010111 -1240 0 # |ieta|=10 Shape = 1011000 -1241 0 # |ieta|=10 Shape = 1011001 -1242 1 # |ieta|=10 Shape = 1011010 -1243 1 # |ieta|=10 Shape = 1011011 -1244 0 # |ieta|=10 Shape = 1011100 -1245 0 # |ieta|=10 Shape = 1011101 -1246 1 # |ieta|=10 Shape = 1011110 -1247 0 # |ieta|=10 Shape = 1011111 -1248 0 # |ieta|=10 Shape = 1100000 -1249 0 # |ieta|=10 Shape = 1100001 -1250 0 # |ieta|=10 Shape = 1100010 -1251 1 # |ieta|=10 Shape = 1100011 -1252 0 # |ieta|=10 Shape = 1100100 -1253 0 # |ieta|=10 Shape = 1100101 -1254 0 # |ieta|=10 Shape = 1100110 -1255 1 # |ieta|=10 Shape = 1100111 -1256 0 # |ieta|=10 Shape = 1101000 -1257 0 # |ieta|=10 Shape = 1101001 -1258 0 # |ieta|=10 Shape = 1101010 -1259 1 # |ieta|=10 Shape = 1101011 -1260 0 # |ieta|=10 Shape = 1101100 -1261 0 # |ieta|=10 Shape = 1101101 -1262 0 # |ieta|=10 Shape = 1101110 -1263 0 # |ieta|=10 Shape = 1101111 -1264 0 # |ieta|=10 Shape = 1110000 -1265 0 # |ieta|=10 Shape = 1110001 -1266 0 # |ieta|=10 Shape = 1110010 -1267 1 # |ieta|=10 Shape = 1110011 -1268 0 # |ieta|=10 Shape = 1110100 -1269 0 # |ieta|=10 Shape = 1110101 -1270 0 # |ieta|=10 Shape = 1110110 -1271 1 # |ieta|=10 Shape = 1110111 -1272 0 # |ieta|=10 Shape = 1111000 -1273 0 # |ieta|=10 Shape = 1111001 -1274 0 # |ieta|=10 Shape = 1111010 -1275 0 # |ieta|=10 Shape = 1111011 -1276 0 # |ieta|=10 Shape = 1111100 -1277 0 # |ieta|=10 Shape = 1111101 -1278 0 # |ieta|=10 Shape = 1111110 -1279 1 # |ieta|=10 Shape = 1111111 -1280 1 # |ieta|=11 Shape = 0000000 -1281 1 # |ieta|=11 Shape = 0000001 -1282 1 # |ieta|=11 Shape = 0000010 -1283 1 # |ieta|=11 Shape = 0000011 -1284 0 # |ieta|=11 Shape = 0000100 -1285 1 # |ieta|=11 Shape = 0000101 -1286 0 # |ieta|=11 Shape = 0000110 -1287 1 # |ieta|=11 Shape = 0000111 -1288 1 # |ieta|=11 Shape = 0001000 -1289 1 # |ieta|=11 Shape = 0001001 -1290 1 # |ieta|=11 Shape = 0001010 -1291 1 # |ieta|=11 Shape = 0001011 -1292 1 # |ieta|=11 Shape = 0001100 -1293 1 # |ieta|=11 Shape = 0001101 -1294 1 # |ieta|=11 Shape = 0001110 -1295 1 # |ieta|=11 Shape = 0001111 -1296 0 # |ieta|=11 Shape = 0010000 -1297 0 # |ieta|=11 Shape = 0010001 -1298 1 # |ieta|=11 Shape = 0010010 -1299 1 # |ieta|=11 Shape = 0010011 -1300 0 # |ieta|=11 Shape = 0010100 -1301 0 # |ieta|=11 Shape = 0010101 -1302 0 # |ieta|=11 Shape = 0010110 -1303 1 # |ieta|=11 Shape = 0010111 -1304 1 # |ieta|=11 Shape = 0011000 -1305 1 # |ieta|=11 Shape = 0011001 -1306 1 # |ieta|=11 Shape = 0011010 -1307 1 # |ieta|=11 Shape = 0011011 -1308 1 # |ieta|=11 Shape = 0011100 -1309 1 # |ieta|=11 Shape = 0011101 -1310 1 # |ieta|=11 Shape = 0011110 -1311 1 # |ieta|=11 Shape = 0011111 -1312 0 # |ieta|=11 Shape = 0100000 -1313 1 # |ieta|=11 Shape = 0100001 -1314 0 # |ieta|=11 Shape = 0100010 -1315 1 # |ieta|=11 Shape = 0100011 -1316 0 # |ieta|=11 Shape = 0100100 -1317 1 # |ieta|=11 Shape = 0100101 -1318 0 # |ieta|=11 Shape = 0100110 -1319 1 # |ieta|=11 Shape = 0100111 -1320 0 # |ieta|=11 Shape = 0101000 -1321 1 # |ieta|=11 Shape = 0101001 -1322 0 # |ieta|=11 Shape = 0101010 -1323 1 # |ieta|=11 Shape = 0101011 -1324 0 # |ieta|=11 Shape = 0101100 -1325 1 # |ieta|=11 Shape = 0101101 -1326 0 # |ieta|=11 Shape = 0101110 -1327 1 # |ieta|=11 Shape = 0101111 -1328 0 # |ieta|=11 Shape = 0110000 -1329 0 # |ieta|=11 Shape = 0110001 -1330 0 # |ieta|=11 Shape = 0110010 -1331 1 # |ieta|=11 Shape = 0110011 -1332 0 # |ieta|=11 Shape = 0110100 -1333 0 # |ieta|=11 Shape = 0110101 -1334 0 # |ieta|=11 Shape = 0110110 -1335 1 # |ieta|=11 Shape = 0110111 -1336 0 # |ieta|=11 Shape = 0111000 -1337 1 # |ieta|=11 Shape = 0111001 -1338 0 # |ieta|=11 Shape = 0111010 -1339 0 # |ieta|=11 Shape = 0111011 -1340 0 # |ieta|=11 Shape = 0111100 -1341 1 # |ieta|=11 Shape = 0111101 -1342 0 # |ieta|=11 Shape = 0111110 -1343 0 # |ieta|=11 Shape = 0111111 -1344 0 # |ieta|=11 Shape = 1000000 -1345 0 # |ieta|=11 Shape = 1000001 -1346 1 # |ieta|=11 Shape = 1000010 -1347 1 # |ieta|=11 Shape = 1000011 -1348 0 # |ieta|=11 Shape = 1000100 -1349 0 # |ieta|=11 Shape = 1000101 -1350 0 # |ieta|=11 Shape = 1000110 -1351 1 # |ieta|=11 Shape = 1000111 -1352 0 # |ieta|=11 Shape = 1001000 -1353 0 # |ieta|=11 Shape = 1001001 -1354 1 # |ieta|=11 Shape = 1001010 -1355 1 # |ieta|=11 Shape = 1001011 -1356 0 # |ieta|=11 Shape = 1001100 -1357 1 # |ieta|=11 Shape = 1001101 -1358 1 # |ieta|=11 Shape = 1001110 -1359 0 # |ieta|=11 Shape = 1001111 -1360 0 # |ieta|=11 Shape = 1010000 -1361 0 # |ieta|=11 Shape = 1010001 -1362 1 # |ieta|=11 Shape = 1010010 -1363 1 # |ieta|=11 Shape = 1010011 -1364 0 # |ieta|=11 Shape = 1010100 -1365 0 # |ieta|=11 Shape = 1010101 -1366 0 # |ieta|=11 Shape = 1010110 -1367 1 # |ieta|=11 Shape = 1010111 -1368 0 # |ieta|=11 Shape = 1011000 -1369 0 # |ieta|=11 Shape = 1011001 -1370 1 # |ieta|=11 Shape = 1011010 -1371 1 # |ieta|=11 Shape = 1011011 -1372 0 # |ieta|=11 Shape = 1011100 -1373 0 # |ieta|=11 Shape = 1011101 -1374 1 # |ieta|=11 Shape = 1011110 -1375 0 # |ieta|=11 Shape = 1011111 -1376 0 # |ieta|=11 Shape = 1100000 -1377 0 # |ieta|=11 Shape = 1100001 -1378 0 # |ieta|=11 Shape = 1100010 -1379 1 # |ieta|=11 Shape = 1100011 -1380 0 # |ieta|=11 Shape = 1100100 -1381 0 # |ieta|=11 Shape = 1100101 -1382 0 # |ieta|=11 Shape = 1100110 -1383 1 # |ieta|=11 Shape = 1100111 -1384 0 # |ieta|=11 Shape = 1101000 -1385 0 # |ieta|=11 Shape = 1101001 -1386 0 # |ieta|=11 Shape = 1101010 -1387 1 # |ieta|=11 Shape = 1101011 -1388 0 # |ieta|=11 Shape = 1101100 -1389 0 # |ieta|=11 Shape = 1101101 -1390 0 # |ieta|=11 Shape = 1101110 -1391 0 # |ieta|=11 Shape = 1101111 -1392 0 # |ieta|=11 Shape = 1110000 -1393 0 # |ieta|=11 Shape = 1110001 -1394 0 # |ieta|=11 Shape = 1110010 -1395 1 # |ieta|=11 Shape = 1110011 -1396 0 # |ieta|=11 Shape = 1110100 -1397 0 # |ieta|=11 Shape = 1110101 -1398 0 # |ieta|=11 Shape = 1110110 -1399 1 # |ieta|=11 Shape = 1110111 -1400 0 # |ieta|=11 Shape = 1111000 -1401 0 # |ieta|=11 Shape = 1111001 -1402 0 # |ieta|=11 Shape = 1111010 -1403 0 # |ieta|=11 Shape = 1111011 -1404 0 # |ieta|=11 Shape = 1111100 -1405 0 # |ieta|=11 Shape = 1111101 -1406 0 # |ieta|=11 Shape = 1111110 -1407 1 # |ieta|=11 Shape = 1111111 -1408 1 # |ieta|=12 Shape = 0000000 -1409 1 # |ieta|=12 Shape = 0000001 -1410 1 # |ieta|=12 Shape = 0000010 -1411 1 # |ieta|=12 Shape = 0000011 -1412 0 # |ieta|=12 Shape = 0000100 -1413 1 # |ieta|=12 Shape = 0000101 -1414 0 # |ieta|=12 Shape = 0000110 -1415 1 # |ieta|=12 Shape = 0000111 -1416 1 # |ieta|=12 Shape = 0001000 -1417 1 # |ieta|=12 Shape = 0001001 -1418 1 # |ieta|=12 Shape = 0001010 -1419 1 # |ieta|=12 Shape = 0001011 -1420 1 # |ieta|=12 Shape = 0001100 -1421 1 # |ieta|=12 Shape = 0001101 -1422 1 # |ieta|=12 Shape = 0001110 -1423 1 # |ieta|=12 Shape = 0001111 -1424 0 # |ieta|=12 Shape = 0010000 -1425 0 # |ieta|=12 Shape = 0010001 -1426 1 # |ieta|=12 Shape = 0010010 -1427 1 # |ieta|=12 Shape = 0010011 -1428 0 # |ieta|=12 Shape = 0010100 -1429 0 # |ieta|=12 Shape = 0010101 -1430 0 # |ieta|=12 Shape = 0010110 -1431 1 # |ieta|=12 Shape = 0010111 -1432 1 # |ieta|=12 Shape = 0011000 -1433 1 # |ieta|=12 Shape = 0011001 -1434 1 # |ieta|=12 Shape = 0011010 -1435 1 # |ieta|=12 Shape = 0011011 -1436 1 # |ieta|=12 Shape = 0011100 -1437 1 # |ieta|=12 Shape = 0011101 -1438 1 # |ieta|=12 Shape = 0011110 -1439 1 # |ieta|=12 Shape = 0011111 -1440 0 # |ieta|=12 Shape = 0100000 -1441 1 # |ieta|=12 Shape = 0100001 -1442 0 # |ieta|=12 Shape = 0100010 -1443 1 # |ieta|=12 Shape = 0100011 -1444 0 # |ieta|=12 Shape = 0100100 -1445 1 # |ieta|=12 Shape = 0100101 -1446 0 # |ieta|=12 Shape = 0100110 -1447 1 # |ieta|=12 Shape = 0100111 -1448 0 # |ieta|=12 Shape = 0101000 -1449 1 # |ieta|=12 Shape = 0101001 -1450 0 # |ieta|=12 Shape = 0101010 -1451 1 # |ieta|=12 Shape = 0101011 -1452 0 # |ieta|=12 Shape = 0101100 -1453 1 # |ieta|=12 Shape = 0101101 -1454 0 # |ieta|=12 Shape = 0101110 -1455 1 # |ieta|=12 Shape = 0101111 -1456 0 # |ieta|=12 Shape = 0110000 -1457 0 # |ieta|=12 Shape = 0110001 -1458 0 # |ieta|=12 Shape = 0110010 -1459 1 # |ieta|=12 Shape = 0110011 -1460 0 # |ieta|=12 Shape = 0110100 -1461 0 # |ieta|=12 Shape = 0110101 -1462 0 # |ieta|=12 Shape = 0110110 -1463 1 # |ieta|=12 Shape = 0110111 -1464 0 # |ieta|=12 Shape = 0111000 -1465 1 # |ieta|=12 Shape = 0111001 -1466 0 # |ieta|=12 Shape = 0111010 -1467 0 # |ieta|=12 Shape = 0111011 -1468 0 # |ieta|=12 Shape = 0111100 -1469 1 # |ieta|=12 Shape = 0111101 -1470 0 # |ieta|=12 Shape = 0111110 -1471 0 # |ieta|=12 Shape = 0111111 -1472 0 # |ieta|=12 Shape = 1000000 -1473 0 # |ieta|=12 Shape = 1000001 -1474 1 # |ieta|=12 Shape = 1000010 -1475 1 # |ieta|=12 Shape = 1000011 -1476 0 # |ieta|=12 Shape = 1000100 -1477 0 # |ieta|=12 Shape = 1000101 -1478 0 # |ieta|=12 Shape = 1000110 -1479 1 # |ieta|=12 Shape = 1000111 -1480 0 # |ieta|=12 Shape = 1001000 -1481 0 # |ieta|=12 Shape = 1001001 -1482 1 # |ieta|=12 Shape = 1001010 -1483 1 # |ieta|=12 Shape = 1001011 -1484 0 # |ieta|=12 Shape = 1001100 -1485 1 # |ieta|=12 Shape = 1001101 -1486 1 # |ieta|=12 Shape = 1001110 -1487 0 # |ieta|=12 Shape = 1001111 -1488 0 # |ieta|=12 Shape = 1010000 -1489 0 # |ieta|=12 Shape = 1010001 -1490 1 # |ieta|=12 Shape = 1010010 -1491 1 # |ieta|=12 Shape = 1010011 -1492 0 # |ieta|=12 Shape = 1010100 -1493 0 # |ieta|=12 Shape = 1010101 -1494 0 # |ieta|=12 Shape = 1010110 -1495 1 # |ieta|=12 Shape = 1010111 -1496 0 # |ieta|=12 Shape = 1011000 -1497 0 # |ieta|=12 Shape = 1011001 -1498 1 # |ieta|=12 Shape = 1011010 -1499 1 # |ieta|=12 Shape = 1011011 -1500 0 # |ieta|=12 Shape = 1011100 -1501 0 # |ieta|=12 Shape = 1011101 -1502 1 # |ieta|=12 Shape = 1011110 -1503 0 # |ieta|=12 Shape = 1011111 -1504 0 # |ieta|=12 Shape = 1100000 -1505 0 # |ieta|=12 Shape = 1100001 -1506 0 # |ieta|=12 Shape = 1100010 -1507 1 # |ieta|=12 Shape = 1100011 -1508 0 # |ieta|=12 Shape = 1100100 -1509 0 # |ieta|=12 Shape = 1100101 -1510 0 # |ieta|=12 Shape = 1100110 -1511 1 # |ieta|=12 Shape = 1100111 -1512 0 # |ieta|=12 Shape = 1101000 -1513 0 # |ieta|=12 Shape = 1101001 -1514 0 # |ieta|=12 Shape = 1101010 -1515 1 # |ieta|=12 Shape = 1101011 -1516 0 # |ieta|=12 Shape = 1101100 -1517 0 # |ieta|=12 Shape = 1101101 -1518 0 # |ieta|=12 Shape = 1101110 -1519 0 # |ieta|=12 Shape = 1101111 -1520 0 # |ieta|=12 Shape = 1110000 -1521 0 # |ieta|=12 Shape = 1110001 -1522 0 # |ieta|=12 Shape = 1110010 -1523 1 # |ieta|=12 Shape = 1110011 -1524 0 # |ieta|=12 Shape = 1110100 -1525 0 # |ieta|=12 Shape = 1110101 -1526 0 # |ieta|=12 Shape = 1110110 -1527 1 # |ieta|=12 Shape = 1110111 -1528 0 # |ieta|=12 Shape = 1111000 -1529 0 # |ieta|=12 Shape = 1111001 -1530 0 # |ieta|=12 Shape = 1111010 -1531 0 # |ieta|=12 Shape = 1111011 -1532 0 # |ieta|=12 Shape = 1111100 -1533 0 # |ieta|=12 Shape = 1111101 -1534 0 # |ieta|=12 Shape = 1111110 -1535 1 # |ieta|=12 Shape = 1111111 -1536 1 # |ieta|=13 Shape = 0000000 -1537 1 # |ieta|=13 Shape = 0000001 -1538 1 # |ieta|=13 Shape = 0000010 -1539 1 # |ieta|=13 Shape = 0000011 -1540 0 # |ieta|=13 Shape = 0000100 -1541 1 # |ieta|=13 Shape = 0000101 -1542 0 # |ieta|=13 Shape = 0000110 -1543 1 # |ieta|=13 Shape = 0000111 -1544 1 # |ieta|=13 Shape = 0001000 -1545 1 # |ieta|=13 Shape = 0001001 -1546 1 # |ieta|=13 Shape = 0001010 -1547 1 # |ieta|=13 Shape = 0001011 -1548 1 # |ieta|=13 Shape = 0001100 -1549 1 # |ieta|=13 Shape = 0001101 -1550 1 # |ieta|=13 Shape = 0001110 -1551 1 # |ieta|=13 Shape = 0001111 -1552 0 # |ieta|=13 Shape = 0010000 -1553 0 # |ieta|=13 Shape = 0010001 -1554 1 # |ieta|=13 Shape = 0010010 -1555 1 # |ieta|=13 Shape = 0010011 -1556 0 # |ieta|=13 Shape = 0010100 -1557 0 # |ieta|=13 Shape = 0010101 -1558 0 # |ieta|=13 Shape = 0010110 -1559 1 # |ieta|=13 Shape = 0010111 -1560 1 # |ieta|=13 Shape = 0011000 -1561 1 # |ieta|=13 Shape = 0011001 -1562 1 # |ieta|=13 Shape = 0011010 -1563 1 # |ieta|=13 Shape = 0011011 -1564 1 # |ieta|=13 Shape = 0011100 -1565 1 # |ieta|=13 Shape = 0011101 -1566 1 # |ieta|=13 Shape = 0011110 -1567 1 # |ieta|=13 Shape = 0011111 -1568 0 # |ieta|=13 Shape = 0100000 -1569 1 # |ieta|=13 Shape = 0100001 -1570 0 # |ieta|=13 Shape = 0100010 -1571 1 # |ieta|=13 Shape = 0100011 -1572 0 # |ieta|=13 Shape = 0100100 -1573 1 # |ieta|=13 Shape = 0100101 -1574 0 # |ieta|=13 Shape = 0100110 -1575 1 # |ieta|=13 Shape = 0100111 -1576 0 # |ieta|=13 Shape = 0101000 -1577 1 # |ieta|=13 Shape = 0101001 -1578 0 # |ieta|=13 Shape = 0101010 -1579 1 # |ieta|=13 Shape = 0101011 -1580 0 # |ieta|=13 Shape = 0101100 -1581 1 # |ieta|=13 Shape = 0101101 -1582 0 # |ieta|=13 Shape = 0101110 -1583 1 # |ieta|=13 Shape = 0101111 -1584 0 # |ieta|=13 Shape = 0110000 -1585 0 # |ieta|=13 Shape = 0110001 -1586 0 # |ieta|=13 Shape = 0110010 -1587 1 # |ieta|=13 Shape = 0110011 -1588 0 # |ieta|=13 Shape = 0110100 -1589 0 # |ieta|=13 Shape = 0110101 -1590 0 # |ieta|=13 Shape = 0110110 -1591 1 # |ieta|=13 Shape = 0110111 -1592 0 # |ieta|=13 Shape = 0111000 -1593 1 # |ieta|=13 Shape = 0111001 -1594 0 # |ieta|=13 Shape = 0111010 -1595 0 # |ieta|=13 Shape = 0111011 -1596 0 # |ieta|=13 Shape = 0111100 -1597 1 # |ieta|=13 Shape = 0111101 -1598 0 # |ieta|=13 Shape = 0111110 -1599 0 # |ieta|=13 Shape = 0111111 -1600 0 # |ieta|=13 Shape = 1000000 -1601 0 # |ieta|=13 Shape = 1000001 -1602 1 # |ieta|=13 Shape = 1000010 -1603 1 # |ieta|=13 Shape = 1000011 -1604 0 # |ieta|=13 Shape = 1000100 -1605 0 # |ieta|=13 Shape = 1000101 -1606 0 # |ieta|=13 Shape = 1000110 -1607 1 # |ieta|=13 Shape = 1000111 -1608 0 # |ieta|=13 Shape = 1001000 -1609 0 # |ieta|=13 Shape = 1001001 -1610 1 # |ieta|=13 Shape = 1001010 -1611 1 # |ieta|=13 Shape = 1001011 -1612 0 # |ieta|=13 Shape = 1001100 -1613 1 # |ieta|=13 Shape = 1001101 -1614 1 # |ieta|=13 Shape = 1001110 -1615 0 # |ieta|=13 Shape = 1001111 -1616 0 # |ieta|=13 Shape = 1010000 -1617 0 # |ieta|=13 Shape = 1010001 -1618 1 # |ieta|=13 Shape = 1010010 -1619 1 # |ieta|=13 Shape = 1010011 -1620 0 # |ieta|=13 Shape = 1010100 -1621 0 # |ieta|=13 Shape = 1010101 -1622 0 # |ieta|=13 Shape = 1010110 -1623 1 # |ieta|=13 Shape = 1010111 -1624 0 # |ieta|=13 Shape = 1011000 -1625 0 # |ieta|=13 Shape = 1011001 -1626 1 # |ieta|=13 Shape = 1011010 -1627 1 # |ieta|=13 Shape = 1011011 -1628 0 # |ieta|=13 Shape = 1011100 -1629 0 # |ieta|=13 Shape = 1011101 -1630 1 # |ieta|=13 Shape = 1011110 -1631 0 # |ieta|=13 Shape = 1011111 -1632 0 # |ieta|=13 Shape = 1100000 -1633 0 # |ieta|=13 Shape = 1100001 -1634 0 # |ieta|=13 Shape = 1100010 -1635 1 # |ieta|=13 Shape = 1100011 -1636 0 # |ieta|=13 Shape = 1100100 -1637 0 # |ieta|=13 Shape = 1100101 -1638 0 # |ieta|=13 Shape = 1100110 -1639 1 # |ieta|=13 Shape = 1100111 -1640 0 # |ieta|=13 Shape = 1101000 -1641 0 # |ieta|=13 Shape = 1101001 -1642 0 # |ieta|=13 Shape = 1101010 -1643 1 # |ieta|=13 Shape = 1101011 -1644 0 # |ieta|=13 Shape = 1101100 -1645 0 # |ieta|=13 Shape = 1101101 -1646 0 # |ieta|=13 Shape = 1101110 -1647 0 # |ieta|=13 Shape = 1101111 -1648 0 # |ieta|=13 Shape = 1110000 -1649 0 # |ieta|=13 Shape = 1110001 -1650 0 # |ieta|=13 Shape = 1110010 -1651 1 # |ieta|=13 Shape = 1110011 -1652 0 # |ieta|=13 Shape = 1110100 -1653 0 # |ieta|=13 Shape = 1110101 -1654 0 # |ieta|=13 Shape = 1110110 -1655 1 # |ieta|=13 Shape = 1110111 -1656 0 # |ieta|=13 Shape = 1111000 -1657 0 # |ieta|=13 Shape = 1111001 -1658 0 # |ieta|=13 Shape = 1111010 -1659 0 # |ieta|=13 Shape = 1111011 -1660 0 # |ieta|=13 Shape = 1111100 -1661 0 # |ieta|=13 Shape = 1111101 -1662 0 # |ieta|=13 Shape = 1111110 -1663 1 # |ieta|=13 Shape = 1111111 -1664 1 # |ieta|=14 Shape = 0000000 -1665 1 # |ieta|=14 Shape = 0000001 -1666 1 # |ieta|=14 Shape = 0000010 -1667 1 # |ieta|=14 Shape = 0000011 -1668 0 # |ieta|=14 Shape = 0000100 -1669 1 # |ieta|=14 Shape = 0000101 -1670 0 # |ieta|=14 Shape = 0000110 -1671 1 # |ieta|=14 Shape = 0000111 -1672 1 # |ieta|=14 Shape = 0001000 -1673 1 # |ieta|=14 Shape = 0001001 -1674 1 # |ieta|=14 Shape = 0001010 -1675 1 # |ieta|=14 Shape = 0001011 -1676 1 # |ieta|=14 Shape = 0001100 -1677 1 # |ieta|=14 Shape = 0001101 -1678 1 # |ieta|=14 Shape = 0001110 -1679 1 # |ieta|=14 Shape = 0001111 -1680 0 # |ieta|=14 Shape = 0010000 -1681 0 # |ieta|=14 Shape = 0010001 -1682 1 # |ieta|=14 Shape = 0010010 -1683 1 # |ieta|=14 Shape = 0010011 -1684 0 # |ieta|=14 Shape = 0010100 -1685 0 # |ieta|=14 Shape = 0010101 -1686 0 # |ieta|=14 Shape = 0010110 -1687 1 # |ieta|=14 Shape = 0010111 -1688 1 # |ieta|=14 Shape = 0011000 -1689 1 # |ieta|=14 Shape = 0011001 -1690 1 # |ieta|=14 Shape = 0011010 -1691 1 # |ieta|=14 Shape = 0011011 -1692 1 # |ieta|=14 Shape = 0011100 -1693 1 # |ieta|=14 Shape = 0011101 -1694 1 # |ieta|=14 Shape = 0011110 -1695 1 # |ieta|=14 Shape = 0011111 -1696 0 # |ieta|=14 Shape = 0100000 -1697 1 # |ieta|=14 Shape = 0100001 -1698 0 # |ieta|=14 Shape = 0100010 -1699 1 # |ieta|=14 Shape = 0100011 -1700 0 # |ieta|=14 Shape = 0100100 -1701 1 # |ieta|=14 Shape = 0100101 -1702 0 # |ieta|=14 Shape = 0100110 -1703 1 # |ieta|=14 Shape = 0100111 -1704 0 # |ieta|=14 Shape = 0101000 -1705 1 # |ieta|=14 Shape = 0101001 -1706 0 # |ieta|=14 Shape = 0101010 -1707 1 # |ieta|=14 Shape = 0101011 -1708 0 # |ieta|=14 Shape = 0101100 -1709 1 # |ieta|=14 Shape = 0101101 -1710 0 # |ieta|=14 Shape = 0101110 -1711 1 # |ieta|=14 Shape = 0101111 -1712 0 # |ieta|=14 Shape = 0110000 -1713 0 # |ieta|=14 Shape = 0110001 -1714 0 # |ieta|=14 Shape = 0110010 -1715 1 # |ieta|=14 Shape = 0110011 -1716 0 # |ieta|=14 Shape = 0110100 -1717 0 # |ieta|=14 Shape = 0110101 -1718 0 # |ieta|=14 Shape = 0110110 -1719 1 # |ieta|=14 Shape = 0110111 -1720 0 # |ieta|=14 Shape = 0111000 -1721 1 # |ieta|=14 Shape = 0111001 -1722 0 # |ieta|=14 Shape = 0111010 -1723 0 # |ieta|=14 Shape = 0111011 -1724 0 # |ieta|=14 Shape = 0111100 -1725 1 # |ieta|=14 Shape = 0111101 -1726 0 # |ieta|=14 Shape = 0111110 -1727 0 # |ieta|=14 Shape = 0111111 -1728 0 # |ieta|=14 Shape = 1000000 -1729 0 # |ieta|=14 Shape = 1000001 -1730 1 # |ieta|=14 Shape = 1000010 -1731 1 # |ieta|=14 Shape = 1000011 -1732 0 # |ieta|=14 Shape = 1000100 -1733 0 # |ieta|=14 Shape = 1000101 -1734 0 # |ieta|=14 Shape = 1000110 -1735 1 # |ieta|=14 Shape = 1000111 -1736 0 # |ieta|=14 Shape = 1001000 -1737 0 # |ieta|=14 Shape = 1001001 -1738 1 # |ieta|=14 Shape = 1001010 -1739 1 # |ieta|=14 Shape = 1001011 -1740 0 # |ieta|=14 Shape = 1001100 -1741 1 # |ieta|=14 Shape = 1001101 -1742 1 # |ieta|=14 Shape = 1001110 -1743 0 # |ieta|=14 Shape = 1001111 -1744 0 # |ieta|=14 Shape = 1010000 -1745 0 # |ieta|=14 Shape = 1010001 -1746 1 # |ieta|=14 Shape = 1010010 -1747 1 # |ieta|=14 Shape = 1010011 -1748 0 # |ieta|=14 Shape = 1010100 -1749 0 # |ieta|=14 Shape = 1010101 -1750 0 # |ieta|=14 Shape = 1010110 -1751 1 # |ieta|=14 Shape = 1010111 -1752 0 # |ieta|=14 Shape = 1011000 -1753 0 # |ieta|=14 Shape = 1011001 -1754 1 # |ieta|=14 Shape = 1011010 -1755 1 # |ieta|=14 Shape = 1011011 -1756 0 # |ieta|=14 Shape = 1011100 -1757 0 # |ieta|=14 Shape = 1011101 -1758 1 # |ieta|=14 Shape = 1011110 -1759 0 # |ieta|=14 Shape = 1011111 -1760 0 # |ieta|=14 Shape = 1100000 -1761 0 # |ieta|=14 Shape = 1100001 -1762 0 # |ieta|=14 Shape = 1100010 -1763 1 # |ieta|=14 Shape = 1100011 -1764 0 # |ieta|=14 Shape = 1100100 -1765 0 # |ieta|=14 Shape = 1100101 -1766 0 # |ieta|=14 Shape = 1100110 -1767 1 # |ieta|=14 Shape = 1100111 -1768 0 # |ieta|=14 Shape = 1101000 -1769 0 # |ieta|=14 Shape = 1101001 -1770 0 # |ieta|=14 Shape = 1101010 -1771 1 # |ieta|=14 Shape = 1101011 -1772 0 # |ieta|=14 Shape = 1101100 -1773 0 # |ieta|=14 Shape = 1101101 -1774 0 # |ieta|=14 Shape = 1101110 -1775 0 # |ieta|=14 Shape = 1101111 -1776 0 # |ieta|=14 Shape = 1110000 -1777 0 # |ieta|=14 Shape = 1110001 -1778 0 # |ieta|=14 Shape = 1110010 -1779 1 # |ieta|=14 Shape = 1110011 -1780 0 # |ieta|=14 Shape = 1110100 -1781 0 # |ieta|=14 Shape = 1110101 -1782 0 # |ieta|=14 Shape = 1110110 -1783 1 # |ieta|=14 Shape = 1110111 -1784 0 # |ieta|=14 Shape = 1111000 -1785 0 # |ieta|=14 Shape = 1111001 -1786 0 # |ieta|=14 Shape = 1111010 -1787 0 # |ieta|=14 Shape = 1111011 -1788 0 # |ieta|=14 Shape = 1111100 -1789 0 # |ieta|=14 Shape = 1111101 -1790 0 # |ieta|=14 Shape = 1111110 -1791 1 # |ieta|=14 Shape = 1111111 -1792 1 # |ieta|=15 Shape = 0000000 -1793 1 # |ieta|=15 Shape = 0000001 -1794 1 # |ieta|=15 Shape = 0000010 -1795 1 # |ieta|=15 Shape = 0000011 -1796 0 # |ieta|=15 Shape = 0000100 -1797 1 # |ieta|=15 Shape = 0000101 -1798 0 # |ieta|=15 Shape = 0000110 -1799 1 # |ieta|=15 Shape = 0000111 -1800 1 # |ieta|=15 Shape = 0001000 -1801 1 # |ieta|=15 Shape = 0001001 -1802 1 # |ieta|=15 Shape = 0001010 -1803 1 # |ieta|=15 Shape = 0001011 -1804 1 # |ieta|=15 Shape = 0001100 -1805 1 # |ieta|=15 Shape = 0001101 -1806 1 # |ieta|=15 Shape = 0001110 -1807 1 # |ieta|=15 Shape = 0001111 -1808 0 # |ieta|=15 Shape = 0010000 -1809 0 # |ieta|=15 Shape = 0010001 -1810 1 # |ieta|=15 Shape = 0010010 -1811 1 # |ieta|=15 Shape = 0010011 -1812 0 # |ieta|=15 Shape = 0010100 -1813 0 # |ieta|=15 Shape = 0010101 -1814 0 # |ieta|=15 Shape = 0010110 -1815 1 # |ieta|=15 Shape = 0010111 -1816 1 # |ieta|=15 Shape = 0011000 -1817 1 # |ieta|=15 Shape = 0011001 -1818 1 # |ieta|=15 Shape = 0011010 -1819 1 # |ieta|=15 Shape = 0011011 -1820 1 # |ieta|=15 Shape = 0011100 -1821 1 # |ieta|=15 Shape = 0011101 -1822 1 # |ieta|=15 Shape = 0011110 -1823 1 # |ieta|=15 Shape = 0011111 -1824 0 # |ieta|=15 Shape = 0100000 -1825 1 # |ieta|=15 Shape = 0100001 -1826 0 # |ieta|=15 Shape = 0100010 -1827 1 # |ieta|=15 Shape = 0100011 -1828 0 # |ieta|=15 Shape = 0100100 -1829 1 # |ieta|=15 Shape = 0100101 -1830 0 # |ieta|=15 Shape = 0100110 -1831 1 # |ieta|=15 Shape = 0100111 -1832 0 # |ieta|=15 Shape = 0101000 -1833 1 # |ieta|=15 Shape = 0101001 -1834 0 # |ieta|=15 Shape = 0101010 -1835 1 # |ieta|=15 Shape = 0101011 -1836 0 # |ieta|=15 Shape = 0101100 -1837 1 # |ieta|=15 Shape = 0101101 -1838 0 # |ieta|=15 Shape = 0101110 -1839 1 # |ieta|=15 Shape = 0101111 -1840 0 # |ieta|=15 Shape = 0110000 -1841 0 # |ieta|=15 Shape = 0110001 -1842 0 # |ieta|=15 Shape = 0110010 -1843 1 # |ieta|=15 Shape = 0110011 -1844 0 # |ieta|=15 Shape = 0110100 -1845 0 # |ieta|=15 Shape = 0110101 -1846 0 # |ieta|=15 Shape = 0110110 -1847 1 # |ieta|=15 Shape = 0110111 -1848 0 # |ieta|=15 Shape = 0111000 -1849 1 # |ieta|=15 Shape = 0111001 -1850 0 # |ieta|=15 Shape = 0111010 -1851 0 # |ieta|=15 Shape = 0111011 -1852 0 # |ieta|=15 Shape = 0111100 -1853 1 # |ieta|=15 Shape = 0111101 -1854 0 # |ieta|=15 Shape = 0111110 -1855 0 # |ieta|=15 Shape = 0111111 -1856 0 # |ieta|=15 Shape = 1000000 -1857 0 # |ieta|=15 Shape = 1000001 -1858 1 # |ieta|=15 Shape = 1000010 -1859 1 # |ieta|=15 Shape = 1000011 -1860 0 # |ieta|=15 Shape = 1000100 -1861 0 # |ieta|=15 Shape = 1000101 -1862 0 # |ieta|=15 Shape = 1000110 -1863 1 # |ieta|=15 Shape = 1000111 -1864 0 # |ieta|=15 Shape = 1001000 -1865 0 # |ieta|=15 Shape = 1001001 -1866 1 # |ieta|=15 Shape = 1001010 -1867 1 # |ieta|=15 Shape = 1001011 -1868 0 # |ieta|=15 Shape = 1001100 -1869 1 # |ieta|=15 Shape = 1001101 -1870 1 # |ieta|=15 Shape = 1001110 -1871 0 # |ieta|=15 Shape = 1001111 -1872 0 # |ieta|=15 Shape = 1010000 -1873 0 # |ieta|=15 Shape = 1010001 -1874 1 # |ieta|=15 Shape = 1010010 -1875 1 # |ieta|=15 Shape = 1010011 -1876 0 # |ieta|=15 Shape = 1010100 -1877 0 # |ieta|=15 Shape = 1010101 -1878 0 # |ieta|=15 Shape = 1010110 -1879 1 # |ieta|=15 Shape = 1010111 -1880 0 # |ieta|=15 Shape = 1011000 -1881 0 # |ieta|=15 Shape = 1011001 -1882 1 # |ieta|=15 Shape = 1011010 -1883 1 # |ieta|=15 Shape = 1011011 -1884 0 # |ieta|=15 Shape = 1011100 -1885 0 # |ieta|=15 Shape = 1011101 -1886 1 # |ieta|=15 Shape = 1011110 -1887 0 # |ieta|=15 Shape = 1011111 -1888 0 # |ieta|=15 Shape = 1100000 -1889 0 # |ieta|=15 Shape = 1100001 -1890 0 # |ieta|=15 Shape = 1100010 -1891 1 # |ieta|=15 Shape = 1100011 -1892 0 # |ieta|=15 Shape = 1100100 -1893 0 # |ieta|=15 Shape = 1100101 -1894 0 # |ieta|=15 Shape = 1100110 -1895 1 # |ieta|=15 Shape = 1100111 -1896 0 # |ieta|=15 Shape = 1101000 -1897 0 # |ieta|=15 Shape = 1101001 -1898 0 # |ieta|=15 Shape = 1101010 -1899 1 # |ieta|=15 Shape = 1101011 -1900 0 # |ieta|=15 Shape = 1101100 -1901 0 # |ieta|=15 Shape = 1101101 -1902 0 # |ieta|=15 Shape = 1101110 -1903 0 # |ieta|=15 Shape = 1101111 -1904 0 # |ieta|=15 Shape = 1110000 -1905 0 # |ieta|=15 Shape = 1110001 -1906 0 # |ieta|=15 Shape = 1110010 -1907 1 # |ieta|=15 Shape = 1110011 -1908 0 # |ieta|=15 Shape = 1110100 -1909 0 # |ieta|=15 Shape = 1110101 -1910 0 # |ieta|=15 Shape = 1110110 -1911 1 # |ieta|=15 Shape = 1110111 -1912 0 # |ieta|=15 Shape = 1111000 -1913 0 # |ieta|=15 Shape = 1111001 -1914 0 # |ieta|=15 Shape = 1111010 -1915 0 # |ieta|=15 Shape = 1111011 -1916 0 # |ieta|=15 Shape = 1111100 -1917 0 # |ieta|=15 Shape = 1111101 -1918 0 # |ieta|=15 Shape = 1111110 -1919 1 # |ieta|=15 Shape = 1111111 -1920 1 # |ieta|=16 Shape = 0000000 -1921 1 # |ieta|=16 Shape = 0000001 -1922 1 # |ieta|=16 Shape = 0000010 -1923 1 # |ieta|=16 Shape = 0000011 -1924 0 # |ieta|=16 Shape = 0000100 -1925 1 # |ieta|=16 Shape = 0000101 -1926 0 # |ieta|=16 Shape = 0000110 -1927 1 # |ieta|=16 Shape = 0000111 -1928 1 # |ieta|=16 Shape = 0001000 -1929 1 # |ieta|=16 Shape = 0001001 -1930 1 # |ieta|=16 Shape = 0001010 -1931 1 # |ieta|=16 Shape = 0001011 -1932 1 # |ieta|=16 Shape = 0001100 -1933 1 # |ieta|=16 Shape = 0001101 -1934 1 # |ieta|=16 Shape = 0001110 -1935 1 # |ieta|=16 Shape = 0001111 -1936 0 # |ieta|=16 Shape = 0010000 -1937 0 # |ieta|=16 Shape = 0010001 -1938 1 # |ieta|=16 Shape = 0010010 -1939 1 # |ieta|=16 Shape = 0010011 -1940 0 # |ieta|=16 Shape = 0010100 -1941 0 # |ieta|=16 Shape = 0010101 -1942 0 # |ieta|=16 Shape = 0010110 -1943 1 # |ieta|=16 Shape = 0010111 -1944 1 # |ieta|=16 Shape = 0011000 -1945 1 # |ieta|=16 Shape = 0011001 -1946 1 # |ieta|=16 Shape = 0011010 -1947 1 # |ieta|=16 Shape = 0011011 -1948 1 # |ieta|=16 Shape = 0011100 -1949 1 # |ieta|=16 Shape = 0011101 -1950 1 # |ieta|=16 Shape = 0011110 -1951 1 # |ieta|=16 Shape = 0011111 -1952 0 # |ieta|=16 Shape = 0100000 -1953 1 # |ieta|=16 Shape = 0100001 -1954 0 # |ieta|=16 Shape = 0100010 -1955 1 # |ieta|=16 Shape = 0100011 -1956 0 # |ieta|=16 Shape = 0100100 -1957 1 # |ieta|=16 Shape = 0100101 -1958 0 # |ieta|=16 Shape = 0100110 -1959 1 # |ieta|=16 Shape = 0100111 -1960 0 # |ieta|=16 Shape = 0101000 -1961 1 # |ieta|=16 Shape = 0101001 -1962 0 # |ieta|=16 Shape = 0101010 -1963 1 # |ieta|=16 Shape = 0101011 -1964 0 # |ieta|=16 Shape = 0101100 -1965 1 # |ieta|=16 Shape = 0101101 -1966 0 # |ieta|=16 Shape = 0101110 -1967 1 # |ieta|=16 Shape = 0101111 -1968 0 # |ieta|=16 Shape = 0110000 -1969 0 # |ieta|=16 Shape = 0110001 -1970 0 # |ieta|=16 Shape = 0110010 -1971 1 # |ieta|=16 Shape = 0110011 -1972 0 # |ieta|=16 Shape = 0110100 -1973 0 # |ieta|=16 Shape = 0110101 -1974 0 # |ieta|=16 Shape = 0110110 -1975 1 # |ieta|=16 Shape = 0110111 -1976 0 # |ieta|=16 Shape = 0111000 -1977 1 # |ieta|=16 Shape = 0111001 -1978 0 # |ieta|=16 Shape = 0111010 -1979 0 # |ieta|=16 Shape = 0111011 -1980 0 # |ieta|=16 Shape = 0111100 -1981 1 # |ieta|=16 Shape = 0111101 -1982 0 # |ieta|=16 Shape = 0111110 -1983 0 # |ieta|=16 Shape = 0111111 -1984 0 # |ieta|=16 Shape = 1000000 -1985 0 # |ieta|=16 Shape = 1000001 -1986 1 # |ieta|=16 Shape = 1000010 -1987 1 # |ieta|=16 Shape = 1000011 -1988 0 # |ieta|=16 Shape = 1000100 -1989 0 # |ieta|=16 Shape = 1000101 -1990 0 # |ieta|=16 Shape = 1000110 -1991 1 # |ieta|=16 Shape = 1000111 -1992 0 # |ieta|=16 Shape = 1001000 -1993 0 # |ieta|=16 Shape = 1001001 -1994 1 # |ieta|=16 Shape = 1001010 -1995 1 # |ieta|=16 Shape = 1001011 -1996 0 # |ieta|=16 Shape = 1001100 -1997 1 # |ieta|=16 Shape = 1001101 -1998 1 # |ieta|=16 Shape = 1001110 -1999 0 # |ieta|=16 Shape = 1001111 -2000 0 # |ieta|=16 Shape = 1010000 -2001 0 # |ieta|=16 Shape = 1010001 -2002 1 # |ieta|=16 Shape = 1010010 -2003 1 # |ieta|=16 Shape = 1010011 -2004 0 # |ieta|=16 Shape = 1010100 -2005 0 # |ieta|=16 Shape = 1010101 -2006 0 # |ieta|=16 Shape = 1010110 -2007 1 # |ieta|=16 Shape = 1010111 -2008 0 # |ieta|=16 Shape = 1011000 -2009 0 # |ieta|=16 Shape = 1011001 -2010 1 # |ieta|=16 Shape = 1011010 -2011 1 # |ieta|=16 Shape = 1011011 -2012 0 # |ieta|=16 Shape = 1011100 -2013 0 # |ieta|=16 Shape = 1011101 -2014 1 # |ieta|=16 Shape = 1011110 -2015 0 # |ieta|=16 Shape = 1011111 -2016 0 # |ieta|=16 Shape = 1100000 -2017 0 # |ieta|=16 Shape = 1100001 -2018 0 # |ieta|=16 Shape = 1100010 -2019 1 # |ieta|=16 Shape = 1100011 -2020 0 # |ieta|=16 Shape = 1100100 -2021 0 # |ieta|=16 Shape = 1100101 -2022 0 # |ieta|=16 Shape = 1100110 -2023 1 # |ieta|=16 Shape = 1100111 -2024 0 # |ieta|=16 Shape = 1101000 -2025 0 # |ieta|=16 Shape = 1101001 -2026 0 # |ieta|=16 Shape = 1101010 -2027 1 # |ieta|=16 Shape = 1101011 -2028 0 # |ieta|=16 Shape = 1101100 -2029 0 # |ieta|=16 Shape = 1101101 -2030 0 # |ieta|=16 Shape = 1101110 -2031 0 # |ieta|=16 Shape = 1101111 -2032 0 # |ieta|=16 Shape = 1110000 -2033 0 # |ieta|=16 Shape = 1110001 -2034 0 # |ieta|=16 Shape = 1110010 -2035 1 # |ieta|=16 Shape = 1110011 -2036 0 # |ieta|=16 Shape = 1110100 -2037 0 # |ieta|=16 Shape = 1110101 -2038 0 # |ieta|=16 Shape = 1110110 -2039 1 # |ieta|=16 Shape = 1110111 -2040 0 # |ieta|=16 Shape = 1111000 -2041 0 # |ieta|=16 Shape = 1111001 -2042 0 # |ieta|=16 Shape = 1111010 -2043 0 # |ieta|=16 Shape = 1111011 -2044 0 # |ieta|=16 Shape = 1111100 -2045 0 # |ieta|=16 Shape = 1111101 -2046 0 # |ieta|=16 Shape = 1111110 -2047 1 # |ieta|=16 Shape = 1111111 -2048 1 # |ieta|=17 Shape = 0000000 -2049 1 # |ieta|=17 Shape = 0000001 -2050 1 # |ieta|=17 Shape = 0000010 -2051 1 # |ieta|=17 Shape = 0000011 -2052 0 # |ieta|=17 Shape = 0000100 -2053 1 # |ieta|=17 Shape = 0000101 -2054 0 # |ieta|=17 Shape = 0000110 -2055 1 # |ieta|=17 Shape = 0000111 -2056 1 # |ieta|=17 Shape = 0001000 -2057 1 # |ieta|=17 Shape = 0001001 -2058 1 # |ieta|=17 Shape = 0001010 -2059 1 # |ieta|=17 Shape = 0001011 -2060 1 # |ieta|=17 Shape = 0001100 -2061 1 # |ieta|=17 Shape = 0001101 -2062 1 # |ieta|=17 Shape = 0001110 -2063 1 # |ieta|=17 Shape = 0001111 -2064 0 # |ieta|=17 Shape = 0010000 -2065 0 # |ieta|=17 Shape = 0010001 -2066 1 # |ieta|=17 Shape = 0010010 -2067 1 # |ieta|=17 Shape = 0010011 -2068 0 # |ieta|=17 Shape = 0010100 -2069 0 # |ieta|=17 Shape = 0010101 -2070 0 # |ieta|=17 Shape = 0010110 -2071 1 # |ieta|=17 Shape = 0010111 -2072 1 # |ieta|=17 Shape = 0011000 -2073 1 # |ieta|=17 Shape = 0011001 -2074 1 # |ieta|=17 Shape = 0011010 -2075 1 # |ieta|=17 Shape = 0011011 -2076 1 # |ieta|=17 Shape = 0011100 -2077 1 # |ieta|=17 Shape = 0011101 -2078 1 # |ieta|=17 Shape = 0011110 -2079 1 # |ieta|=17 Shape = 0011111 -2080 0 # |ieta|=17 Shape = 0100000 -2081 1 # |ieta|=17 Shape = 0100001 -2082 0 # |ieta|=17 Shape = 0100010 -2083 1 # |ieta|=17 Shape = 0100011 -2084 0 # |ieta|=17 Shape = 0100100 -2085 1 # |ieta|=17 Shape = 0100101 -2086 0 # |ieta|=17 Shape = 0100110 -2087 1 # |ieta|=17 Shape = 0100111 -2088 0 # |ieta|=17 Shape = 0101000 -2089 1 # |ieta|=17 Shape = 0101001 -2090 0 # |ieta|=17 Shape = 0101010 -2091 1 # |ieta|=17 Shape = 0101011 -2092 0 # |ieta|=17 Shape = 0101100 -2093 1 # |ieta|=17 Shape = 0101101 -2094 0 # |ieta|=17 Shape = 0101110 -2095 1 # |ieta|=17 Shape = 0101111 -2096 0 # |ieta|=17 Shape = 0110000 -2097 0 # |ieta|=17 Shape = 0110001 -2098 0 # |ieta|=17 Shape = 0110010 -2099 1 # |ieta|=17 Shape = 0110011 -2100 0 # |ieta|=17 Shape = 0110100 -2101 0 # |ieta|=17 Shape = 0110101 -2102 0 # |ieta|=17 Shape = 0110110 -2103 1 # |ieta|=17 Shape = 0110111 -2104 0 # |ieta|=17 Shape = 0111000 -2105 1 # |ieta|=17 Shape = 0111001 -2106 0 # |ieta|=17 Shape = 0111010 -2107 0 # |ieta|=17 Shape = 0111011 -2108 0 # |ieta|=17 Shape = 0111100 -2109 1 # |ieta|=17 Shape = 0111101 -2110 0 # |ieta|=17 Shape = 0111110 -2111 0 # |ieta|=17 Shape = 0111111 -2112 0 # |ieta|=17 Shape = 1000000 -2113 0 # |ieta|=17 Shape = 1000001 -2114 1 # |ieta|=17 Shape = 1000010 -2115 1 # |ieta|=17 Shape = 1000011 -2116 0 # |ieta|=17 Shape = 1000100 -2117 0 # |ieta|=17 Shape = 1000101 -2118 0 # |ieta|=17 Shape = 1000110 -2119 1 # |ieta|=17 Shape = 1000111 -2120 0 # |ieta|=17 Shape = 1001000 -2121 0 # |ieta|=17 Shape = 1001001 -2122 1 # |ieta|=17 Shape = 1001010 -2123 1 # |ieta|=17 Shape = 1001011 -2124 0 # |ieta|=17 Shape = 1001100 -2125 1 # |ieta|=17 Shape = 1001101 -2126 1 # |ieta|=17 Shape = 1001110 -2127 0 # |ieta|=17 Shape = 1001111 -2128 0 # |ieta|=17 Shape = 1010000 -2129 0 # |ieta|=17 Shape = 1010001 -2130 1 # |ieta|=17 Shape = 1010010 -2131 1 # |ieta|=17 Shape = 1010011 -2132 0 # |ieta|=17 Shape = 1010100 -2133 0 # |ieta|=17 Shape = 1010101 -2134 0 # |ieta|=17 Shape = 1010110 -2135 1 # |ieta|=17 Shape = 1010111 -2136 0 # |ieta|=17 Shape = 1011000 -2137 0 # |ieta|=17 Shape = 1011001 -2138 1 # |ieta|=17 Shape = 1011010 -2139 1 # |ieta|=17 Shape = 1011011 -2140 0 # |ieta|=17 Shape = 1011100 -2141 0 # |ieta|=17 Shape = 1011101 -2142 1 # |ieta|=17 Shape = 1011110 -2143 0 # |ieta|=17 Shape = 1011111 -2144 0 # |ieta|=17 Shape = 1100000 -2145 0 # |ieta|=17 Shape = 1100001 -2146 0 # |ieta|=17 Shape = 1100010 -2147 1 # |ieta|=17 Shape = 1100011 -2148 0 # |ieta|=17 Shape = 1100100 -2149 0 # |ieta|=17 Shape = 1100101 -2150 0 # |ieta|=17 Shape = 1100110 -2151 1 # |ieta|=17 Shape = 1100111 -2152 0 # |ieta|=17 Shape = 1101000 -2153 0 # |ieta|=17 Shape = 1101001 -2154 0 # |ieta|=17 Shape = 1101010 -2155 1 # |ieta|=17 Shape = 1101011 -2156 0 # |ieta|=17 Shape = 1101100 -2157 0 # |ieta|=17 Shape = 1101101 -2158 0 # |ieta|=17 Shape = 1101110 -2159 0 # |ieta|=17 Shape = 1101111 -2160 0 # |ieta|=17 Shape = 1110000 -2161 0 # |ieta|=17 Shape = 1110001 -2162 0 # |ieta|=17 Shape = 1110010 -2163 1 # |ieta|=17 Shape = 1110011 -2164 0 # |ieta|=17 Shape = 1110100 -2165 0 # |ieta|=17 Shape = 1110101 -2166 0 # |ieta|=17 Shape = 1110110 -2167 1 # |ieta|=17 Shape = 1110111 -2168 0 # |ieta|=17 Shape = 1111000 -2169 0 # |ieta|=17 Shape = 1111001 -2170 0 # |ieta|=17 Shape = 1111010 -2171 0 # |ieta|=17 Shape = 1111011 -2172 0 # |ieta|=17 Shape = 1111100 -2173 0 # |ieta|=17 Shape = 1111101 -2174 0 # |ieta|=17 Shape = 1111110 -2175 1 # |ieta|=17 Shape = 1111111 -2176 1 # |ieta|=18 Shape = 0000000 -2177 1 # |ieta|=18 Shape = 0000001 -2178 1 # |ieta|=18 Shape = 0000010 -2179 1 # |ieta|=18 Shape = 0000011 -2180 0 # |ieta|=18 Shape = 0000100 -2181 1 # |ieta|=18 Shape = 0000101 -2182 0 # |ieta|=18 Shape = 0000110 -2183 1 # |ieta|=18 Shape = 0000111 -2184 1 # |ieta|=18 Shape = 0001000 -2185 1 # |ieta|=18 Shape = 0001001 -2186 1 # |ieta|=18 Shape = 0001010 -2187 1 # |ieta|=18 Shape = 0001011 -2188 1 # |ieta|=18 Shape = 0001100 -2189 1 # |ieta|=18 Shape = 0001101 -2190 1 # |ieta|=18 Shape = 0001110 -2191 1 # |ieta|=18 Shape = 0001111 -2192 0 # |ieta|=18 Shape = 0010000 -2193 0 # |ieta|=18 Shape = 0010001 -2194 1 # |ieta|=18 Shape = 0010010 -2195 1 # |ieta|=18 Shape = 0010011 -2196 0 # |ieta|=18 Shape = 0010100 -2197 0 # |ieta|=18 Shape = 0010101 -2198 0 # |ieta|=18 Shape = 0010110 -2199 1 # |ieta|=18 Shape = 0010111 -2200 1 # |ieta|=18 Shape = 0011000 -2201 1 # |ieta|=18 Shape = 0011001 -2202 1 # |ieta|=18 Shape = 0011010 -2203 1 # |ieta|=18 Shape = 0011011 -2204 1 # |ieta|=18 Shape = 0011100 -2205 1 # |ieta|=18 Shape = 0011101 -2206 1 # |ieta|=18 Shape = 0011110 -2207 1 # |ieta|=18 Shape = 0011111 -2208 0 # |ieta|=18 Shape = 0100000 -2209 1 # |ieta|=18 Shape = 0100001 -2210 0 # |ieta|=18 Shape = 0100010 -2211 1 # |ieta|=18 Shape = 0100011 -2212 0 # |ieta|=18 Shape = 0100100 -2213 1 # |ieta|=18 Shape = 0100101 -2214 0 # |ieta|=18 Shape = 0100110 -2215 1 # |ieta|=18 Shape = 0100111 -2216 0 # |ieta|=18 Shape = 0101000 -2217 1 # |ieta|=18 Shape = 0101001 -2218 0 # |ieta|=18 Shape = 0101010 -2219 1 # |ieta|=18 Shape = 0101011 -2220 0 # |ieta|=18 Shape = 0101100 -2221 1 # |ieta|=18 Shape = 0101101 -2222 0 # |ieta|=18 Shape = 0101110 -2223 1 # |ieta|=18 Shape = 0101111 -2224 0 # |ieta|=18 Shape = 0110000 -2225 0 # |ieta|=18 Shape = 0110001 -2226 0 # |ieta|=18 Shape = 0110010 -2227 1 # |ieta|=18 Shape = 0110011 -2228 0 # |ieta|=18 Shape = 0110100 -2229 0 # |ieta|=18 Shape = 0110101 -2230 0 # |ieta|=18 Shape = 0110110 -2231 1 # |ieta|=18 Shape = 0110111 -2232 0 # |ieta|=18 Shape = 0111000 -2233 1 # |ieta|=18 Shape = 0111001 -2234 0 # |ieta|=18 Shape = 0111010 -2235 0 # |ieta|=18 Shape = 0111011 -2236 0 # |ieta|=18 Shape = 0111100 -2237 1 # |ieta|=18 Shape = 0111101 -2238 0 # |ieta|=18 Shape = 0111110 -2239 0 # |ieta|=18 Shape = 0111111 -2240 0 # |ieta|=18 Shape = 1000000 -2241 0 # |ieta|=18 Shape = 1000001 -2242 1 # |ieta|=18 Shape = 1000010 -2243 1 # |ieta|=18 Shape = 1000011 -2244 0 # |ieta|=18 Shape = 1000100 -2245 0 # |ieta|=18 Shape = 1000101 -2246 0 # |ieta|=18 Shape = 1000110 -2247 1 # |ieta|=18 Shape = 1000111 -2248 0 # |ieta|=18 Shape = 1001000 -2249 0 # |ieta|=18 Shape = 1001001 -2250 1 # |ieta|=18 Shape = 1001010 -2251 1 # |ieta|=18 Shape = 1001011 -2252 0 # |ieta|=18 Shape = 1001100 -2253 1 # |ieta|=18 Shape = 1001101 -2254 1 # |ieta|=18 Shape = 1001110 -2255 0 # |ieta|=18 Shape = 1001111 -2256 0 # |ieta|=18 Shape = 1010000 -2257 0 # |ieta|=18 Shape = 1010001 -2258 1 # |ieta|=18 Shape = 1010010 -2259 1 # |ieta|=18 Shape = 1010011 -2260 0 # |ieta|=18 Shape = 1010100 -2261 0 # |ieta|=18 Shape = 1010101 -2262 0 # |ieta|=18 Shape = 1010110 -2263 1 # |ieta|=18 Shape = 1010111 -2264 0 # |ieta|=18 Shape = 1011000 -2265 0 # |ieta|=18 Shape = 1011001 -2266 1 # |ieta|=18 Shape = 1011010 -2267 1 # |ieta|=18 Shape = 1011011 -2268 0 # |ieta|=18 Shape = 1011100 -2269 0 # |ieta|=18 Shape = 1011101 -2270 1 # |ieta|=18 Shape = 1011110 -2271 0 # |ieta|=18 Shape = 1011111 -2272 0 # |ieta|=18 Shape = 1100000 -2273 0 # |ieta|=18 Shape = 1100001 -2274 0 # |ieta|=18 Shape = 1100010 -2275 1 # |ieta|=18 Shape = 1100011 -2276 0 # |ieta|=18 Shape = 1100100 -2277 0 # |ieta|=18 Shape = 1100101 -2278 0 # |ieta|=18 Shape = 1100110 -2279 1 # |ieta|=18 Shape = 1100111 -2280 0 # |ieta|=18 Shape = 1101000 -2281 0 # |ieta|=18 Shape = 1101001 -2282 0 # |ieta|=18 Shape = 1101010 -2283 1 # |ieta|=18 Shape = 1101011 -2284 0 # |ieta|=18 Shape = 1101100 -2285 0 # |ieta|=18 Shape = 1101101 -2286 0 # |ieta|=18 Shape = 1101110 -2287 0 # |ieta|=18 Shape = 1101111 -2288 0 # |ieta|=18 Shape = 1110000 -2289 0 # |ieta|=18 Shape = 1110001 -2290 0 # |ieta|=18 Shape = 1110010 -2291 1 # |ieta|=18 Shape = 1110011 -2292 0 # |ieta|=18 Shape = 1110100 -2293 0 # |ieta|=18 Shape = 1110101 -2294 0 # |ieta|=18 Shape = 1110110 -2295 1 # |ieta|=18 Shape = 1110111 -2296 0 # |ieta|=18 Shape = 1111000 -2297 0 # |ieta|=18 Shape = 1111001 -2298 0 # |ieta|=18 Shape = 1111010 -2299 0 # |ieta|=18 Shape = 1111011 -2300 0 # |ieta|=18 Shape = 1111100 -2301 0 # |ieta|=18 Shape = 1111101 -2302 0 # |ieta|=18 Shape = 1111110 -2303 1 # |ieta|=18 Shape = 1111111 -2304 1 # |ieta|=19 Shape = 0000000 -2305 1 # |ieta|=19 Shape = 0000001 -2306 1 # |ieta|=19 Shape = 0000010 -2307 1 # |ieta|=19 Shape = 0000011 -2308 0 # |ieta|=19 Shape = 0000100 -2309 1 # |ieta|=19 Shape = 0000101 -2310 0 # |ieta|=19 Shape = 0000110 -2311 1 # |ieta|=19 Shape = 0000111 -2312 1 # |ieta|=19 Shape = 0001000 -2313 1 # |ieta|=19 Shape = 0001001 -2314 1 # |ieta|=19 Shape = 0001010 -2315 1 # |ieta|=19 Shape = 0001011 -2316 1 # |ieta|=19 Shape = 0001100 -2317 1 # |ieta|=19 Shape = 0001101 -2318 1 # |ieta|=19 Shape = 0001110 -2319 1 # |ieta|=19 Shape = 0001111 -2320 0 # |ieta|=19 Shape = 0010000 -2321 0 # |ieta|=19 Shape = 0010001 -2322 1 # |ieta|=19 Shape = 0010010 -2323 1 # |ieta|=19 Shape = 0010011 -2324 0 # |ieta|=19 Shape = 0010100 -2325 0 # |ieta|=19 Shape = 0010101 -2326 0 # |ieta|=19 Shape = 0010110 -2327 1 # |ieta|=19 Shape = 0010111 -2328 1 # |ieta|=19 Shape = 0011000 -2329 1 # |ieta|=19 Shape = 0011001 -2330 1 # |ieta|=19 Shape = 0011010 -2331 1 # |ieta|=19 Shape = 0011011 -2332 1 # |ieta|=19 Shape = 0011100 -2333 1 # |ieta|=19 Shape = 0011101 -2334 1 # |ieta|=19 Shape = 0011110 -2335 1 # |ieta|=19 Shape = 0011111 -2336 0 # |ieta|=19 Shape = 0100000 -2337 1 # |ieta|=19 Shape = 0100001 -2338 0 # |ieta|=19 Shape = 0100010 -2339 1 # |ieta|=19 Shape = 0100011 -2340 0 # |ieta|=19 Shape = 0100100 -2341 1 # |ieta|=19 Shape = 0100101 -2342 0 # |ieta|=19 Shape = 0100110 -2343 1 # |ieta|=19 Shape = 0100111 -2344 0 # |ieta|=19 Shape = 0101000 -2345 1 # |ieta|=19 Shape = 0101001 -2346 0 # |ieta|=19 Shape = 0101010 -2347 1 # |ieta|=19 Shape = 0101011 -2348 0 # |ieta|=19 Shape = 0101100 -2349 1 # |ieta|=19 Shape = 0101101 -2350 0 # |ieta|=19 Shape = 0101110 -2351 1 # |ieta|=19 Shape = 0101111 -2352 0 # |ieta|=19 Shape = 0110000 -2353 0 # |ieta|=19 Shape = 0110001 -2354 0 # |ieta|=19 Shape = 0110010 -2355 1 # |ieta|=19 Shape = 0110011 -2356 0 # |ieta|=19 Shape = 0110100 -2357 0 # |ieta|=19 Shape = 0110101 -2358 0 # |ieta|=19 Shape = 0110110 -2359 1 # |ieta|=19 Shape = 0110111 -2360 0 # |ieta|=19 Shape = 0111000 -2361 1 # |ieta|=19 Shape = 0111001 -2362 0 # |ieta|=19 Shape = 0111010 -2363 0 # |ieta|=19 Shape = 0111011 -2364 0 # |ieta|=19 Shape = 0111100 -2365 1 # |ieta|=19 Shape = 0111101 -2366 0 # |ieta|=19 Shape = 0111110 -2367 0 # |ieta|=19 Shape = 0111111 -2368 0 # |ieta|=19 Shape = 1000000 -2369 0 # |ieta|=19 Shape = 1000001 -2370 1 # |ieta|=19 Shape = 1000010 -2371 1 # |ieta|=19 Shape = 1000011 -2372 0 # |ieta|=19 Shape = 1000100 -2373 0 # |ieta|=19 Shape = 1000101 -2374 0 # |ieta|=19 Shape = 1000110 -2375 1 # |ieta|=19 Shape = 1000111 -2376 0 # |ieta|=19 Shape = 1001000 -2377 0 # |ieta|=19 Shape = 1001001 -2378 1 # |ieta|=19 Shape = 1001010 -2379 1 # |ieta|=19 Shape = 1001011 -2380 0 # |ieta|=19 Shape = 1001100 -2381 1 # |ieta|=19 Shape = 1001101 -2382 1 # |ieta|=19 Shape = 1001110 -2383 0 # |ieta|=19 Shape = 1001111 -2384 0 # |ieta|=19 Shape = 1010000 -2385 0 # |ieta|=19 Shape = 1010001 -2386 1 # |ieta|=19 Shape = 1010010 -2387 1 # |ieta|=19 Shape = 1010011 -2388 0 # |ieta|=19 Shape = 1010100 -2389 0 # |ieta|=19 Shape = 1010101 -2390 0 # |ieta|=19 Shape = 1010110 -2391 1 # |ieta|=19 Shape = 1010111 -2392 0 # |ieta|=19 Shape = 1011000 -2393 0 # |ieta|=19 Shape = 1011001 -2394 1 # |ieta|=19 Shape = 1011010 -2395 1 # |ieta|=19 Shape = 1011011 -2396 0 # |ieta|=19 Shape = 1011100 -2397 0 # |ieta|=19 Shape = 1011101 -2398 1 # |ieta|=19 Shape = 1011110 -2399 0 # |ieta|=19 Shape = 1011111 -2400 0 # |ieta|=19 Shape = 1100000 -2401 0 # |ieta|=19 Shape = 1100001 -2402 0 # |ieta|=19 Shape = 1100010 -2403 1 # |ieta|=19 Shape = 1100011 -2404 0 # |ieta|=19 Shape = 1100100 -2405 0 # |ieta|=19 Shape = 1100101 -2406 0 # |ieta|=19 Shape = 1100110 -2407 1 # |ieta|=19 Shape = 1100111 -2408 0 # |ieta|=19 Shape = 1101000 -2409 0 # |ieta|=19 Shape = 1101001 -2410 0 # |ieta|=19 Shape = 1101010 -2411 1 # |ieta|=19 Shape = 1101011 -2412 0 # |ieta|=19 Shape = 1101100 -2413 0 # |ieta|=19 Shape = 1101101 -2414 0 # |ieta|=19 Shape = 1101110 -2415 0 # |ieta|=19 Shape = 1101111 -2416 0 # |ieta|=19 Shape = 1110000 -2417 0 # |ieta|=19 Shape = 1110001 -2418 0 # |ieta|=19 Shape = 1110010 -2419 1 # |ieta|=19 Shape = 1110011 -2420 0 # |ieta|=19 Shape = 1110100 -2421 0 # |ieta|=19 Shape = 1110101 -2422 0 # |ieta|=19 Shape = 1110110 -2423 1 # |ieta|=19 Shape = 1110111 -2424 0 # |ieta|=19 Shape = 1111000 -2425 0 # |ieta|=19 Shape = 1111001 -2426 0 # |ieta|=19 Shape = 1111010 -2427 0 # |ieta|=19 Shape = 1111011 -2428 0 # |ieta|=19 Shape = 1111100 -2429 0 # |ieta|=19 Shape = 1111101 -2430 0 # |ieta|=19 Shape = 1111110 -2431 1 # |ieta|=19 Shape = 1111111 -2432 1 # |ieta|=20 Shape = 0000000 -2433 1 # |ieta|=20 Shape = 0000001 -2434 1 # |ieta|=20 Shape = 0000010 -2435 1 # |ieta|=20 Shape = 0000011 -2436 0 # |ieta|=20 Shape = 0000100 -2437 1 # |ieta|=20 Shape = 0000101 -2438 0 # |ieta|=20 Shape = 0000110 -2439 1 # |ieta|=20 Shape = 0000111 -2440 1 # |ieta|=20 Shape = 0001000 -2441 1 # |ieta|=20 Shape = 0001001 -2442 1 # |ieta|=20 Shape = 0001010 -2443 1 # |ieta|=20 Shape = 0001011 -2444 1 # |ieta|=20 Shape = 0001100 -2445 1 # |ieta|=20 Shape = 0001101 -2446 1 # |ieta|=20 Shape = 0001110 -2447 1 # |ieta|=20 Shape = 0001111 -2448 0 # |ieta|=20 Shape = 0010000 -2449 0 # |ieta|=20 Shape = 0010001 -2450 1 # |ieta|=20 Shape = 0010010 -2451 1 # |ieta|=20 Shape = 0010011 -2452 0 # |ieta|=20 Shape = 0010100 -2453 0 # |ieta|=20 Shape = 0010101 -2454 0 # |ieta|=20 Shape = 0010110 -2455 1 # |ieta|=20 Shape = 0010111 -2456 1 # |ieta|=20 Shape = 0011000 -2457 1 # |ieta|=20 Shape = 0011001 -2458 1 # |ieta|=20 Shape = 0011010 -2459 1 # |ieta|=20 Shape = 0011011 -2460 1 # |ieta|=20 Shape = 0011100 -2461 1 # |ieta|=20 Shape = 0011101 -2462 1 # |ieta|=20 Shape = 0011110 -2463 1 # |ieta|=20 Shape = 0011111 -2464 0 # |ieta|=20 Shape = 0100000 -2465 1 # |ieta|=20 Shape = 0100001 -2466 0 # |ieta|=20 Shape = 0100010 -2467 1 # |ieta|=20 Shape = 0100011 -2468 0 # |ieta|=20 Shape = 0100100 -2469 1 # |ieta|=20 Shape = 0100101 -2470 0 # |ieta|=20 Shape = 0100110 -2471 1 # |ieta|=20 Shape = 0100111 -2472 0 # |ieta|=20 Shape = 0101000 -2473 1 # |ieta|=20 Shape = 0101001 -2474 0 # |ieta|=20 Shape = 0101010 -2475 1 # |ieta|=20 Shape = 0101011 -2476 0 # |ieta|=20 Shape = 0101100 -2477 1 # |ieta|=20 Shape = 0101101 -2478 0 # |ieta|=20 Shape = 0101110 -2479 1 # |ieta|=20 Shape = 0101111 -2480 0 # |ieta|=20 Shape = 0110000 -2481 0 # |ieta|=20 Shape = 0110001 -2482 0 # |ieta|=20 Shape = 0110010 -2483 1 # |ieta|=20 Shape = 0110011 -2484 0 # |ieta|=20 Shape = 0110100 -2485 0 # |ieta|=20 Shape = 0110101 -2486 0 # |ieta|=20 Shape = 0110110 -2487 1 # |ieta|=20 Shape = 0110111 -2488 0 # |ieta|=20 Shape = 0111000 -2489 1 # |ieta|=20 Shape = 0111001 -2490 0 # |ieta|=20 Shape = 0111010 -2491 0 # |ieta|=20 Shape = 0111011 -2492 0 # |ieta|=20 Shape = 0111100 -2493 1 # |ieta|=20 Shape = 0111101 -2494 0 # |ieta|=20 Shape = 0111110 -2495 0 # |ieta|=20 Shape = 0111111 -2496 0 # |ieta|=20 Shape = 1000000 -2497 0 # |ieta|=20 Shape = 1000001 -2498 1 # |ieta|=20 Shape = 1000010 -2499 1 # |ieta|=20 Shape = 1000011 -2500 0 # |ieta|=20 Shape = 1000100 -2501 0 # |ieta|=20 Shape = 1000101 -2502 0 # |ieta|=20 Shape = 1000110 -2503 1 # |ieta|=20 Shape = 1000111 -2504 0 # |ieta|=20 Shape = 1001000 -2505 0 # |ieta|=20 Shape = 1001001 -2506 1 # |ieta|=20 Shape = 1001010 -2507 1 # |ieta|=20 Shape = 1001011 -2508 0 # |ieta|=20 Shape = 1001100 -2509 1 # |ieta|=20 Shape = 1001101 -2510 1 # |ieta|=20 Shape = 1001110 -2511 0 # |ieta|=20 Shape = 1001111 -2512 0 # |ieta|=20 Shape = 1010000 -2513 0 # |ieta|=20 Shape = 1010001 -2514 1 # |ieta|=20 Shape = 1010010 -2515 1 # |ieta|=20 Shape = 1010011 -2516 0 # |ieta|=20 Shape = 1010100 -2517 0 # |ieta|=20 Shape = 1010101 -2518 0 # |ieta|=20 Shape = 1010110 -2519 1 # |ieta|=20 Shape = 1010111 -2520 0 # |ieta|=20 Shape = 1011000 -2521 0 # |ieta|=20 Shape = 1011001 -2522 1 # |ieta|=20 Shape = 1011010 -2523 1 # |ieta|=20 Shape = 1011011 -2524 0 # |ieta|=20 Shape = 1011100 -2525 0 # |ieta|=20 Shape = 1011101 -2526 1 # |ieta|=20 Shape = 1011110 -2527 0 # |ieta|=20 Shape = 1011111 -2528 0 # |ieta|=20 Shape = 1100000 -2529 0 # |ieta|=20 Shape = 1100001 -2530 0 # |ieta|=20 Shape = 1100010 -2531 1 # |ieta|=20 Shape = 1100011 -2532 0 # |ieta|=20 Shape = 1100100 -2533 0 # |ieta|=20 Shape = 1100101 -2534 0 # |ieta|=20 Shape = 1100110 -2535 1 # |ieta|=20 Shape = 1100111 -2536 0 # |ieta|=20 Shape = 1101000 -2537 0 # |ieta|=20 Shape = 1101001 -2538 0 # |ieta|=20 Shape = 1101010 -2539 1 # |ieta|=20 Shape = 1101011 -2540 0 # |ieta|=20 Shape = 1101100 -2541 0 # |ieta|=20 Shape = 1101101 -2542 0 # |ieta|=20 Shape = 1101110 -2543 0 # |ieta|=20 Shape = 1101111 -2544 0 # |ieta|=20 Shape = 1110000 -2545 0 # |ieta|=20 Shape = 1110001 -2546 0 # |ieta|=20 Shape = 1110010 -2547 1 # |ieta|=20 Shape = 1110011 -2548 0 # |ieta|=20 Shape = 1110100 -2549 0 # |ieta|=20 Shape = 1110101 -2550 0 # |ieta|=20 Shape = 1110110 -2551 1 # |ieta|=20 Shape = 1110111 -2552 0 # |ieta|=20 Shape = 1111000 -2553 0 # |ieta|=20 Shape = 1111001 -2554 0 # |ieta|=20 Shape = 1111010 -2555 0 # |ieta|=20 Shape = 1111011 -2556 0 # |ieta|=20 Shape = 1111100 -2557 0 # |ieta|=20 Shape = 1111101 -2558 0 # |ieta|=20 Shape = 1111110 -2559 1 # |ieta|=20 Shape = 1111111 -2560 1 # |ieta|=21 Shape = 0000000 -2561 1 # |ieta|=21 Shape = 0000001 -2562 1 # |ieta|=21 Shape = 0000010 -2563 1 # |ieta|=21 Shape = 0000011 -2564 0 # |ieta|=21 Shape = 0000100 -2565 1 # |ieta|=21 Shape = 0000101 -2566 0 # |ieta|=21 Shape = 0000110 -2567 1 # |ieta|=21 Shape = 0000111 -2568 1 # |ieta|=21 Shape = 0001000 -2569 1 # |ieta|=21 Shape = 0001001 -2570 1 # |ieta|=21 Shape = 0001010 -2571 1 # |ieta|=21 Shape = 0001011 -2572 1 # |ieta|=21 Shape = 0001100 -2573 1 # |ieta|=21 Shape = 0001101 -2574 1 # |ieta|=21 Shape = 0001110 -2575 1 # |ieta|=21 Shape = 0001111 -2576 0 # |ieta|=21 Shape = 0010000 -2577 0 # |ieta|=21 Shape = 0010001 -2578 1 # |ieta|=21 Shape = 0010010 -2579 1 # |ieta|=21 Shape = 0010011 -2580 0 # |ieta|=21 Shape = 0010100 -2581 0 # |ieta|=21 Shape = 0010101 -2582 0 # |ieta|=21 Shape = 0010110 -2583 1 # |ieta|=21 Shape = 0010111 -2584 1 # |ieta|=21 Shape = 0011000 -2585 1 # |ieta|=21 Shape = 0011001 -2586 1 # |ieta|=21 Shape = 0011010 -2587 1 # |ieta|=21 Shape = 0011011 -2588 1 # |ieta|=21 Shape = 0011100 -2589 1 # |ieta|=21 Shape = 0011101 -2590 1 # |ieta|=21 Shape = 0011110 -2591 1 # |ieta|=21 Shape = 0011111 -2592 0 # |ieta|=21 Shape = 0100000 -2593 1 # |ieta|=21 Shape = 0100001 -2594 0 # |ieta|=21 Shape = 0100010 -2595 1 # |ieta|=21 Shape = 0100011 -2596 0 # |ieta|=21 Shape = 0100100 -2597 1 # |ieta|=21 Shape = 0100101 -2598 0 # |ieta|=21 Shape = 0100110 -2599 1 # |ieta|=21 Shape = 0100111 -2600 0 # |ieta|=21 Shape = 0101000 -2601 1 # |ieta|=21 Shape = 0101001 -2602 0 # |ieta|=21 Shape = 0101010 -2603 1 # |ieta|=21 Shape = 0101011 -2604 0 # |ieta|=21 Shape = 0101100 -2605 1 # |ieta|=21 Shape = 0101101 -2606 0 # |ieta|=21 Shape = 0101110 -2607 1 # |ieta|=21 Shape = 0101111 -2608 0 # |ieta|=21 Shape = 0110000 -2609 0 # |ieta|=21 Shape = 0110001 -2610 0 # |ieta|=21 Shape = 0110010 -2611 1 # |ieta|=21 Shape = 0110011 -2612 0 # |ieta|=21 Shape = 0110100 -2613 0 # |ieta|=21 Shape = 0110101 -2614 0 # |ieta|=21 Shape = 0110110 -2615 1 # |ieta|=21 Shape = 0110111 -2616 0 # |ieta|=21 Shape = 0111000 -2617 1 # |ieta|=21 Shape = 0111001 -2618 0 # |ieta|=21 Shape = 0111010 -2619 0 # |ieta|=21 Shape = 0111011 -2620 0 # |ieta|=21 Shape = 0111100 -2621 1 # |ieta|=21 Shape = 0111101 -2622 0 # |ieta|=21 Shape = 0111110 -2623 0 # |ieta|=21 Shape = 0111111 -2624 0 # |ieta|=21 Shape = 1000000 -2625 0 # |ieta|=21 Shape = 1000001 -2626 1 # |ieta|=21 Shape = 1000010 -2627 1 # |ieta|=21 Shape = 1000011 -2628 0 # |ieta|=21 Shape = 1000100 -2629 0 # |ieta|=21 Shape = 1000101 -2630 0 # |ieta|=21 Shape = 1000110 -2631 1 # |ieta|=21 Shape = 1000111 -2632 0 # |ieta|=21 Shape = 1001000 -2633 0 # |ieta|=21 Shape = 1001001 -2634 1 # |ieta|=21 Shape = 1001010 -2635 1 # |ieta|=21 Shape = 1001011 -2636 0 # |ieta|=21 Shape = 1001100 -2637 1 # |ieta|=21 Shape = 1001101 -2638 1 # |ieta|=21 Shape = 1001110 -2639 0 # |ieta|=21 Shape = 1001111 -2640 0 # |ieta|=21 Shape = 1010000 -2641 0 # |ieta|=21 Shape = 1010001 -2642 1 # |ieta|=21 Shape = 1010010 -2643 1 # |ieta|=21 Shape = 1010011 -2644 0 # |ieta|=21 Shape = 1010100 -2645 0 # |ieta|=21 Shape = 1010101 -2646 0 # |ieta|=21 Shape = 1010110 -2647 1 # |ieta|=21 Shape = 1010111 -2648 0 # |ieta|=21 Shape = 1011000 -2649 0 # |ieta|=21 Shape = 1011001 -2650 1 # |ieta|=21 Shape = 1011010 -2651 1 # |ieta|=21 Shape = 1011011 -2652 0 # |ieta|=21 Shape = 1011100 -2653 0 # |ieta|=21 Shape = 1011101 -2654 1 # |ieta|=21 Shape = 1011110 -2655 0 # |ieta|=21 Shape = 1011111 -2656 0 # |ieta|=21 Shape = 1100000 -2657 0 # |ieta|=21 Shape = 1100001 -2658 0 # |ieta|=21 Shape = 1100010 -2659 1 # |ieta|=21 Shape = 1100011 -2660 0 # |ieta|=21 Shape = 1100100 -2661 0 # |ieta|=21 Shape = 1100101 -2662 0 # |ieta|=21 Shape = 1100110 -2663 1 # |ieta|=21 Shape = 1100111 -2664 0 # |ieta|=21 Shape = 1101000 -2665 0 # |ieta|=21 Shape = 1101001 -2666 0 # |ieta|=21 Shape = 1101010 -2667 1 # |ieta|=21 Shape = 1101011 -2668 0 # |ieta|=21 Shape = 1101100 -2669 0 # |ieta|=21 Shape = 1101101 -2670 0 # |ieta|=21 Shape = 1101110 -2671 0 # |ieta|=21 Shape = 1101111 -2672 0 # |ieta|=21 Shape = 1110000 -2673 0 # |ieta|=21 Shape = 1110001 -2674 0 # |ieta|=21 Shape = 1110010 -2675 1 # |ieta|=21 Shape = 1110011 -2676 0 # |ieta|=21 Shape = 1110100 -2677 0 # |ieta|=21 Shape = 1110101 -2678 0 # |ieta|=21 Shape = 1110110 -2679 1 # |ieta|=21 Shape = 1110111 -2680 0 # |ieta|=21 Shape = 1111000 -2681 0 # |ieta|=21 Shape = 1111001 -2682 0 # |ieta|=21 Shape = 1111010 -2683 0 # |ieta|=21 Shape = 1111011 -2684 0 # |ieta|=21 Shape = 1111100 -2685 0 # |ieta|=21 Shape = 1111101 -2686 0 # |ieta|=21 Shape = 1111110 -2687 1 # |ieta|=21 Shape = 1111111 -2688 1 # |ieta|=22 Shape = 0000000 -2689 1 # |ieta|=22 Shape = 0000001 -2690 1 # |ieta|=22 Shape = 0000010 -2691 1 # |ieta|=22 Shape = 0000011 -2692 0 # |ieta|=22 Shape = 0000100 -2693 1 # |ieta|=22 Shape = 0000101 -2694 0 # |ieta|=22 Shape = 0000110 -2695 1 # |ieta|=22 Shape = 0000111 -2696 1 # |ieta|=22 Shape = 0001000 -2697 1 # |ieta|=22 Shape = 0001001 -2698 1 # |ieta|=22 Shape = 0001010 -2699 1 # |ieta|=22 Shape = 0001011 -2700 1 # |ieta|=22 Shape = 0001100 -2701 1 # |ieta|=22 Shape = 0001101 -2702 1 # |ieta|=22 Shape = 0001110 -2703 1 # |ieta|=22 Shape = 0001111 -2704 0 # |ieta|=22 Shape = 0010000 -2705 0 # |ieta|=22 Shape = 0010001 -2706 1 # |ieta|=22 Shape = 0010010 -2707 1 # |ieta|=22 Shape = 0010011 -2708 0 # |ieta|=22 Shape = 0010100 -2709 0 # |ieta|=22 Shape = 0010101 -2710 0 # |ieta|=22 Shape = 0010110 -2711 1 # |ieta|=22 Shape = 0010111 -2712 1 # |ieta|=22 Shape = 0011000 -2713 1 # |ieta|=22 Shape = 0011001 -2714 1 # |ieta|=22 Shape = 0011010 -2715 1 # |ieta|=22 Shape = 0011011 -2716 1 # |ieta|=22 Shape = 0011100 -2717 1 # |ieta|=22 Shape = 0011101 -2718 1 # |ieta|=22 Shape = 0011110 -2719 1 # |ieta|=22 Shape = 0011111 -2720 0 # |ieta|=22 Shape = 0100000 -2721 1 # |ieta|=22 Shape = 0100001 -2722 0 # |ieta|=22 Shape = 0100010 -2723 1 # |ieta|=22 Shape = 0100011 -2724 0 # |ieta|=22 Shape = 0100100 -2725 1 # |ieta|=22 Shape = 0100101 -2726 0 # |ieta|=22 Shape = 0100110 -2727 1 # |ieta|=22 Shape = 0100111 -2728 0 # |ieta|=22 Shape = 0101000 -2729 1 # |ieta|=22 Shape = 0101001 -2730 0 # |ieta|=22 Shape = 0101010 -2731 1 # |ieta|=22 Shape = 0101011 -2732 0 # |ieta|=22 Shape = 0101100 -2733 1 # |ieta|=22 Shape = 0101101 -2734 0 # |ieta|=22 Shape = 0101110 -2735 1 # |ieta|=22 Shape = 0101111 -2736 0 # |ieta|=22 Shape = 0110000 -2737 0 # |ieta|=22 Shape = 0110001 -2738 0 # |ieta|=22 Shape = 0110010 -2739 1 # |ieta|=22 Shape = 0110011 -2740 0 # |ieta|=22 Shape = 0110100 -2741 0 # |ieta|=22 Shape = 0110101 -2742 0 # |ieta|=22 Shape = 0110110 -2743 1 # |ieta|=22 Shape = 0110111 -2744 0 # |ieta|=22 Shape = 0111000 -2745 1 # |ieta|=22 Shape = 0111001 -2746 0 # |ieta|=22 Shape = 0111010 -2747 0 # |ieta|=22 Shape = 0111011 -2748 0 # |ieta|=22 Shape = 0111100 -2749 1 # |ieta|=22 Shape = 0111101 -2750 0 # |ieta|=22 Shape = 0111110 -2751 0 # |ieta|=22 Shape = 0111111 -2752 0 # |ieta|=22 Shape = 1000000 -2753 0 # |ieta|=22 Shape = 1000001 -2754 1 # |ieta|=22 Shape = 1000010 -2755 1 # |ieta|=22 Shape = 1000011 -2756 0 # |ieta|=22 Shape = 1000100 -2757 0 # |ieta|=22 Shape = 1000101 -2758 0 # |ieta|=22 Shape = 1000110 -2759 1 # |ieta|=22 Shape = 1000111 -2760 0 # |ieta|=22 Shape = 1001000 -2761 0 # |ieta|=22 Shape = 1001001 -2762 1 # |ieta|=22 Shape = 1001010 -2763 1 # |ieta|=22 Shape = 1001011 -2764 0 # |ieta|=22 Shape = 1001100 -2765 1 # |ieta|=22 Shape = 1001101 -2766 1 # |ieta|=22 Shape = 1001110 -2767 0 # |ieta|=22 Shape = 1001111 -2768 0 # |ieta|=22 Shape = 1010000 -2769 0 # |ieta|=22 Shape = 1010001 -2770 1 # |ieta|=22 Shape = 1010010 -2771 1 # |ieta|=22 Shape = 1010011 -2772 0 # |ieta|=22 Shape = 1010100 -2773 0 # |ieta|=22 Shape = 1010101 -2774 0 # |ieta|=22 Shape = 1010110 -2775 1 # |ieta|=22 Shape = 1010111 -2776 0 # |ieta|=22 Shape = 1011000 -2777 0 # |ieta|=22 Shape = 1011001 -2778 1 # |ieta|=22 Shape = 1011010 -2779 1 # |ieta|=22 Shape = 1011011 -2780 0 # |ieta|=22 Shape = 1011100 -2781 0 # |ieta|=22 Shape = 1011101 -2782 1 # |ieta|=22 Shape = 1011110 -2783 0 # |ieta|=22 Shape = 1011111 -2784 0 # |ieta|=22 Shape = 1100000 -2785 0 # |ieta|=22 Shape = 1100001 -2786 0 # |ieta|=22 Shape = 1100010 -2787 1 # |ieta|=22 Shape = 1100011 -2788 0 # |ieta|=22 Shape = 1100100 -2789 0 # |ieta|=22 Shape = 1100101 -2790 0 # |ieta|=22 Shape = 1100110 -2791 1 # |ieta|=22 Shape = 1100111 -2792 0 # |ieta|=22 Shape = 1101000 -2793 0 # |ieta|=22 Shape = 1101001 -2794 0 # |ieta|=22 Shape = 1101010 -2795 1 # |ieta|=22 Shape = 1101011 -2796 0 # |ieta|=22 Shape = 1101100 -2797 0 # |ieta|=22 Shape = 1101101 -2798 0 # |ieta|=22 Shape = 1101110 -2799 0 # |ieta|=22 Shape = 1101111 -2800 0 # |ieta|=22 Shape = 1110000 -2801 0 # |ieta|=22 Shape = 1110001 -2802 0 # |ieta|=22 Shape = 1110010 -2803 1 # |ieta|=22 Shape = 1110011 -2804 0 # |ieta|=22 Shape = 1110100 -2805 0 # |ieta|=22 Shape = 1110101 -2806 0 # |ieta|=22 Shape = 1110110 -2807 1 # |ieta|=22 Shape = 1110111 -2808 0 # |ieta|=22 Shape = 1111000 -2809 0 # |ieta|=22 Shape = 1111001 -2810 0 # |ieta|=22 Shape = 1111010 -2811 0 # |ieta|=22 Shape = 1111011 -2812 0 # |ieta|=22 Shape = 1111100 -2813 0 # |ieta|=22 Shape = 1111101 -2814 0 # |ieta|=22 Shape = 1111110 -2815 1 # |ieta|=22 Shape = 1111111 -2816 1 # |ieta|=23 Shape = 0000000 -2817 1 # |ieta|=23 Shape = 0000001 -2818 1 # |ieta|=23 Shape = 0000010 -2819 1 # |ieta|=23 Shape = 0000011 -2820 0 # |ieta|=23 Shape = 0000100 -2821 1 # |ieta|=23 Shape = 0000101 -2822 0 # |ieta|=23 Shape = 0000110 -2823 1 # |ieta|=23 Shape = 0000111 -2824 1 # |ieta|=23 Shape = 0001000 -2825 1 # |ieta|=23 Shape = 0001001 -2826 1 # |ieta|=23 Shape = 0001010 -2827 1 # |ieta|=23 Shape = 0001011 -2828 1 # |ieta|=23 Shape = 0001100 -2829 1 # |ieta|=23 Shape = 0001101 -2830 1 # |ieta|=23 Shape = 0001110 -2831 1 # |ieta|=23 Shape = 0001111 -2832 0 # |ieta|=23 Shape = 0010000 -2833 0 # |ieta|=23 Shape = 0010001 -2834 1 # |ieta|=23 Shape = 0010010 -2835 1 # |ieta|=23 Shape = 0010011 -2836 0 # |ieta|=23 Shape = 0010100 -2837 0 # |ieta|=23 Shape = 0010101 -2838 0 # |ieta|=23 Shape = 0010110 -2839 1 # |ieta|=23 Shape = 0010111 -2840 1 # |ieta|=23 Shape = 0011000 -2841 1 # |ieta|=23 Shape = 0011001 -2842 1 # |ieta|=23 Shape = 0011010 -2843 1 # |ieta|=23 Shape = 0011011 -2844 1 # |ieta|=23 Shape = 0011100 -2845 1 # |ieta|=23 Shape = 0011101 -2846 1 # |ieta|=23 Shape = 0011110 -2847 1 # |ieta|=23 Shape = 0011111 -2848 0 # |ieta|=23 Shape = 0100000 -2849 1 # |ieta|=23 Shape = 0100001 -2850 0 # |ieta|=23 Shape = 0100010 -2851 1 # |ieta|=23 Shape = 0100011 -2852 0 # |ieta|=23 Shape = 0100100 -2853 1 # |ieta|=23 Shape = 0100101 -2854 0 # |ieta|=23 Shape = 0100110 -2855 1 # |ieta|=23 Shape = 0100111 -2856 0 # |ieta|=23 Shape = 0101000 -2857 1 # |ieta|=23 Shape = 0101001 -2858 0 # |ieta|=23 Shape = 0101010 -2859 1 # |ieta|=23 Shape = 0101011 -2860 0 # |ieta|=23 Shape = 0101100 -2861 1 # |ieta|=23 Shape = 0101101 -2862 0 # |ieta|=23 Shape = 0101110 -2863 1 # |ieta|=23 Shape = 0101111 -2864 0 # |ieta|=23 Shape = 0110000 -2865 0 # |ieta|=23 Shape = 0110001 -2866 0 # |ieta|=23 Shape = 0110010 -2867 1 # |ieta|=23 Shape = 0110011 -2868 0 # |ieta|=23 Shape = 0110100 -2869 0 # |ieta|=23 Shape = 0110101 -2870 0 # |ieta|=23 Shape = 0110110 -2871 1 # |ieta|=23 Shape = 0110111 -2872 0 # |ieta|=23 Shape = 0111000 -2873 1 # |ieta|=23 Shape = 0111001 -2874 0 # |ieta|=23 Shape = 0111010 -2875 0 # |ieta|=23 Shape = 0111011 -2876 0 # |ieta|=23 Shape = 0111100 -2877 1 # |ieta|=23 Shape = 0111101 -2878 0 # |ieta|=23 Shape = 0111110 -2879 0 # |ieta|=23 Shape = 0111111 -2880 0 # |ieta|=23 Shape = 1000000 -2881 0 # |ieta|=23 Shape = 1000001 -2882 1 # |ieta|=23 Shape = 1000010 -2883 1 # |ieta|=23 Shape = 1000011 -2884 0 # |ieta|=23 Shape = 1000100 -2885 0 # |ieta|=23 Shape = 1000101 -2886 0 # |ieta|=23 Shape = 1000110 -2887 1 # |ieta|=23 Shape = 1000111 -2888 0 # |ieta|=23 Shape = 1001000 -2889 0 # |ieta|=23 Shape = 1001001 -2890 1 # |ieta|=23 Shape = 1001010 -2891 1 # |ieta|=23 Shape = 1001011 -2892 0 # |ieta|=23 Shape = 1001100 -2893 1 # |ieta|=23 Shape = 1001101 -2894 1 # |ieta|=23 Shape = 1001110 -2895 0 # |ieta|=23 Shape = 1001111 -2896 0 # |ieta|=23 Shape = 1010000 -2897 0 # |ieta|=23 Shape = 1010001 -2898 1 # |ieta|=23 Shape = 1010010 -2899 1 # |ieta|=23 Shape = 1010011 -2900 0 # |ieta|=23 Shape = 1010100 -2901 0 # |ieta|=23 Shape = 1010101 -2902 0 # |ieta|=23 Shape = 1010110 -2903 1 # |ieta|=23 Shape = 1010111 -2904 0 # |ieta|=23 Shape = 1011000 -2905 0 # |ieta|=23 Shape = 1011001 -2906 1 # |ieta|=23 Shape = 1011010 -2907 1 # |ieta|=23 Shape = 1011011 -2908 0 # |ieta|=23 Shape = 1011100 -2909 0 # |ieta|=23 Shape = 1011101 -2910 1 # |ieta|=23 Shape = 1011110 -2911 0 # |ieta|=23 Shape = 1011111 -2912 0 # |ieta|=23 Shape = 1100000 -2913 0 # |ieta|=23 Shape = 1100001 -2914 0 # |ieta|=23 Shape = 1100010 -2915 1 # |ieta|=23 Shape = 1100011 -2916 0 # |ieta|=23 Shape = 1100100 -2917 0 # |ieta|=23 Shape = 1100101 -2918 0 # |ieta|=23 Shape = 1100110 -2919 1 # |ieta|=23 Shape = 1100111 -2920 0 # |ieta|=23 Shape = 1101000 -2921 0 # |ieta|=23 Shape = 1101001 -2922 0 # |ieta|=23 Shape = 1101010 -2923 1 # |ieta|=23 Shape = 1101011 -2924 0 # |ieta|=23 Shape = 1101100 -2925 0 # |ieta|=23 Shape = 1101101 -2926 0 # |ieta|=23 Shape = 1101110 -2927 0 # |ieta|=23 Shape = 1101111 -2928 0 # |ieta|=23 Shape = 1110000 -2929 0 # |ieta|=23 Shape = 1110001 -2930 0 # |ieta|=23 Shape = 1110010 -2931 1 # |ieta|=23 Shape = 1110011 -2932 0 # |ieta|=23 Shape = 1110100 -2933 0 # |ieta|=23 Shape = 1110101 -2934 0 # |ieta|=23 Shape = 1110110 -2935 1 # |ieta|=23 Shape = 1110111 -2936 0 # |ieta|=23 Shape = 1111000 -2937 0 # |ieta|=23 Shape = 1111001 -2938 0 # |ieta|=23 Shape = 1111010 -2939 0 # |ieta|=23 Shape = 1111011 -2940 0 # |ieta|=23 Shape = 1111100 -2941 0 # |ieta|=23 Shape = 1111101 -2942 0 # |ieta|=23 Shape = 1111110 -2943 1 # |ieta|=23 Shape = 1111111 -2944 1 # |ieta|=24 Shape = 0000000 -2945 1 # |ieta|=24 Shape = 0000001 -2946 1 # |ieta|=24 Shape = 0000010 -2947 1 # |ieta|=24 Shape = 0000011 -2948 0 # |ieta|=24 Shape = 0000100 -2949 1 # |ieta|=24 Shape = 0000101 -2950 0 # |ieta|=24 Shape = 0000110 -2951 1 # |ieta|=24 Shape = 0000111 -2952 1 # |ieta|=24 Shape = 0001000 -2953 1 # |ieta|=24 Shape = 0001001 -2954 1 # |ieta|=24 Shape = 0001010 -2955 1 # |ieta|=24 Shape = 0001011 -2956 1 # |ieta|=24 Shape = 0001100 -2957 1 # |ieta|=24 Shape = 0001101 -2958 1 # |ieta|=24 Shape = 0001110 -2959 1 # |ieta|=24 Shape = 0001111 -2960 0 # |ieta|=24 Shape = 0010000 -2961 0 # |ieta|=24 Shape = 0010001 -2962 1 # |ieta|=24 Shape = 0010010 -2963 1 # |ieta|=24 Shape = 0010011 -2964 0 # |ieta|=24 Shape = 0010100 -2965 0 # |ieta|=24 Shape = 0010101 -2966 0 # |ieta|=24 Shape = 0010110 -2967 1 # |ieta|=24 Shape = 0010111 -2968 1 # |ieta|=24 Shape = 0011000 -2969 1 # |ieta|=24 Shape = 0011001 -2970 1 # |ieta|=24 Shape = 0011010 -2971 1 # |ieta|=24 Shape = 0011011 -2972 1 # |ieta|=24 Shape = 0011100 -2973 1 # |ieta|=24 Shape = 0011101 -2974 1 # |ieta|=24 Shape = 0011110 -2975 1 # |ieta|=24 Shape = 0011111 -2976 0 # |ieta|=24 Shape = 0100000 -2977 1 # |ieta|=24 Shape = 0100001 -2978 0 # |ieta|=24 Shape = 0100010 -2979 1 # |ieta|=24 Shape = 0100011 -2980 0 # |ieta|=24 Shape = 0100100 -2981 1 # |ieta|=24 Shape = 0100101 -2982 0 # |ieta|=24 Shape = 0100110 -2983 1 # |ieta|=24 Shape = 0100111 -2984 0 # |ieta|=24 Shape = 0101000 -2985 1 # |ieta|=24 Shape = 0101001 -2986 0 # |ieta|=24 Shape = 0101010 -2987 1 # |ieta|=24 Shape = 0101011 -2988 0 # |ieta|=24 Shape = 0101100 -2989 1 # |ieta|=24 Shape = 0101101 -2990 0 # |ieta|=24 Shape = 0101110 -2991 1 # |ieta|=24 Shape = 0101111 -2992 0 # |ieta|=24 Shape = 0110000 -2993 0 # |ieta|=24 Shape = 0110001 -2994 0 # |ieta|=24 Shape = 0110010 -2995 1 # |ieta|=24 Shape = 0110011 -2996 0 # |ieta|=24 Shape = 0110100 -2997 0 # |ieta|=24 Shape = 0110101 -2998 0 # |ieta|=24 Shape = 0110110 -2999 1 # |ieta|=24 Shape = 0110111 -3000 0 # |ieta|=24 Shape = 0111000 -3001 1 # |ieta|=24 Shape = 0111001 -3002 0 # |ieta|=24 Shape = 0111010 -3003 0 # |ieta|=24 Shape = 0111011 -3004 0 # |ieta|=24 Shape = 0111100 -3005 1 # |ieta|=24 Shape = 0111101 -3006 0 # |ieta|=24 Shape = 0111110 -3007 0 # |ieta|=24 Shape = 0111111 -3008 0 # |ieta|=24 Shape = 1000000 -3009 0 # |ieta|=24 Shape = 1000001 -3010 1 # |ieta|=24 Shape = 1000010 -3011 1 # |ieta|=24 Shape = 1000011 -3012 0 # |ieta|=24 Shape = 1000100 -3013 0 # |ieta|=24 Shape = 1000101 -3014 0 # |ieta|=24 Shape = 1000110 -3015 1 # |ieta|=24 Shape = 1000111 -3016 0 # |ieta|=24 Shape = 1001000 -3017 0 # |ieta|=24 Shape = 1001001 -3018 1 # |ieta|=24 Shape = 1001010 -3019 1 # |ieta|=24 Shape = 1001011 -3020 0 # |ieta|=24 Shape = 1001100 -3021 1 # |ieta|=24 Shape = 1001101 -3022 1 # |ieta|=24 Shape = 1001110 -3023 0 # |ieta|=24 Shape = 1001111 -3024 0 # |ieta|=24 Shape = 1010000 -3025 0 # |ieta|=24 Shape = 1010001 -3026 1 # |ieta|=24 Shape = 1010010 -3027 1 # |ieta|=24 Shape = 1010011 -3028 0 # |ieta|=24 Shape = 1010100 -3029 0 # |ieta|=24 Shape = 1010101 -3030 0 # |ieta|=24 Shape = 1010110 -3031 1 # |ieta|=24 Shape = 1010111 -3032 0 # |ieta|=24 Shape = 1011000 -3033 0 # |ieta|=24 Shape = 1011001 -3034 1 # |ieta|=24 Shape = 1011010 -3035 1 # |ieta|=24 Shape = 1011011 -3036 0 # |ieta|=24 Shape = 1011100 -3037 0 # |ieta|=24 Shape = 1011101 -3038 1 # |ieta|=24 Shape = 1011110 -3039 0 # |ieta|=24 Shape = 1011111 -3040 0 # |ieta|=24 Shape = 1100000 -3041 0 # |ieta|=24 Shape = 1100001 -3042 0 # |ieta|=24 Shape = 1100010 -3043 1 # |ieta|=24 Shape = 1100011 -3044 0 # |ieta|=24 Shape = 1100100 -3045 0 # |ieta|=24 Shape = 1100101 -3046 0 # |ieta|=24 Shape = 1100110 -3047 1 # |ieta|=24 Shape = 1100111 -3048 0 # |ieta|=24 Shape = 1101000 -3049 0 # |ieta|=24 Shape = 1101001 -3050 0 # |ieta|=24 Shape = 1101010 -3051 1 # |ieta|=24 Shape = 1101011 -3052 0 # |ieta|=24 Shape = 1101100 -3053 0 # |ieta|=24 Shape = 1101101 -3054 0 # |ieta|=24 Shape = 1101110 -3055 0 # |ieta|=24 Shape = 1101111 -3056 0 # |ieta|=24 Shape = 1110000 -3057 0 # |ieta|=24 Shape = 1110001 -3058 0 # |ieta|=24 Shape = 1110010 -3059 1 # |ieta|=24 Shape = 1110011 -3060 0 # |ieta|=24 Shape = 1110100 -3061 0 # |ieta|=24 Shape = 1110101 -3062 0 # |ieta|=24 Shape = 1110110 -3063 1 # |ieta|=24 Shape = 1110111 -3064 0 # |ieta|=24 Shape = 1111000 -3065 0 # |ieta|=24 Shape = 1111001 -3066 0 # |ieta|=24 Shape = 1111010 -3067 0 # |ieta|=24 Shape = 1111011 -3068 0 # |ieta|=24 Shape = 1111100 -3069 0 # |ieta|=24 Shape = 1111101 -3070 0 # |ieta|=24 Shape = 1111110 -3071 1 # |ieta|=24 Shape = 1111111 -3072 1 # |ieta|=25 Shape = 0000000 -3073 1 # |ieta|=25 Shape = 0000001 -3074 1 # |ieta|=25 Shape = 0000010 -3075 1 # |ieta|=25 Shape = 0000011 -3076 0 # |ieta|=25 Shape = 0000100 -3077 1 # |ieta|=25 Shape = 0000101 -3078 0 # |ieta|=25 Shape = 0000110 -3079 1 # |ieta|=25 Shape = 0000111 -3080 1 # |ieta|=25 Shape = 0001000 -3081 1 # |ieta|=25 Shape = 0001001 -3082 1 # |ieta|=25 Shape = 0001010 -3083 1 # |ieta|=25 Shape = 0001011 -3084 1 # |ieta|=25 Shape = 0001100 -3085 1 # |ieta|=25 Shape = 0001101 -3086 1 # |ieta|=25 Shape = 0001110 -3087 1 # |ieta|=25 Shape = 0001111 -3088 0 # |ieta|=25 Shape = 0010000 -3089 0 # |ieta|=25 Shape = 0010001 -3090 1 # |ieta|=25 Shape = 0010010 -3091 1 # |ieta|=25 Shape = 0010011 -3092 0 # |ieta|=25 Shape = 0010100 -3093 0 # |ieta|=25 Shape = 0010101 -3094 0 # |ieta|=25 Shape = 0010110 -3095 1 # |ieta|=25 Shape = 0010111 -3096 1 # |ieta|=25 Shape = 0011000 -3097 1 # |ieta|=25 Shape = 0011001 -3098 1 # |ieta|=25 Shape = 0011010 -3099 1 # |ieta|=25 Shape = 0011011 -3100 1 # |ieta|=25 Shape = 0011100 -3101 1 # |ieta|=25 Shape = 0011101 -3102 1 # |ieta|=25 Shape = 0011110 -3103 1 # |ieta|=25 Shape = 0011111 -3104 0 # |ieta|=25 Shape = 0100000 -3105 1 # |ieta|=25 Shape = 0100001 -3106 0 # |ieta|=25 Shape = 0100010 -3107 1 # |ieta|=25 Shape = 0100011 -3108 0 # |ieta|=25 Shape = 0100100 -3109 1 # |ieta|=25 Shape = 0100101 -3110 0 # |ieta|=25 Shape = 0100110 -3111 1 # |ieta|=25 Shape = 0100111 -3112 0 # |ieta|=25 Shape = 0101000 -3113 1 # |ieta|=25 Shape = 0101001 -3114 0 # |ieta|=25 Shape = 0101010 -3115 1 # |ieta|=25 Shape = 0101011 -3116 0 # |ieta|=25 Shape = 0101100 -3117 1 # |ieta|=25 Shape = 0101101 -3118 0 # |ieta|=25 Shape = 0101110 -3119 1 # |ieta|=25 Shape = 0101111 -3120 0 # |ieta|=25 Shape = 0110000 -3121 0 # |ieta|=25 Shape = 0110001 -3122 0 # |ieta|=25 Shape = 0110010 -3123 1 # |ieta|=25 Shape = 0110011 -3124 0 # |ieta|=25 Shape = 0110100 -3125 0 # |ieta|=25 Shape = 0110101 -3126 0 # |ieta|=25 Shape = 0110110 -3127 1 # |ieta|=25 Shape = 0110111 -3128 0 # |ieta|=25 Shape = 0111000 -3129 1 # |ieta|=25 Shape = 0111001 -3130 0 # |ieta|=25 Shape = 0111010 -3131 0 # |ieta|=25 Shape = 0111011 -3132 0 # |ieta|=25 Shape = 0111100 -3133 1 # |ieta|=25 Shape = 0111101 -3134 0 # |ieta|=25 Shape = 0111110 -3135 0 # |ieta|=25 Shape = 0111111 -3136 0 # |ieta|=25 Shape = 1000000 -3137 0 # |ieta|=25 Shape = 1000001 -3138 1 # |ieta|=25 Shape = 1000010 -3139 1 # |ieta|=25 Shape = 1000011 -3140 0 # |ieta|=25 Shape = 1000100 -3141 0 # |ieta|=25 Shape = 1000101 -3142 0 # |ieta|=25 Shape = 1000110 -3143 1 # |ieta|=25 Shape = 1000111 -3144 0 # |ieta|=25 Shape = 1001000 -3145 0 # |ieta|=25 Shape = 1001001 -3146 1 # |ieta|=25 Shape = 1001010 -3147 1 # |ieta|=25 Shape = 1001011 -3148 0 # |ieta|=25 Shape = 1001100 -3149 1 # |ieta|=25 Shape = 1001101 -3150 1 # |ieta|=25 Shape = 1001110 -3151 0 # |ieta|=25 Shape = 1001111 -3152 0 # |ieta|=25 Shape = 1010000 -3153 0 # |ieta|=25 Shape = 1010001 -3154 1 # |ieta|=25 Shape = 1010010 -3155 1 # |ieta|=25 Shape = 1010011 -3156 0 # |ieta|=25 Shape = 1010100 -3157 0 # |ieta|=25 Shape = 1010101 -3158 0 # |ieta|=25 Shape = 1010110 -3159 1 # |ieta|=25 Shape = 1010111 -3160 0 # |ieta|=25 Shape = 1011000 -3161 0 # |ieta|=25 Shape = 1011001 -3162 1 # |ieta|=25 Shape = 1011010 -3163 1 # |ieta|=25 Shape = 1011011 -3164 0 # |ieta|=25 Shape = 1011100 -3165 0 # |ieta|=25 Shape = 1011101 -3166 1 # |ieta|=25 Shape = 1011110 -3167 0 # |ieta|=25 Shape = 1011111 -3168 0 # |ieta|=25 Shape = 1100000 -3169 0 # |ieta|=25 Shape = 1100001 -3170 0 # |ieta|=25 Shape = 1100010 -3171 1 # |ieta|=25 Shape = 1100011 -3172 0 # |ieta|=25 Shape = 1100100 -3173 0 # |ieta|=25 Shape = 1100101 -3174 0 # |ieta|=25 Shape = 1100110 -3175 1 # |ieta|=25 Shape = 1100111 -3176 0 # |ieta|=25 Shape = 1101000 -3177 0 # |ieta|=25 Shape = 1101001 -3178 0 # |ieta|=25 Shape = 1101010 -3179 1 # |ieta|=25 Shape = 1101011 -3180 0 # |ieta|=25 Shape = 1101100 -3181 0 # |ieta|=25 Shape = 1101101 -3182 0 # |ieta|=25 Shape = 1101110 -3183 0 # |ieta|=25 Shape = 1101111 -3184 0 # |ieta|=25 Shape = 1110000 -3185 0 # |ieta|=25 Shape = 1110001 -3186 0 # |ieta|=25 Shape = 1110010 -3187 1 # |ieta|=25 Shape = 1110011 -3188 0 # |ieta|=25 Shape = 1110100 -3189 0 # |ieta|=25 Shape = 1110101 -3190 0 # |ieta|=25 Shape = 1110110 -3191 1 # |ieta|=25 Shape = 1110111 -3192 0 # |ieta|=25 Shape = 1111000 -3193 0 # |ieta|=25 Shape = 1111001 -3194 0 # |ieta|=25 Shape = 1111010 -3195 0 # |ieta|=25 Shape = 1111011 -3196 0 # |ieta|=25 Shape = 1111100 -3197 0 # |ieta|=25 Shape = 1111101 -3198 0 # |ieta|=25 Shape = 1111110 -3199 1 # |ieta|=25 Shape = 1111111 -3200 1 # |ieta|=26 Shape = 0000000 -3201 1 # |ieta|=26 Shape = 0000001 -3202 1 # |ieta|=26 Shape = 0000010 -3203 1 # |ieta|=26 Shape = 0000011 -3204 0 # |ieta|=26 Shape = 0000100 -3205 1 # |ieta|=26 Shape = 0000101 -3206 0 # |ieta|=26 Shape = 0000110 -3207 1 # |ieta|=26 Shape = 0000111 -3208 1 # |ieta|=26 Shape = 0001000 -3209 1 # |ieta|=26 Shape = 0001001 -3210 1 # |ieta|=26 Shape = 0001010 -3211 1 # |ieta|=26 Shape = 0001011 -3212 1 # |ieta|=26 Shape = 0001100 -3213 1 # |ieta|=26 Shape = 0001101 -3214 1 # |ieta|=26 Shape = 0001110 -3215 1 # |ieta|=26 Shape = 0001111 -3216 0 # |ieta|=26 Shape = 0010000 -3217 0 # |ieta|=26 Shape = 0010001 -3218 1 # |ieta|=26 Shape = 0010010 -3219 1 # |ieta|=26 Shape = 0010011 -3220 0 # |ieta|=26 Shape = 0010100 -3221 0 # |ieta|=26 Shape = 0010101 -3222 0 # |ieta|=26 Shape = 0010110 -3223 1 # |ieta|=26 Shape = 0010111 -3224 1 # |ieta|=26 Shape = 0011000 -3225 1 # |ieta|=26 Shape = 0011001 -3226 1 # |ieta|=26 Shape = 0011010 -3227 1 # |ieta|=26 Shape = 0011011 -3228 1 # |ieta|=26 Shape = 0011100 -3229 1 # |ieta|=26 Shape = 0011101 -3230 1 # |ieta|=26 Shape = 0011110 -3231 1 # |ieta|=26 Shape = 0011111 -3232 0 # |ieta|=26 Shape = 0100000 -3233 1 # |ieta|=26 Shape = 0100001 -3234 0 # |ieta|=26 Shape = 0100010 -3235 1 # |ieta|=26 Shape = 0100011 -3236 0 # |ieta|=26 Shape = 0100100 -3237 1 # |ieta|=26 Shape = 0100101 -3238 0 # |ieta|=26 Shape = 0100110 -3239 1 # |ieta|=26 Shape = 0100111 -3240 0 # |ieta|=26 Shape = 0101000 -3241 1 # |ieta|=26 Shape = 0101001 -3242 0 # |ieta|=26 Shape = 0101010 -3243 1 # |ieta|=26 Shape = 0101011 -3244 0 # |ieta|=26 Shape = 0101100 -3245 1 # |ieta|=26 Shape = 0101101 -3246 0 # |ieta|=26 Shape = 0101110 -3247 1 # |ieta|=26 Shape = 0101111 -3248 0 # |ieta|=26 Shape = 0110000 -3249 0 # |ieta|=26 Shape = 0110001 -3250 0 # |ieta|=26 Shape = 0110010 -3251 1 # |ieta|=26 Shape = 0110011 -3252 0 # |ieta|=26 Shape = 0110100 -3253 0 # |ieta|=26 Shape = 0110101 -3254 0 # |ieta|=26 Shape = 0110110 -3255 1 # |ieta|=26 Shape = 0110111 -3256 0 # |ieta|=26 Shape = 0111000 -3257 1 # |ieta|=26 Shape = 0111001 -3258 0 # |ieta|=26 Shape = 0111010 -3259 0 # |ieta|=26 Shape = 0111011 -3260 0 # |ieta|=26 Shape = 0111100 -3261 1 # |ieta|=26 Shape = 0111101 -3262 0 # |ieta|=26 Shape = 0111110 -3263 0 # |ieta|=26 Shape = 0111111 -3264 0 # |ieta|=26 Shape = 1000000 -3265 0 # |ieta|=26 Shape = 1000001 -3266 1 # |ieta|=26 Shape = 1000010 -3267 1 # |ieta|=26 Shape = 1000011 -3268 0 # |ieta|=26 Shape = 1000100 -3269 0 # |ieta|=26 Shape = 1000101 -3270 0 # |ieta|=26 Shape = 1000110 -3271 1 # |ieta|=26 Shape = 1000111 -3272 0 # |ieta|=26 Shape = 1001000 -3273 0 # |ieta|=26 Shape = 1001001 -3274 1 # |ieta|=26 Shape = 1001010 -3275 1 # |ieta|=26 Shape = 1001011 -3276 0 # |ieta|=26 Shape = 1001100 -3277 1 # |ieta|=26 Shape = 1001101 -3278 1 # |ieta|=26 Shape = 1001110 -3279 0 # |ieta|=26 Shape = 1001111 -3280 0 # |ieta|=26 Shape = 1010000 -3281 0 # |ieta|=26 Shape = 1010001 -3282 1 # |ieta|=26 Shape = 1010010 -3283 1 # |ieta|=26 Shape = 1010011 -3284 0 # |ieta|=26 Shape = 1010100 -3285 0 # |ieta|=26 Shape = 1010101 -3286 0 # |ieta|=26 Shape = 1010110 -3287 1 # |ieta|=26 Shape = 1010111 -3288 0 # |ieta|=26 Shape = 1011000 -3289 0 # |ieta|=26 Shape = 1011001 -3290 1 # |ieta|=26 Shape = 1011010 -3291 1 # |ieta|=26 Shape = 1011011 -3292 0 # |ieta|=26 Shape = 1011100 -3293 0 # |ieta|=26 Shape = 1011101 -3294 1 # |ieta|=26 Shape = 1011110 -3295 0 # |ieta|=26 Shape = 1011111 -3296 0 # |ieta|=26 Shape = 1100000 -3297 0 # |ieta|=26 Shape = 1100001 -3298 0 # |ieta|=26 Shape = 1100010 -3299 0 # |ieta|=26 Shape = 1100011 -3300 0 # |ieta|=26 Shape = 1100100 -3301 0 # |ieta|=26 Shape = 1100101 -3302 0 # |ieta|=26 Shape = 1100110 -3303 1 # |ieta|=26 Shape = 1100111 -3304 0 # |ieta|=26 Shape = 1101000 -3305 0 # |ieta|=26 Shape = 1101001 -3306 0 # |ieta|=26 Shape = 1101010 -3307 1 # |ieta|=26 Shape = 1101011 -3308 0 # |ieta|=26 Shape = 1101100 -3309 0 # |ieta|=26 Shape = 1101101 -3310 0 # |ieta|=26 Shape = 1101110 -3311 0 # |ieta|=26 Shape = 1101111 -3312 0 # |ieta|=26 Shape = 1110000 -3313 0 # |ieta|=26 Shape = 1110001 -3314 0 # |ieta|=26 Shape = 1110010 -3315 1 # |ieta|=26 Shape = 1110011 -3316 0 # |ieta|=26 Shape = 1110100 -3317 0 # |ieta|=26 Shape = 1110101 -3318 0 # |ieta|=26 Shape = 1110110 -3319 1 # |ieta|=26 Shape = 1110111 -3320 0 # |ieta|=26 Shape = 1111000 -3321 0 # |ieta|=26 Shape = 1111001 -3322 0 # |ieta|=26 Shape = 1111010 -3323 0 # |ieta|=26 Shape = 1111011 -3324 0 # |ieta|=26 Shape = 1111100 -3325 0 # |ieta|=26 Shape = 1111101 -3326 0 # |ieta|=26 Shape = 1111110 -3327 1 # |ieta|=26 Shape = 1111111 -3328 1 # |ieta|=27 Shape = 0000000 -3329 1 # |ieta|=27 Shape = 0000001 -3330 1 # |ieta|=27 Shape = 0000010 -3331 1 # |ieta|=27 Shape = 0000011 -3332 0 # |ieta|=27 Shape = 0000100 -3333 1 # |ieta|=27 Shape = 0000101 -3334 0 # |ieta|=27 Shape = 0000110 -3335 1 # |ieta|=27 Shape = 0000111 -3336 1 # |ieta|=27 Shape = 0001000 -3337 1 # |ieta|=27 Shape = 0001001 -3338 1 # |ieta|=27 Shape = 0001010 -3339 1 # |ieta|=27 Shape = 0001011 -3340 1 # |ieta|=27 Shape = 0001100 -3341 1 # |ieta|=27 Shape = 0001101 -3342 1 # |ieta|=27 Shape = 0001110 -3343 1 # |ieta|=27 Shape = 0001111 -3344 0 # |ieta|=27 Shape = 0010000 -3345 0 # |ieta|=27 Shape = 0010001 -3346 1 # |ieta|=27 Shape = 0010010 -3347 1 # |ieta|=27 Shape = 0010011 -3348 0 # |ieta|=27 Shape = 0010100 -3349 0 # |ieta|=27 Shape = 0010101 -3350 0 # |ieta|=27 Shape = 0010110 -3351 1 # |ieta|=27 Shape = 0010111 -3352 1 # |ieta|=27 Shape = 0011000 -3353 1 # |ieta|=27 Shape = 0011001 -3354 1 # |ieta|=27 Shape = 0011010 -3355 1 # |ieta|=27 Shape = 0011011 -3356 1 # |ieta|=27 Shape = 0011100 -3357 1 # |ieta|=27 Shape = 0011101 -3358 1 # |ieta|=27 Shape = 0011110 -3359 1 # |ieta|=27 Shape = 0011111 -3360 0 # |ieta|=27 Shape = 0100000 -3361 1 # |ieta|=27 Shape = 0100001 -3362 0 # |ieta|=27 Shape = 0100010 -3363 1 # |ieta|=27 Shape = 0100011 -3364 0 # |ieta|=27 Shape = 0100100 -3365 1 # |ieta|=27 Shape = 0100101 -3366 0 # |ieta|=27 Shape = 0100110 -3367 1 # |ieta|=27 Shape = 0100111 -3368 0 # |ieta|=27 Shape = 0101000 -3369 1 # |ieta|=27 Shape = 0101001 -3370 0 # |ieta|=27 Shape = 0101010 -3371 1 # |ieta|=27 Shape = 0101011 -3372 0 # |ieta|=27 Shape = 0101100 -3373 1 # |ieta|=27 Shape = 0101101 -3374 0 # |ieta|=27 Shape = 0101110 -3375 1 # |ieta|=27 Shape = 0101111 -3376 0 # |ieta|=27 Shape = 0110000 -3377 0 # |ieta|=27 Shape = 0110001 -3378 0 # |ieta|=27 Shape = 0110010 -3379 1 # |ieta|=27 Shape = 0110011 -3380 0 # |ieta|=27 Shape = 0110100 -3381 0 # |ieta|=27 Shape = 0110101 -3382 0 # |ieta|=27 Shape = 0110110 -3383 1 # |ieta|=27 Shape = 0110111 -3384 0 # |ieta|=27 Shape = 0111000 -3385 1 # |ieta|=27 Shape = 0111001 -3386 0 # |ieta|=27 Shape = 0111010 -3387 0 # |ieta|=27 Shape = 0111011 -3388 0 # |ieta|=27 Shape = 0111100 -3389 1 # |ieta|=27 Shape = 0111101 -3390 0 # |ieta|=27 Shape = 0111110 -3391 0 # |ieta|=27 Shape = 0111111 -3392 0 # |ieta|=27 Shape = 1000000 -3393 0 # |ieta|=27 Shape = 1000001 -3394 1 # |ieta|=27 Shape = 1000010 -3395 1 # |ieta|=27 Shape = 1000011 -3396 0 # |ieta|=27 Shape = 1000100 -3397 0 # |ieta|=27 Shape = 1000101 -3398 0 # |ieta|=27 Shape = 1000110 -3399 1 # |ieta|=27 Shape = 1000111 -3400 0 # |ieta|=27 Shape = 1001000 -3401 0 # |ieta|=27 Shape = 1001001 -3402 1 # |ieta|=27 Shape = 1001010 -3403 1 # |ieta|=27 Shape = 1001011 -3404 0 # |ieta|=27 Shape = 1001100 -3405 1 # |ieta|=27 Shape = 1001101 -3406 1 # |ieta|=27 Shape = 1001110 -3407 0 # |ieta|=27 Shape = 1001111 -3408 0 # |ieta|=27 Shape = 1010000 -3409 0 # |ieta|=27 Shape = 1010001 -3410 1 # |ieta|=27 Shape = 1010010 -3411 1 # |ieta|=27 Shape = 1010011 -3412 0 # |ieta|=27 Shape = 1010100 -3413 0 # |ieta|=27 Shape = 1010101 -3414 0 # |ieta|=27 Shape = 1010110 -3415 1 # |ieta|=27 Shape = 1010111 -3416 0 # |ieta|=27 Shape = 1011000 -3417 0 # |ieta|=27 Shape = 1011001 -3418 1 # |ieta|=27 Shape = 1011010 -3419 1 # |ieta|=27 Shape = 1011011 -3420 0 # |ieta|=27 Shape = 1011100 -3421 0 # |ieta|=27 Shape = 1011101 -3422 1 # |ieta|=27 Shape = 1011110 -3423 0 # |ieta|=27 Shape = 1011111 -3424 0 # |ieta|=27 Shape = 1100000 -3425 0 # |ieta|=27 Shape = 1100001 -3426 0 # |ieta|=27 Shape = 1100010 -3427 0 # |ieta|=27 Shape = 1100011 -3428 0 # |ieta|=27 Shape = 1100100 -3429 0 # |ieta|=27 Shape = 1100101 -3430 0 # |ieta|=27 Shape = 1100110 -3431 1 # |ieta|=27 Shape = 1100111 -3432 0 # |ieta|=27 Shape = 1101000 -3433 0 # |ieta|=27 Shape = 1101001 -3434 0 # |ieta|=27 Shape = 1101010 -3435 1 # |ieta|=27 Shape = 1101011 -3436 0 # |ieta|=27 Shape = 1101100 -3437 0 # |ieta|=27 Shape = 1101101 -3438 0 # |ieta|=27 Shape = 1101110 -3439 0 # |ieta|=27 Shape = 1101111 -3440 0 # |ieta|=27 Shape = 1110000 -3441 0 # |ieta|=27 Shape = 1110001 -3442 0 # |ieta|=27 Shape = 1110010 -3443 1 # |ieta|=27 Shape = 1110011 -3444 0 # |ieta|=27 Shape = 1110100 -3445 0 # |ieta|=27 Shape = 1110101 -3446 0 # |ieta|=27 Shape = 1110110 -3447 1 # |ieta|=27 Shape = 1110111 -3448 0 # |ieta|=27 Shape = 1111000 -3449 0 # |ieta|=27 Shape = 1111001 -3450 0 # |ieta|=27 Shape = 1111010 -3451 0 # |ieta|=27 Shape = 1111011 -3452 0 # |ieta|=27 Shape = 1111100 -3453 0 # |ieta|=27 Shape = 1111101 -3454 0 # |ieta|=27 Shape = 1111110 -3455 1 # |ieta|=27 Shape = 1111111 -3456 1 # |ieta|=28 Shape = 0000000 -3457 1 # |ieta|=28 Shape = 0000001 -3458 1 # |ieta|=28 Shape = 0000010 -3459 1 # |ieta|=28 Shape = 0000011 -3460 0 # |ieta|=28 Shape = 0000100 -3461 1 # |ieta|=28 Shape = 0000101 -3462 0 # |ieta|=28 Shape = 0000110 -3463 1 # |ieta|=28 Shape = 0000111 -3464 1 # |ieta|=28 Shape = 0001000 -3465 1 # |ieta|=28 Shape = 0001001 -3466 1 # |ieta|=28 Shape = 0001010 -3467 1 # |ieta|=28 Shape = 0001011 -3468 1 # |ieta|=28 Shape = 0001100 -3469 1 # |ieta|=28 Shape = 0001101 -3470 1 # |ieta|=28 Shape = 0001110 -3471 1 # |ieta|=28 Shape = 0001111 -3472 0 # |ieta|=28 Shape = 0010000 -3473 0 # |ieta|=28 Shape = 0010001 -3474 1 # |ieta|=28 Shape = 0010010 -3475 1 # |ieta|=28 Shape = 0010011 -3476 0 # |ieta|=28 Shape = 0010100 -3477 0 # |ieta|=28 Shape = 0010101 -3478 0 # |ieta|=28 Shape = 0010110 -3479 1 # |ieta|=28 Shape = 0010111 -3480 1 # |ieta|=28 Shape = 0011000 -3481 1 # |ieta|=28 Shape = 0011001 -3482 1 # |ieta|=28 Shape = 0011010 -3483 1 # |ieta|=28 Shape = 0011011 -3484 1 # |ieta|=28 Shape = 0011100 -3485 1 # |ieta|=28 Shape = 0011101 -3486 1 # |ieta|=28 Shape = 0011110 -3487 1 # |ieta|=28 Shape = 0011111 -3488 0 # |ieta|=28 Shape = 0100000 -3489 1 # |ieta|=28 Shape = 0100001 -3490 0 # |ieta|=28 Shape = 0100010 -3491 0 # |ieta|=28 Shape = 0100011 -3492 0 # |ieta|=28 Shape = 0100100 -3493 1 # |ieta|=28 Shape = 0100101 -3494 0 # |ieta|=28 Shape = 0100110 -3495 1 # |ieta|=28 Shape = 0100111 -3496 0 # |ieta|=28 Shape = 0101000 -3497 1 # |ieta|=28 Shape = 0101001 -3498 0 # |ieta|=28 Shape = 0101010 -3499 1 # |ieta|=28 Shape = 0101011 -3500 0 # |ieta|=28 Shape = 0101100 -3501 1 # |ieta|=28 Shape = 0101101 -3502 0 # |ieta|=28 Shape = 0101110 -3503 1 # |ieta|=28 Shape = 0101111 -3504 0 # |ieta|=28 Shape = 0110000 -3505 0 # |ieta|=28 Shape = 0110001 -3506 0 # |ieta|=28 Shape = 0110010 -3507 1 # |ieta|=28 Shape = 0110011 -3508 0 # |ieta|=28 Shape = 0110100 -3509 0 # |ieta|=28 Shape = 0110101 -3510 0 # |ieta|=28 Shape = 0110110 -3511 1 # |ieta|=28 Shape = 0110111 -3512 0 # |ieta|=28 Shape = 0111000 -3513 1 # |ieta|=28 Shape = 0111001 -3514 0 # |ieta|=28 Shape = 0111010 -3515 0 # |ieta|=28 Shape = 0111011 -3516 0 # |ieta|=28 Shape = 0111100 -3517 1 # |ieta|=28 Shape = 0111101 -3518 0 # |ieta|=28 Shape = 0111110 -3519 0 # |ieta|=28 Shape = 0111111 -3520 0 # |ieta|=28 Shape = 1000000 -3521 0 # |ieta|=28 Shape = 1000001 -3522 1 # |ieta|=28 Shape = 1000010 -3523 0 # |ieta|=28 Shape = 1000011 -3524 0 # |ieta|=28 Shape = 1000100 -3525 0 # |ieta|=28 Shape = 1000101 -3526 0 # |ieta|=28 Shape = 1000110 -3527 1 # |ieta|=28 Shape = 1000111 -3528 0 # |ieta|=28 Shape = 1001000 -3529 0 # |ieta|=28 Shape = 1001001 -3530 1 # |ieta|=28 Shape = 1001010 -3531 1 # |ieta|=28 Shape = 1001011 -3532 0 # |ieta|=28 Shape = 1001100 -3533 1 # |ieta|=28 Shape = 1001101 -3534 1 # |ieta|=28 Shape = 1001110 -3535 0 # |ieta|=28 Shape = 1001111 -3536 0 # |ieta|=28 Shape = 1010000 -3537 0 # |ieta|=28 Shape = 1010001 -3538 1 # |ieta|=28 Shape = 1010010 -3539 1 # |ieta|=28 Shape = 1010011 -3540 0 # |ieta|=28 Shape = 1010100 -3541 0 # |ieta|=28 Shape = 1010101 -3542 0 # |ieta|=28 Shape = 1010110 -3543 1 # |ieta|=28 Shape = 1010111 -3544 0 # |ieta|=28 Shape = 1011000 -3545 0 # |ieta|=28 Shape = 1011001 -3546 1 # |ieta|=28 Shape = 1011010 -3547 1 # |ieta|=28 Shape = 1011011 -3548 0 # |ieta|=28 Shape = 1011100 -3549 0 # |ieta|=28 Shape = 1011101 -3550 1 # |ieta|=28 Shape = 1011110 -3551 0 # |ieta|=28 Shape = 1011111 -3552 0 # |ieta|=28 Shape = 1100000 -3553 0 # |ieta|=28 Shape = 1100001 -3554 0 # |ieta|=28 Shape = 1100010 -3555 0 # |ieta|=28 Shape = 1100011 -3556 0 # |ieta|=28 Shape = 1100100 -3557 0 # |ieta|=28 Shape = 1100101 -3558 0 # |ieta|=28 Shape = 1100110 -3559 1 # |ieta|=28 Shape = 1100111 -3560 0 # |ieta|=28 Shape = 1101000 -3561 0 # |ieta|=28 Shape = 1101001 -3562 0 # |ieta|=28 Shape = 1101010 -3563 1 # |ieta|=28 Shape = 1101011 -3564 0 # |ieta|=28 Shape = 1101100 -3565 0 # |ieta|=28 Shape = 1101101 -3566 0 # |ieta|=28 Shape = 1101110 -3567 0 # |ieta|=28 Shape = 1101111 -3568 0 # |ieta|=28 Shape = 1110000 -3569 0 # |ieta|=28 Shape = 1110001 -3570 0 # |ieta|=28 Shape = 1110010 -3571 1 # |ieta|=28 Shape = 1110011 -3572 0 # |ieta|=28 Shape = 1110100 -3573 0 # |ieta|=28 Shape = 1110101 -3574 0 # |ieta|=28 Shape = 1110110 -3575 1 # |ieta|=28 Shape = 1110111 -3576 0 # |ieta|=28 Shape = 1111000 -3577 0 # |ieta|=28 Shape = 1111001 -3578 0 # |ieta|=28 Shape = 1111010 -3579 0 # |ieta|=28 Shape = 1111011 -3580 0 # |ieta|=28 Shape = 1111100 -3581 0 # |ieta|=28 Shape = 1111101 -3582 0 # |ieta|=28 Shape = 1111110 -3583 1 # |ieta|=28 Shape = 1111111 -3584 1 # |ieta|=29 Shape = 0000000 -3585 1 # |ieta|=29 Shape = 0000001 -3586 1 # |ieta|=29 Shape = 0000010 -3587 1 # |ieta|=29 Shape = 0000011 -3588 0 # |ieta|=29 Shape = 0000100 -3589 1 # |ieta|=29 Shape = 0000101 -3590 0 # |ieta|=29 Shape = 0000110 -3591 1 # |ieta|=29 Shape = 0000111 -3592 1 # |ieta|=29 Shape = 0001000 -3593 1 # |ieta|=29 Shape = 0001001 -3594 1 # |ieta|=29 Shape = 0001010 -3595 1 # |ieta|=29 Shape = 0001011 -3596 1 # |ieta|=29 Shape = 0001100 -3597 1 # |ieta|=29 Shape = 0001101 -3598 1 # |ieta|=29 Shape = 0001110 -3599 1 # |ieta|=29 Shape = 0001111 -3600 0 # |ieta|=29 Shape = 0010000 -3601 0 # |ieta|=29 Shape = 0010001 -3602 1 # |ieta|=29 Shape = 0010010 -3603 1 # |ieta|=29 Shape = 0010011 -3604 0 # |ieta|=29 Shape = 0010100 -3605 0 # |ieta|=29 Shape = 0010101 -3606 0 # |ieta|=29 Shape = 0010110 -3607 1 # |ieta|=29 Shape = 0010111 -3608 1 # |ieta|=29 Shape = 0011000 -3609 1 # |ieta|=29 Shape = 0011001 -3610 1 # |ieta|=29 Shape = 0011010 -3611 1 # |ieta|=29 Shape = 0011011 -3612 1 # |ieta|=29 Shape = 0011100 -3613 1 # |ieta|=29 Shape = 0011101 -3614 1 # |ieta|=29 Shape = 0011110 -3615 1 # |ieta|=29 Shape = 0011111 -3616 0 # |ieta|=29 Shape = 0100000 -3617 1 # |ieta|=29 Shape = 0100001 -3618 0 # |ieta|=29 Shape = 0100010 -3619 0 # |ieta|=29 Shape = 0100011 -3620 0 # |ieta|=29 Shape = 0100100 -3621 1 # |ieta|=29 Shape = 0100101 -3622 0 # |ieta|=29 Shape = 0100110 -3623 1 # |ieta|=29 Shape = 0100111 -3624 0 # |ieta|=29 Shape = 0101000 -3625 1 # |ieta|=29 Shape = 0101001 -3626 0 # |ieta|=29 Shape = 0101010 -3627 1 # |ieta|=29 Shape = 0101011 -3628 0 # |ieta|=29 Shape = 0101100 -3629 1 # |ieta|=29 Shape = 0101101 -3630 0 # |ieta|=29 Shape = 0101110 -3631 1 # |ieta|=29 Shape = 0101111 -3632 0 # |ieta|=29 Shape = 0110000 -3633 0 # |ieta|=29 Shape = 0110001 -3634 0 # |ieta|=29 Shape = 0110010 -3635 1 # |ieta|=29 Shape = 0110011 -3636 0 # |ieta|=29 Shape = 0110100 -3637 0 # |ieta|=29 Shape = 0110101 -3638 0 # |ieta|=29 Shape = 0110110 -3639 1 # |ieta|=29 Shape = 0110111 -3640 0 # |ieta|=29 Shape = 0111000 -3641 1 # |ieta|=29 Shape = 0111001 -3642 0 # |ieta|=29 Shape = 0111010 -3643 0 # |ieta|=29 Shape = 0111011 -3644 0 # |ieta|=29 Shape = 0111100 -3645 1 # |ieta|=29 Shape = 0111101 -3646 0 # |ieta|=29 Shape = 0111110 -3647 0 # |ieta|=29 Shape = 0111111 -3648 0 # |ieta|=29 Shape = 1000000 -3649 0 # |ieta|=29 Shape = 1000001 -3650 1 # |ieta|=29 Shape = 1000010 -3651 0 # |ieta|=29 Shape = 1000011 -3652 0 # |ieta|=29 Shape = 1000100 -3653 0 # |ieta|=29 Shape = 1000101 -3654 0 # |ieta|=29 Shape = 1000110 -3655 1 # |ieta|=29 Shape = 1000111 -3656 0 # |ieta|=29 Shape = 1001000 -3657 0 # |ieta|=29 Shape = 1001001 -3658 1 # |ieta|=29 Shape = 1001010 -3659 1 # |ieta|=29 Shape = 1001011 -3660 0 # |ieta|=29 Shape = 1001100 -3661 1 # |ieta|=29 Shape = 1001101 -3662 1 # |ieta|=29 Shape = 1001110 -3663 0 # |ieta|=29 Shape = 1001111 -3664 0 # |ieta|=29 Shape = 1010000 -3665 0 # |ieta|=29 Shape = 1010001 -3666 1 # |ieta|=29 Shape = 1010010 -3667 1 # |ieta|=29 Shape = 1010011 -3668 0 # |ieta|=29 Shape = 1010100 -3669 0 # |ieta|=29 Shape = 1010101 -3670 0 # |ieta|=29 Shape = 1010110 -3671 1 # |ieta|=29 Shape = 1010111 -3672 0 # |ieta|=29 Shape = 1011000 -3673 0 # |ieta|=29 Shape = 1011001 -3674 1 # |ieta|=29 Shape = 1011010 -3675 1 # |ieta|=29 Shape = 1011011 -3676 0 # |ieta|=29 Shape = 1011100 -3677 0 # |ieta|=29 Shape = 1011101 -3678 1 # |ieta|=29 Shape = 1011110 -3679 0 # |ieta|=29 Shape = 1011111 -3680 0 # |ieta|=29 Shape = 1100000 -3681 0 # |ieta|=29 Shape = 1100001 -3682 0 # |ieta|=29 Shape = 1100010 -3683 0 # |ieta|=29 Shape = 1100011 -3684 0 # |ieta|=29 Shape = 1100100 -3685 0 # |ieta|=29 Shape = 1100101 -3686 0 # |ieta|=29 Shape = 1100110 -3687 1 # |ieta|=29 Shape = 1100111 -3688 0 # |ieta|=29 Shape = 1101000 -3689 0 # |ieta|=29 Shape = 1101001 -3690 0 # |ieta|=29 Shape = 1101010 -3691 1 # |ieta|=29 Shape = 1101011 -3692 0 # |ieta|=29 Shape = 1101100 -3693 0 # |ieta|=29 Shape = 1101101 -3694 0 # |ieta|=29 Shape = 1101110 -3695 0 # |ieta|=29 Shape = 1101111 -3696 0 # |ieta|=29 Shape = 1110000 -3697 0 # |ieta|=29 Shape = 1110001 -3698 0 # |ieta|=29 Shape = 1110010 -3699 1 # |ieta|=29 Shape = 1110011 -3700 0 # |ieta|=29 Shape = 1110100 -3701 0 # |ieta|=29 Shape = 1110101 -3702 0 # |ieta|=29 Shape = 1110110 -3703 1 # |ieta|=29 Shape = 1110111 -3704 0 # |ieta|=29 Shape = 1111000 -3705 0 # |ieta|=29 Shape = 1111001 -3706 0 # |ieta|=29 Shape = 1111010 -3707 0 # |ieta|=29 Shape = 1111011 -3708 0 # |ieta|=29 Shape = 1111100 -3709 0 # |ieta|=29 Shape = 1111101 -3710 0 # |ieta|=29 Shape = 1111110 -3711 1 # |ieta|=29 Shape = 1111111 -3712 1 # |ieta|=30 Shape = 0000000 -3713 1 # |ieta|=30 Shape = 0000001 -3714 1 # |ieta|=30 Shape = 0000010 -3715 1 # |ieta|=30 Shape = 0000011 -3716 0 # |ieta|=30 Shape = 0000100 -3717 1 # |ieta|=30 Shape = 0000101 -3718 0 # |ieta|=30 Shape = 0000110 -3719 1 # |ieta|=30 Shape = 0000111 -3720 1 # |ieta|=30 Shape = 0001000 -3721 1 # |ieta|=30 Shape = 0001001 -3722 1 # |ieta|=30 Shape = 0001010 -3723 1 # |ieta|=30 Shape = 0001011 -3724 1 # |ieta|=30 Shape = 0001100 -3725 1 # |ieta|=30 Shape = 0001101 -3726 1 # |ieta|=30 Shape = 0001110 -3727 1 # |ieta|=30 Shape = 0001111 -3728 0 # |ieta|=30 Shape = 0010000 -3729 0 # |ieta|=30 Shape = 0010001 -3730 1 # |ieta|=30 Shape = 0010010 -3731 1 # |ieta|=30 Shape = 0010011 -3732 0 # |ieta|=30 Shape = 0010100 -3733 0 # |ieta|=30 Shape = 0010101 -3734 0 # |ieta|=30 Shape = 0010110 -3735 1 # |ieta|=30 Shape = 0010111 -3736 1 # |ieta|=30 Shape = 0011000 -3737 1 # |ieta|=30 Shape = 0011001 -3738 1 # |ieta|=30 Shape = 0011010 -3739 1 # |ieta|=30 Shape = 0011011 -3740 1 # |ieta|=30 Shape = 0011100 -3741 1 # |ieta|=30 Shape = 0011101 -3742 1 # |ieta|=30 Shape = 0011110 -3743 1 # |ieta|=30 Shape = 0011111 -3744 0 # |ieta|=30 Shape = 0100000 -3745 1 # |ieta|=30 Shape = 0100001 -3746 0 # |ieta|=30 Shape = 0100010 -3747 0 # |ieta|=30 Shape = 0100011 -3748 0 # |ieta|=30 Shape = 0100100 -3749 1 # |ieta|=30 Shape = 0100101 -3750 0 # |ieta|=30 Shape = 0100110 -3751 1 # |ieta|=30 Shape = 0100111 -3752 0 # |ieta|=30 Shape = 0101000 -3753 1 # |ieta|=30 Shape = 0101001 -3754 0 # |ieta|=30 Shape = 0101010 -3755 1 # |ieta|=30 Shape = 0101011 -3756 0 # |ieta|=30 Shape = 0101100 -3757 1 # |ieta|=30 Shape = 0101101 -3758 0 # |ieta|=30 Shape = 0101110 -3759 1 # |ieta|=30 Shape = 0101111 -3760 0 # |ieta|=30 Shape = 0110000 -3761 0 # |ieta|=30 Shape = 0110001 -3762 0 # |ieta|=30 Shape = 0110010 -3763 1 # |ieta|=30 Shape = 0110011 -3764 0 # |ieta|=30 Shape = 0110100 -3765 0 # |ieta|=30 Shape = 0110101 -3766 0 # |ieta|=30 Shape = 0110110 -3767 1 # |ieta|=30 Shape = 0110111 -3768 0 # |ieta|=30 Shape = 0111000 -3769 1 # |ieta|=30 Shape = 0111001 -3770 0 # |ieta|=30 Shape = 0111010 -3771 0 # |ieta|=30 Shape = 0111011 -3772 0 # |ieta|=30 Shape = 0111100 -3773 1 # |ieta|=30 Shape = 0111101 -3774 0 # |ieta|=30 Shape = 0111110 -3775 0 # |ieta|=30 Shape = 0111111 -3776 0 # |ieta|=30 Shape = 1000000 -3777 0 # |ieta|=30 Shape = 1000001 -3778 1 # |ieta|=30 Shape = 1000010 -3779 0 # |ieta|=30 Shape = 1000011 -3780 0 # |ieta|=30 Shape = 1000100 -3781 0 # |ieta|=30 Shape = 1000101 -3782 0 # |ieta|=30 Shape = 1000110 -3783 1 # |ieta|=30 Shape = 1000111 -3784 0 # |ieta|=30 Shape = 1001000 -3785 0 # |ieta|=30 Shape = 1001001 -3786 1 # |ieta|=30 Shape = 1001010 -3787 1 # |ieta|=30 Shape = 1001011 -3788 0 # |ieta|=30 Shape = 1001100 -3789 1 # |ieta|=30 Shape = 1001101 -3790 1 # |ieta|=30 Shape = 1001110 -3791 0 # |ieta|=30 Shape = 1001111 -3792 0 # |ieta|=30 Shape = 1010000 -3793 0 # |ieta|=30 Shape = 1010001 -3794 1 # |ieta|=30 Shape = 1010010 -3795 1 # |ieta|=30 Shape = 1010011 -3796 0 # |ieta|=30 Shape = 1010100 -3797 0 # |ieta|=30 Shape = 1010101 -3798 0 # |ieta|=30 Shape = 1010110 -3799 1 # |ieta|=30 Shape = 1010111 -3800 0 # |ieta|=30 Shape = 1011000 -3801 0 # |ieta|=30 Shape = 1011001 -3802 1 # |ieta|=30 Shape = 1011010 -3803 1 # |ieta|=30 Shape = 1011011 -3804 0 # |ieta|=30 Shape = 1011100 -3805 0 # |ieta|=30 Shape = 1011101 -3806 1 # |ieta|=30 Shape = 1011110 -3807 0 # |ieta|=30 Shape = 1011111 -3808 0 # |ieta|=30 Shape = 1100000 -3809 0 # |ieta|=30 Shape = 1100001 -3810 0 # |ieta|=30 Shape = 1100010 -3811 0 # |ieta|=30 Shape = 1100011 -3812 0 # |ieta|=30 Shape = 1100100 -3813 0 # |ieta|=30 Shape = 1100101 -3814 0 # |ieta|=30 Shape = 1100110 -3815 1 # |ieta|=30 Shape = 1100111 -3816 0 # |ieta|=30 Shape = 1101000 -3817 0 # |ieta|=30 Shape = 1101001 -3818 0 # |ieta|=30 Shape = 1101010 -3819 1 # |ieta|=30 Shape = 1101011 -3820 0 # |ieta|=30 Shape = 1101100 -3821 0 # |ieta|=30 Shape = 1101101 -3822 0 # |ieta|=30 Shape = 1101110 -3823 0 # |ieta|=30 Shape = 1101111 -3824 0 # |ieta|=30 Shape = 1110000 -3825 0 # |ieta|=30 Shape = 1110001 -3826 0 # |ieta|=30 Shape = 1110010 -3827 1 # |ieta|=30 Shape = 1110011 -3828 0 # |ieta|=30 Shape = 1110100 -3829 0 # |ieta|=30 Shape = 1110101 -3830 0 # |ieta|=30 Shape = 1110110 -3831 1 # |ieta|=30 Shape = 1110111 -3832 0 # |ieta|=30 Shape = 1111000 -3833 0 # |ieta|=30 Shape = 1111001 -3834 0 # |ieta|=30 Shape = 1111010 -3835 0 # |ieta|=30 Shape = 1111011 -3836 0 # |ieta|=30 Shape = 1111100 -3837 0 # |ieta|=30 Shape = 1111101 -3838 0 # |ieta|=30 Shape = 1111110 -3839 1 # |ieta|=30 Shape = 1111111 -3840 1 # |ieta|=31 Shape = 0000000 -3841 1 # |ieta|=31 Shape = 0000001 -3842 1 # |ieta|=31 Shape = 0000010 -3843 1 # |ieta|=31 Shape = 0000011 -3844 0 # |ieta|=31 Shape = 0000100 -3845 1 # |ieta|=31 Shape = 0000101 -3846 0 # |ieta|=31 Shape = 0000110 -3847 1 # |ieta|=31 Shape = 0000111 -3848 1 # |ieta|=31 Shape = 0001000 -3849 1 # |ieta|=31 Shape = 0001001 -3850 1 # |ieta|=31 Shape = 0001010 -3851 1 # |ieta|=31 Shape = 0001011 -3852 1 # |ieta|=31 Shape = 0001100 -3853 1 # |ieta|=31 Shape = 0001101 -3854 1 # |ieta|=31 Shape = 0001110 -3855 1 # |ieta|=31 Shape = 0001111 -3856 0 # |ieta|=31 Shape = 0010000 -3857 0 # |ieta|=31 Shape = 0010001 -3858 1 # |ieta|=31 Shape = 0010010 -3859 1 # |ieta|=31 Shape = 0010011 -3860 0 # |ieta|=31 Shape = 0010100 -3861 0 # |ieta|=31 Shape = 0010101 -3862 0 # |ieta|=31 Shape = 0010110 -3863 1 # |ieta|=31 Shape = 0010111 -3864 1 # |ieta|=31 Shape = 0011000 -3865 1 # |ieta|=31 Shape = 0011001 -3866 1 # |ieta|=31 Shape = 0011010 -3867 1 # |ieta|=31 Shape = 0011011 -3868 1 # |ieta|=31 Shape = 0011100 -3869 1 # |ieta|=31 Shape = 0011101 -3870 1 # |ieta|=31 Shape = 0011110 -3871 1 # |ieta|=31 Shape = 0011111 -3872 0 # |ieta|=31 Shape = 0100000 -3873 1 # |ieta|=31 Shape = 0100001 -3874 0 # |ieta|=31 Shape = 0100010 -3875 0 # |ieta|=31 Shape = 0100011 -3876 0 # |ieta|=31 Shape = 0100100 -3877 1 # |ieta|=31 Shape = 0100101 -3878 0 # |ieta|=31 Shape = 0100110 -3879 1 # |ieta|=31 Shape = 0100111 -3880 0 # |ieta|=31 Shape = 0101000 -3881 1 # |ieta|=31 Shape = 0101001 -3882 0 # |ieta|=31 Shape = 0101010 -3883 1 # |ieta|=31 Shape = 0101011 -3884 0 # |ieta|=31 Shape = 0101100 -3885 1 # |ieta|=31 Shape = 0101101 -3886 0 # |ieta|=31 Shape = 0101110 -3887 1 # |ieta|=31 Shape = 0101111 -3888 0 # |ieta|=31 Shape = 0110000 -3889 0 # |ieta|=31 Shape = 0110001 -3890 0 # |ieta|=31 Shape = 0110010 -3891 1 # |ieta|=31 Shape = 0110011 -3892 0 # |ieta|=31 Shape = 0110100 -3893 0 # |ieta|=31 Shape = 0110101 -3894 0 # |ieta|=31 Shape = 0110110 -3895 1 # |ieta|=31 Shape = 0110111 -3896 0 # |ieta|=31 Shape = 0111000 -3897 1 # |ieta|=31 Shape = 0111001 -3898 0 # |ieta|=31 Shape = 0111010 -3899 0 # |ieta|=31 Shape = 0111011 -3900 0 # |ieta|=31 Shape = 0111100 -3901 1 # |ieta|=31 Shape = 0111101 -3902 0 # |ieta|=31 Shape = 0111110 -3903 0 # |ieta|=31 Shape = 0111111 -3904 0 # |ieta|=31 Shape = 1000000 -3905 0 # |ieta|=31 Shape = 1000001 -3906 1 # |ieta|=31 Shape = 1000010 -3907 0 # |ieta|=31 Shape = 1000011 -3908 0 # |ieta|=31 Shape = 1000100 -3909 0 # |ieta|=31 Shape = 1000101 -3910 0 # |ieta|=31 Shape = 1000110 -3911 1 # |ieta|=31 Shape = 1000111 -3912 0 # |ieta|=31 Shape = 1001000 -3913 0 # |ieta|=31 Shape = 1001001 -3914 1 # |ieta|=31 Shape = 1001010 -3915 1 # |ieta|=31 Shape = 1001011 -3916 0 # |ieta|=31 Shape = 1001100 -3917 1 # |ieta|=31 Shape = 1001101 -3918 1 # |ieta|=31 Shape = 1001110 -3919 0 # |ieta|=31 Shape = 1001111 -3920 0 # |ieta|=31 Shape = 1010000 -3921 0 # |ieta|=31 Shape = 1010001 -3922 1 # |ieta|=31 Shape = 1010010 -3923 1 # |ieta|=31 Shape = 1010011 -3924 0 # |ieta|=31 Shape = 1010100 -3925 0 # |ieta|=31 Shape = 1010101 -3926 0 # |ieta|=31 Shape = 1010110 -3927 1 # |ieta|=31 Shape = 1010111 -3928 0 # |ieta|=31 Shape = 1011000 -3929 0 # |ieta|=31 Shape = 1011001 -3930 1 # |ieta|=31 Shape = 1011010 -3931 1 # |ieta|=31 Shape = 1011011 -3932 0 # |ieta|=31 Shape = 1011100 -3933 0 # |ieta|=31 Shape = 1011101 -3934 1 # |ieta|=31 Shape = 1011110 -3935 0 # |ieta|=31 Shape = 1011111 -3936 0 # |ieta|=31 Shape = 1100000 -3937 0 # |ieta|=31 Shape = 1100001 -3938 0 # |ieta|=31 Shape = 1100010 -3939 0 # |ieta|=31 Shape = 1100011 -3940 0 # |ieta|=31 Shape = 1100100 -3941 0 # |ieta|=31 Shape = 1100101 -3942 0 # |ieta|=31 Shape = 1100110 -3943 1 # |ieta|=31 Shape = 1100111 -3944 0 # |ieta|=31 Shape = 1101000 -3945 0 # |ieta|=31 Shape = 1101001 -3946 0 # |ieta|=31 Shape = 1101010 -3947 1 # |ieta|=31 Shape = 1101011 -3948 0 # |ieta|=31 Shape = 1101100 -3949 0 # |ieta|=31 Shape = 1101101 -3950 0 # |ieta|=31 Shape = 1101110 -3951 0 # |ieta|=31 Shape = 1101111 -3952 0 # |ieta|=31 Shape = 1110000 -3953 0 # |ieta|=31 Shape = 1110001 -3954 0 # |ieta|=31 Shape = 1110010 -3955 1 # |ieta|=31 Shape = 1110011 -3956 0 # |ieta|=31 Shape = 1110100 -3957 0 # |ieta|=31 Shape = 1110101 -3958 0 # |ieta|=31 Shape = 1110110 -3959 1 # |ieta|=31 Shape = 1110111 -3960 0 # |ieta|=31 Shape = 1111000 -3961 0 # |ieta|=31 Shape = 1111001 -3962 0 # |ieta|=31 Shape = 1111010 -3963 0 # |ieta|=31 Shape = 1111011 -3964 0 # |ieta|=31 Shape = 1111100 -3965 0 # |ieta|=31 Shape = 1111101 -3966 0 # |ieta|=31 Shape = 1111110 -3967 1 # |ieta|=31 Shape = 1111111 -3968 1 # |ieta|=32 Shape = 0000000 -3969 1 # |ieta|=32 Shape = 0000001 -3970 1 # |ieta|=32 Shape = 0000010 -3971 1 # |ieta|=32 Shape = 0000011 -3972 0 # |ieta|=32 Shape = 0000100 -3973 1 # |ieta|=32 Shape = 0000101 -3974 0 # |ieta|=32 Shape = 0000110 -3975 1 # |ieta|=32 Shape = 0000111 -3976 1 # |ieta|=32 Shape = 0001000 -3977 1 # |ieta|=32 Shape = 0001001 -3978 1 # |ieta|=32 Shape = 0001010 -3979 1 # |ieta|=32 Shape = 0001011 -3980 1 # |ieta|=32 Shape = 0001100 -3981 1 # |ieta|=32 Shape = 0001101 -3982 1 # |ieta|=32 Shape = 0001110 -3983 1 # |ieta|=32 Shape = 0001111 -3984 0 # |ieta|=32 Shape = 0010000 -3985 0 # |ieta|=32 Shape = 0010001 -3986 1 # |ieta|=32 Shape = 0010010 -3987 1 # |ieta|=32 Shape = 0010011 -3988 0 # |ieta|=32 Shape = 0010100 -3989 0 # |ieta|=32 Shape = 0010101 -3990 0 # |ieta|=32 Shape = 0010110 -3991 1 # |ieta|=32 Shape = 0010111 -3992 1 # |ieta|=32 Shape = 0011000 -3993 1 # |ieta|=32 Shape = 0011001 -3994 1 # |ieta|=32 Shape = 0011010 -3995 1 # |ieta|=32 Shape = 0011011 -3996 1 # |ieta|=32 Shape = 0011100 -3997 1 # |ieta|=32 Shape = 0011101 -3998 1 # |ieta|=32 Shape = 0011110 -3999 1 # |ieta|=32 Shape = 0011111 -4000 0 # |ieta|=32 Shape = 0100000 -4001 1 # |ieta|=32 Shape = 0100001 -4002 0 # |ieta|=32 Shape = 0100010 -4003 0 # |ieta|=32 Shape = 0100011 -4004 0 # |ieta|=32 Shape = 0100100 -4005 1 # |ieta|=32 Shape = 0100101 -4006 0 # |ieta|=32 Shape = 0100110 -4007 1 # |ieta|=32 Shape = 0100111 -4008 0 # |ieta|=32 Shape = 0101000 -4009 1 # |ieta|=32 Shape = 0101001 -4010 0 # |ieta|=32 Shape = 0101010 -4011 1 # |ieta|=32 Shape = 0101011 -4012 0 # |ieta|=32 Shape = 0101100 -4013 1 # |ieta|=32 Shape = 0101101 -4014 0 # |ieta|=32 Shape = 0101110 -4015 1 # |ieta|=32 Shape = 0101111 -4016 0 # |ieta|=32 Shape = 0110000 -4017 0 # |ieta|=32 Shape = 0110001 -4018 0 # |ieta|=32 Shape = 0110010 -4019 1 # |ieta|=32 Shape = 0110011 -4020 0 # |ieta|=32 Shape = 0110100 -4021 0 # |ieta|=32 Shape = 0110101 -4022 0 # |ieta|=32 Shape = 0110110 -4023 1 # |ieta|=32 Shape = 0110111 -4024 0 # |ieta|=32 Shape = 0111000 -4025 1 # |ieta|=32 Shape = 0111001 -4026 0 # |ieta|=32 Shape = 0111010 -4027 0 # |ieta|=32 Shape = 0111011 -4028 0 # |ieta|=32 Shape = 0111100 -4029 1 # |ieta|=32 Shape = 0111101 -4030 0 # |ieta|=32 Shape = 0111110 -4031 0 # |ieta|=32 Shape = 0111111 -4032 0 # |ieta|=32 Shape = 1000000 -4033 0 # |ieta|=32 Shape = 1000001 -4034 1 # |ieta|=32 Shape = 1000010 -4035 0 # |ieta|=32 Shape = 1000011 -4036 0 # |ieta|=32 Shape = 1000100 -4037 0 # |ieta|=32 Shape = 1000101 -4038 0 # |ieta|=32 Shape = 1000110 -4039 1 # |ieta|=32 Shape = 1000111 -4040 0 # |ieta|=32 Shape = 1001000 -4041 0 # |ieta|=32 Shape = 1001001 -4042 1 # |ieta|=32 Shape = 1001010 -4043 1 # |ieta|=32 Shape = 1001011 -4044 0 # |ieta|=32 Shape = 1001100 -4045 1 # |ieta|=32 Shape = 1001101 -4046 1 # |ieta|=32 Shape = 1001110 -4047 0 # |ieta|=32 Shape = 1001111 -4048 0 # |ieta|=32 Shape = 1010000 -4049 0 # |ieta|=32 Shape = 1010001 -4050 1 # |ieta|=32 Shape = 1010010 -4051 1 # |ieta|=32 Shape = 1010011 -4052 0 # |ieta|=32 Shape = 1010100 -4053 0 # |ieta|=32 Shape = 1010101 -4054 0 # |ieta|=32 Shape = 1010110 -4055 1 # |ieta|=32 Shape = 1010111 -4056 0 # |ieta|=32 Shape = 1011000 -4057 0 # |ieta|=32 Shape = 1011001 -4058 1 # |ieta|=32 Shape = 1011010 -4059 1 # |ieta|=32 Shape = 1011011 -4060 0 # |ieta|=32 Shape = 1011100 -4061 0 # |ieta|=32 Shape = 1011101 -4062 1 # |ieta|=32 Shape = 1011110 -4063 0 # |ieta|=32 Shape = 1011111 -4064 0 # |ieta|=32 Shape = 1100000 -4065 0 # |ieta|=32 Shape = 1100001 -4066 0 # |ieta|=32 Shape = 1100010 -4067 0 # |ieta|=32 Shape = 1100011 -4068 0 # |ieta|=32 Shape = 1100100 -4069 0 # |ieta|=32 Shape = 1100101 -4070 0 # |ieta|=32 Shape = 1100110 -4071 1 # |ieta|=32 Shape = 1100111 -4072 0 # |ieta|=32 Shape = 1101000 -4073 0 # |ieta|=32 Shape = 1101001 -4074 0 # |ieta|=32 Shape = 1101010 -4075 1 # |ieta|=32 Shape = 1101011 -4076 0 # |ieta|=32 Shape = 1101100 -4077 0 # |ieta|=32 Shape = 1101101 -4078 0 # |ieta|=32 Shape = 1101110 -4079 0 # |ieta|=32 Shape = 1101111 -4080 0 # |ieta|=32 Shape = 1110000 -4081 0 # |ieta|=32 Shape = 1110001 -4082 0 # |ieta|=32 Shape = 1110010 -4083 1 # |ieta|=32 Shape = 1110011 -4084 0 # |ieta|=32 Shape = 1110100 -4085 0 # |ieta|=32 Shape = 1110101 -4086 0 # |ieta|=32 Shape = 1110110 -4087 1 # |ieta|=32 Shape = 1110111 -4088 0 # |ieta|=32 Shape = 1111000 -4089 0 # |ieta|=32 Shape = 1111001 -4090 0 # |ieta|=32 Shape = 1111010 -4091 0 # |ieta|=32 Shape = 1111011 -4092 0 # |ieta|=32 Shape = 1111100 -4093 0 # |ieta|=32 Shape = 1111101 -4094 0 # |ieta|=32 Shape = 1111110 -4095 1 # |ieta|=32 Shape = 1111111 diff --git a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelA.txt b/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelA.txt deleted file mode 100644 index e6c5c87ef8e75..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelA.txt +++ /dev/null @@ -1,135 +0,0 @@ -#Min 0 -#Max 2 -#CutOff 100 -#First value E+H (directly in GeV) Second number is the multiplicate coefficient on 9 bits between Min and Max -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 7 9
-0 40 -1 40 -2 40 -3 40 -4 40 -5 80 -6 120 -7 162 -8 205 -9 250 -10 287 -11 316 -12 342 -13 362 -14 382 -15 398 -16 414 -17 424 -18 434 -19 439 -20 444 -21 445 -22 445 -23 443 -24 440 -25 436 -26 432 -27 428 -28 424 -29 420 -30 416 -31 413 -32 410 -33 407 -34 404 -35 402 -36 399 -37 396 -38 393 -39 391 -40 388 -41 385 -42 382 -43 380 -44 377 -45 375 -46 372 -47 370 -48 368 -49 366 -50 364 -51 362 -52 360 -53 358 -54 356 -55 355 -56 353 -57 351 -58 350 -59 348 -60 346 -61 345 -62 343 -63 342 -64 341 -65 339 -66 338 -67 337 -68 336 -69 335 -70 334 -71 333 -72 332 -73 331 -74 330 -75 329 -76 328 -77 327 -78 326 -79 325 -80 324 -81 323 -82 323 -83 322 -84 321 -85 320 -86 320 -87 319 -88 319 -89 318 -90 317 -91 317 -92 316 -93 315 -94 315 -95 314 -96 313 -97 313 -98 312 -99 312 -100 312 -101 312 -102 312 -103 312 -104 312 -105 312 -106 312 -107 312 -108 312 -109 312 -110 312 -111 312 -112 312 -113 312 -114 312 -115 312 -116 312 -117 312 -118 312 -119 312 -120 312 -121 312 -122 312 -123 312 -124 312 -125 312 -126 312 -127 312 diff --git a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelB.txt b/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelB.txt deleted file mode 100644 index 2457dc5a13c03..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelB.txt +++ /dev/null @@ -1,135 +0,0 @@ -#Min 0 -#Max 2 -#CutOff 100 -#First value E+H (directly in GeV) Second number is the multiplicate coefficient on 9 bits between Min and Max -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 7 9
-0 83 -1 83 -2 83 -3 83 -4 83 -5 161 -6 231 -7 289 -8 333 -9 363 -10 379 -11 387 -12 393 -13 395 -14 397 -15 397 -16 397 -17 396 -18 394 -19 392 -20 390 -21 388 -22 386 -23 383 -24 381 -25 378 -26 376 -27 373 -28 370 -29 368 -30 365 -31 363 -32 361 -33 359 -34 357 -35 355 -36 353 -37 351 -38 350 -39 348 -40 347 -41 345 -42 344 -43 343 -44 341 -45 340 -46 339 -47 338 -48 337 -49 335 -50 334 -51 333 -52 332 -53 331 -54 329 -55 328 -56 327 -57 326 -58 325 -59 324 -60 323 -61 323 -62 322 -63 321 -64 320 -65 320 -66 319 -67 318 -68 317 -69 317 -70 316 -71 316 -72 315 -73 315 -74 314 -75 314 -76 313 -77 312 -78 312 -79 311 -80 310 -81 309 -82 308 -83 307 -84 307 -85 306 -86 305 -87 305 -88 305 -89 305 -90 305 -91 305 -92 305 -93 305 -94 306 -95 305 -96 305 -97 304 -98 304 -99 303 -100 303 -101 303 -102 303 -103 303 -104 303 -105 303 -106 303 -107 303 -108 303 -109 303 -110 303 -111 303 -112 303 -113 303 -114 303 -115 303 -116 303 -117 303 -118 303 -119 303 -120 303 -121 303 -122 303 -123 303 -124 303 -125 303 -126 303 -127 303 diff --git a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelC.txt b/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelC.txt deleted file mode 100644 index b2c60c4cb9aaa..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelC.txt +++ /dev/null @@ -1,135 +0,0 @@ -#Min 0 -#Max 2 -#CutOff 100 -#First value E+H (directly in GeV) Second number is the multiplicate coefficient on 9 bits between Min and Max -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 7 9
-0 93 -1 93 -2 93 -3 93 -4 93 -5 179 -6 252 -7 308 -8 347 -9 371 -10 381 -11 386 -12 389 -13 390 -14 390 -15 389 -16 388 -17 386 -18 384 -19 381 -20 378 -21 374 -22 371 -23 367 -24 362 -25 358 -26 354 -27 350 -28 346 -29 342 -30 338 -31 335 -32 331 -33 328 -34 325 -35 322 -36 319 -37 316 -38 314 -39 311 -40 309 -41 307 -42 304 -43 302 -44 300 -45 299 -46 297 -47 295 -48 293 -49 291 -50 289 -51 288 -52 286 -53 284 -54 283 -55 281 -56 280 -57 278 -58 277 -59 276 -60 275 -61 274 -62 273 -63 273 -64 272 -65 272 -66 272 -67 271 -68 271 -69 270 -70 270 -71 269 -72 269 -73 268 -74 267 -75 266 -76 265 -77 264 -78 263 -79 263 -80 262 -81 261 -82 261 -83 261 -84 261 -85 261 -86 261 -87 262 -88 262 -89 262 -90 263 -91 263 -92 264 -93 264 -94 264 -95 264 -96 264 -97 264 -98 263 -99 263 -100 263 -101 263 -102 263 -103 263 -104 263 -105 263 -106 263 -107 263 -108 263 -109 263 -110 263 -111 263 -112 263 -113 263 -114 263 -115 263 -116 263 -117 263 -118 263 -119 263 -120 263 -121 263 -122 263 -123 263 -124 263 -125 263 -126 263 -127 263 diff --git a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsA.txt b/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsA.txt deleted file mode 100644 index 4044a2f1dd594..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsA.txt +++ /dev/null @@ -1,135 +0,0 @@ -#Min 0 -#Max 2 -#CutOff 100 -#First value E+H (directly in GeV) Second number is the multiplicate coefficient on 9 bits between Min and Max -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 7 9
-0 39 -1 39 -2 39 -3 39 -4 39 -5 83 -6 134 -7 189 -8 249 -9 309 -10 356 -11 391 -12 421 -13 443 -14 465 -15 482 -16 498 -17 509 -18 520 -19 526 -20 532 -21 534 -22 535 -23 534 -24 532 -25 528 -26 524 -27 519 -28 514 -29 509 -30 504 -31 499 -32 494 -33 489 -34 485 -35 480 -36 476 -37 472 -38 468 -39 465 -40 461 -41 458 -42 455 -43 452 -44 449 -45 446 -46 444 -47 441 -48 439 -49 436 -50 434 -51 432 -52 429 -53 427 -54 425 -55 422 -56 420 -57 417 -58 415 -59 413 -60 410 -61 408 -62 406 -63 404 -64 401 -65 399 -66 398 -67 396 -68 394 -69 393 -70 392 -71 391 -72 390 -73 389 -74 388 -75 388 -76 387 -77 386 -78 386 -79 385 -80 384 -81 382 -82 381 -83 380 -84 378 -85 377 -86 375 -87 373 -88 372 -89 370 -90 369 -91 368 -92 367 -93 366 -94 365 -95 364 -96 363 -97 362 -98 361 -99 360 -100 360 -101 360 -102 360 -103 360 -104 360 -105 360 -106 360 -107 360 -108 360 -109 360 -110 360 -111 360 -112 360 -113 360 -114 360 -115 360 -116 360 -117 360 -118 360 -119 360 -120 360 -121 360 -122 360 -123 360 -124 360 -125 360 -126 360 -127 360 diff --git a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsB.txt b/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsB.txt deleted file mode 100644 index 82b19abdcb6be..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsB.txt +++ /dev/null @@ -1,135 +0,0 @@ -#Min 0 -#Max 2 -#CutOff 100 -#First value E+H (directly in GeV) Second number is the multiplicate coefficient on 9 bits between Min and Max -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 7 9
-0 81 -1 81 -2 81 -3 81 -4 81 -5 159 -6 229 -7 285 -8 329 -9 364 -10 386 -11 400 -12 411 -13 419 -14 426 -15 431 -16 436 -17 439 -18 441 -19 441 -20 442 -21 440 -22 438 -23 435 -24 433 -25 429 -26 425 -27 422 -28 418 -29 414 -30 410 -31 407 -32 404 -33 401 -34 398 -35 395 -36 392 -37 390 -38 387 -39 385 -40 383 -41 381 -42 378 -43 376 -44 374 -45 372 -46 370 -47 368 -48 366 -49 364 -50 362 -51 361 -52 359 -53 358 -54 356 -55 355 -56 354 -57 353 -58 352 -59 352 -60 351 -61 350 -62 350 -63 349 -64 349 -65 348 -66 348 -67 347 -68 346 -69 345 -70 344 -71 343 -72 341 -73 340 -74 338 -75 337 -76 335 -77 334 -78 333 -79 332 -80 331 -81 330 -82 329 -83 329 -84 328 -85 328 -86 327 -87 327 -88 327 -89 327 -90 327 -91 326 -92 326 -93 326 -94 325 -95 325 -96 324 -97 324 -98 323 -99 323 -100 323 -101 323 -102 323 -103 323 -104 323 -105 323 -106 323 -107 323 -108 323 -109 323 -110 323 -111 323 -112 323 -113 323 -114 323 -115 323 -116 323 -117 323 -118 323 -119 323 -120 323 -121 323 -122 323 -123 323 -124 323 -125 323 -126 323 -127 323 diff --git a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsC.txt b/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsC.txt deleted file mode 100644 index 16e0b76139eab..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsC.txt +++ /dev/null @@ -1,135 +0,0 @@ -#Min 0 -#Max 2 -#CutOff 100 -#First value E+H (directly in GeV) Second number is the multiplicate coefficient on 9 bits between Min and Max -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 7 9
-0 87 -1 87 -2 87 -3 87 -4 87 -5 169 -6 240 -7 293 -8 330 -9 355 -10 368 -11 375 -12 381 -13 384 -14 388 -15 389 -16 391 -17 392 -18 392 -19 391 -20 390 -21 387 -22 384 -23 380 -24 377 -25 372 -26 367 -27 362 -28 357 -29 352 -30 347 -31 342 -32 337 -33 333 -34 328 -35 324 -36 320 -37 317 -38 314 -39 311 -40 308 -41 305 -42 302 -43 300 -44 298 -45 296 -46 294 -47 293 -48 291 -49 290 -50 288 -51 287 -52 286 -53 286 -54 285 -55 284 -56 284 -57 283 -58 283 -59 282 -60 282 -61 281 -62 280 -63 280 -64 279 -65 278 -66 277 -67 276 -68 275 -69 274 -70 273 -71 273 -72 272 -73 271 -74 270 -75 270 -76 270 -77 270 -78 270 -79 270 -80 270 -81 270 -82 270 -83 270 -84 270 -85 270 -86 269 -87 269 -88 269 -89 268 -90 267 -91 267 -92 266 -93 265 -94 264 -95 263 -96 262 -97 261 -98 260 -99 259 -100 259 -101 259 -102 259 -103 259 -104 259 -105 259 -106 259 -107 259 -108 259 -109 259 -110 259 -111 259 -112 259 -113 259 -114 259 -115 259 -116 259 -117 259 -118 259 -119 259 -120 259 -121 259 -122 259 -123 259 -124 259 -125 259 -126 259 -127 259 diff --git a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEta.txt b/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEta.txt deleted file mode 100644 index 7dd8e0fc9a987..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEta.txt +++ /dev/null @@ -1,70 +0,0 @@ -#Min 0.5 -#Max 1.5 -#First value is ieta from 0 to 55. Second number is the multiplicate coefficient on 9 bits between Min and Max -#anything after # is ignored with the exception of the header -#the header is first valid line starting with #
versionStr(unused but may be in future) nrBitsAddress nrBitsData
-#
V1 6 9
-0 162 -1 162 -2 162 -3 162 -4 162 -5 162 -6 153 -7 153 -8 153 -9 153 -10 153 -11 206 -12 206 -13 206 -14 206 -15 206 -16 201 -17 204 -18 199 -19 185 -20 178 -21 185 -22 185 -23 165 -24 170 -25 173 -26 167 -27 170 -28 168 -29 173 -30 172 -31 170 -32 175 -33 179 -34 169 -35 184 -36 187 -37 179 -38 186 -39 193 -40 206 -41 206 -42 206 -43 206 -44 206 -45 157 -46 157 -47 157 -48 157 -49 157 -50 157 -51 175 -52 175 -53 175 -54 175 -55 175 -56 256 -57 256 -58 256 -59 256 -60 256 -61 256 -62 256 -63 256 diff --git a/L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt b/L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt deleted file mode 100644 index 6c5349164aff8..0000000000000 --- a/L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt +++ /dev/null @@ -1 +0,0 @@ -#
V1 32 8
\ No newline at end of file diff --git a/L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h b/L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h deleted file mode 100644 index 4d17550099031..0000000000000 --- a/L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h +++ /dev/null @@ -1,46 +0,0 @@ -// CaloParamsStage1.h -// Author: R. Alex Barbieri -// -// Wrapper class for CaloParams and Et scales - -#include "CondFormats/L1TObjects/interface/CaloParams.h" - -#include "CondFormats/L1TObjects/interface/L1CaloEtScale.h" -#include "CondFormats/DataRecord/interface/L1EmEtScaleRcd.h" -#include "CondFormats/DataRecord/interface/L1JetEtScaleRcd.h" -#include "CondFormats/DataRecord/interface/L1HtMissScaleRcd.h" -#include "CondFormats/DataRecord/interface/L1HfRingEtScaleRcd.h" - -#ifndef CaloParamsStage1_h -#define CaloParamsStage1_h - -namespace l1t { - - class CaloParamsStage1 : public CaloParams { - - public: - CaloParamsStage1() {} - CaloParamsStage1(const CaloParams); - ~CaloParamsStage1() {} - - L1CaloEtScale emScale() { return emScale_; } - void setEmScale(L1CaloEtScale emScale) { emScale_ = emScale; } - L1CaloEtScale jetScale() { return jetScale_; } - void setJetScale(L1CaloEtScale jetScale) { jetScale_ = jetScale; } - L1CaloEtScale HtMissScale() {return HtMissScale_;} - L1CaloEtScale HfRingScale() {return HfRingScale_;} - void setHtMissScale(L1CaloEtScale HtMissScale){HtMissScale_ = HtMissScale;} - void setHfRingScale(L1CaloEtScale HfRingScale){HfRingScale_ = HfRingScale;} - - - - private: - L1CaloEtScale emScale_; - L1CaloEtScale jetScale_; - L1CaloEtScale HtMissScale_; - L1CaloEtScale HfRingScale_; - - }; -} - -#endif diff --git a/L1Trigger/L1TCalorimeter/interface/CaloTools.h b/L1Trigger/L1TCalorimeter/interface/CaloTools.h index e8a87bb8b6afb..4aa9891699196 100644 --- a/L1Trigger/L1TCalorimeter/interface/CaloTools.h +++ b/L1Trigger/L1TCalorimeter/interface/CaloTools.h @@ -66,19 +66,11 @@ namespace l1t { //hwEt is either ECAL, HCAL or CALO (ECAL+HCAL) Et static size_t calNrTowers(int iEtaMin,int iEtaMax,int iPhiMin,int iPhiMax,const std::vector& towers,int minHwEt,int maxHwEt,SubDet etMode=CALO); - // physical eta/phi position and sizes of trigger towers - static float towerEta(int ieta); - static float towerPhi(int ieta, int iphi); - static float towerEtaSize(int ieta); - static float towerPhiSize(int ieta); private: - // trigger tower eta boundaries - static std::pair towerEtaBounds(int ieta); - static const l1t::CaloTower nullTower_; //to return when we need to return a tower which was not found/invalid rather than throwing an exception - static const l1t::CaloCluster nullCluster_; //to return when we need to return a cluster which was not found/invalid rather than throwing an exception + static const l1t::CaloCluster nullCluster_; //to return when we need to return a tower which was not found/invalid rather than throwing an exception }; } diff --git a/L1Trigger/L1TCalorimeter/interface/HardwareSortingMethods.h b/L1Trigger/L1TCalorimeter/interface/HardwareSortingMethods.h deleted file mode 100644 index 4221559b3d4fb..0000000000000 --- a/L1Trigger/L1TCalorimeter/interface/HardwareSortingMethods.h +++ /dev/null @@ -1,20 +0,0 @@ -// HardwareSortingMethods.h -// Authors: R. Alex Barbieri -// Ben Kreis -// -// This file should contain the C++ equivalents of the sorting -// algorithms used in Hardware. Most C++ methods originally written by -// Ben Kries. - -#ifndef HARDWARESORTINGMETHODS_H -#define HARDWARESORTINGMETHODS_H - -#include "DataFormats/L1Trigger/interface/Jet.h" -#include - -namespace l1t { - void SortJets(std::vector * input, - std::vector * output); -} - -#endif diff --git a/L1Trigger/L1TCalorimeter/interface/JetCalibrationMethods.h b/L1Trigger/L1TCalorimeter/interface/JetCalibrationMethods.h index a0f80022ea083..d2568db0d4b8b 100644 --- a/L1Trigger/L1TCalorimeter/interface/JetCalibrationMethods.h +++ b/L1Trigger/L1TCalorimeter/interface/JetCalibrationMethods.h @@ -6,19 +6,19 @@ #ifndef JETCALIBRATIONMETHODS_H #define JETCALIBRATIONMETHODS_H -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" +#include "CondFormats/L1TObjects/interface/CaloParams.h" #include "DataFormats/L1Trigger/interface/Jet.h" #include namespace l1t { - - void JetCalibration(std::vector * uncalibjets, - std::vector jetCalibrationParams, - std::vector * jets, - std::string jetCalibrationType, - double jetLSB); - + + void JetCalibration1(std::vector * uncalibjets, + std::vector jetSF, + std::vector * jets, + bool applyJetCalibration, + double jetLSB); + } #endif diff --git a/L1Trigger/L1TCalorimeter/interface/JetFinderMethods.h b/L1Trigger/L1TCalorimeter/interface/JetFinderMethods.h index b0b9c75b71725..21e117932222d 100644 --- a/L1Trigger/L1TCalorimeter/interface/JetFinderMethods.h +++ b/L1Trigger/L1TCalorimeter/interface/JetFinderMethods.h @@ -20,10 +20,6 @@ namespace l1t { int deltaGctPhi(const CaloRegion & region, const CaloRegion & neighbor); void slidingWindowJetFinder(const int, const std::vector * regions, std::vector * uncalibjets); - void TwelveByTwelveFinder(const int, const std::vector * regions, - std::vector * uncalibjets); - void passThroughJets(const std::vector * regions, - std::vector * uncalibjets); } #endif diff --git a/L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h b/L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h index d425ba9a94aca..f3b6e67cc0575 100644 --- a/L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h +++ b/L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h @@ -11,8 +11,7 @@ #include "DataFormats/L1TCalorimeter/interface/CaloRegion.h" #include "DataFormats/L1CaloTrigger/interface/L1CaloRegionDetId.h" #include "DataFormats/L1TCalorimeter/interface/CaloEmCand.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" +#include "CondFormats/L1TObjects/interface/CaloParams.h" #include @@ -21,16 +20,13 @@ namespace l1t { void HICaloRingSubtraction(const std::vector & regions, std::vector *subRegions); - void simpleHWSubtraction(const std::vector & regions, - std::vector *subRegions); - - void RegionCorrection(const std::vector & regions, - const std::vector & EMCands, + void RegionCorrection(const std::vector & regions, + const std::vector & EMCands, std::vector *subRegions, - std::vector regionPUSparams, - std::string regionPUSType); - + std::vector regionSubtraction, + bool PUSubtract); + } #endif diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EGammaAlgorithm.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EGammaAlgorithm.h index 26d027992690c..844d93ba6d837 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EGammaAlgorithm.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EGammaAlgorithm.h @@ -36,6 +36,8 @@ namespace l1t { std::vector* egammas) = 0; virtual ~Stage1Layer2EGammaAlgorithm(){}; + bool PUSubtract; + std::vector regionSubtraction; private: // double Isolation(int ieta, int iphi, diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EGammaAlgorithmImp.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EGammaAlgorithmImp.h index 4b8d2b9d3de7a..3c93b6f6a16f7 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EGammaAlgorithmImp.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EGammaAlgorithmImp.h @@ -19,27 +19,31 @@ #define L1TCALOSTAGE1EGAMMAALGORITHMIMP_H #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2EGammaAlgorithm.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" +#include "CondFormats/L1TObjects/interface/CaloParams.h" namespace l1t { class Stage1Layer2EGammaAlgorithmImpPP : public Stage1Layer2EGammaAlgorithm { public: - Stage1Layer2EGammaAlgorithmImpPP(CaloParamsStage1* params); + Stage1Layer2EGammaAlgorithmImpPP(CaloParams* params); virtual ~Stage1Layer2EGammaAlgorithmImpPP(); virtual void processEvent(const std::vector & EMCands, const std::vector & regions, const std::vector * jets, std::vector* egammas); private: - CaloParamsStage1* const params_; + CaloParams* const params_; double Isolation(int ieta, int iphi, const std::vector & regions) const; double HoverE(int et, int ieta, int iphi, const std::vector & regions) const; double AssociatedJetPt(int ieta, int iphi, const std::vector * jets) const; + int egSeedThreshold; + int jetSeedThreshold; + double emScale, jetScale; + double egRelativeJetIsolationCut; + // double HoverECut; }; } diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithm.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithm.h index 5fb0ff78a7cfe..c3003aabfd551 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithm.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithm.h @@ -28,8 +28,8 @@ namespace l1t { std::vector * sums) = 0; virtual ~Stage1Layer2EtSumAlgorithm(){}; - std::string regionPUSType; - std::vector regionPUSParams; + bool PUSubtract; + std::vector regionSubtraction; }; } diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithmImp.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithmImp.h index 713cb4c0f6969..2657d4ab5a802 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithmImp.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithmImp.h @@ -19,48 +19,32 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithm.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" - +#include "CondFormats/L1TObjects/interface/CaloParams.h" namespace l1t { class Stage1Layer2EtSumAlgorithmImpPP : public Stage1Layer2EtSumAlgorithm { public: - Stage1Layer2EtSumAlgorithmImpPP(CaloParamsStage1* params); + Stage1Layer2EtSumAlgorithmImpPP(const CaloParams*); virtual ~Stage1Layer2EtSumAlgorithmImpPP(); virtual void processEvent(const std::vector & regions, const std::vector & EMCands, std::vector * sums); - int etSumEtaMinHt; - int etSumEtaMaxHt; - double etSumEtThresholdHt; - - int etSumEtaMinEt; - int etSumEtaMaxEt; - double etSumEtThresholdEt; + // input parameters + int regionETCutForHT; + int regionETCutForMET; + int minGctEtaForSums; + int maxGctEtaForSums; - double jetLsb; + double emScale,jetScale; private: - CaloParamsStage1* const params_; double regionPhysicalEt(const l1t::CaloRegion&) const; std::vector sinPhi; std::vector cosPhi; }; - - /* class Stage1Layer2CentralityAlgorithm : public Stage1Layer2EtSumAlgorithm { */ - /* public: */ - /* Stage1Layer2CentralityAlgorithm(CaloParamsStage1* params); */ - /* virtual ~Stage1Layer2CentralityAlgorithm(); */ - /* virtual void processEvent(const std::vector & regions, */ - /* const std::vector & EMCands, */ - /* std::vector * sums); */ - /* private: */ - /* CaloParamsStage1* const params_; */ - /* }; */ } #endif diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2FirmwareFactory.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2FirmwareFactory.h index a8b6c0cc9ca3e..e62600baa5e37 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2FirmwareFactory.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2FirmwareFactory.h @@ -13,9 +13,7 @@ #include -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" - +#include "CondFormats/L1TObjects/interface/CaloParams.h" #include "FWCore/Framework/interface/Event.h" #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessor.h" @@ -26,8 +24,8 @@ namespace l1t { public: typedef boost::shared_ptr ReturnType; - // ReturnType create(const FirmwareVersion & fwv /*,const CaloParamsStage1 & dbPars*/); - ReturnType create(const int fwv ,CaloParamsStage1* dbPars); + // ReturnType create(const FirmwareVersion & fwv /*,const CaloParams & dbPars*/); + ReturnType create(const int fwv ,CaloParams* dbPars); // (Why not make "create" a static member function? You could... // But this way allows you to add additional customizations to the diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithm.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithm.h deleted file mode 100644 index 68c29bce22ccc..0000000000000 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithm.h +++ /dev/null @@ -1,35 +0,0 @@ -/// -/// \class l1t::Stage1Layer2HFBitCountAlgorithm -/// -/// Description: interface for MP firmware -/// -/// Implementation: -/// -/// \author: R. Alex Barbieri -/// - -// - -#ifndef Stage1Layer2HFBitCountAlgorithm_h -#define Stage1Layer2HFBitCountAlgorithm_h - -#include "DataFormats/L1TCalorimeter/interface/CaloRegion.h" -#include "DataFormats/L1TCalorimeter/interface/CaloEmCand.h" -#include "DataFormats/L1Trigger/interface/CaloSpare.h" - -#include - -namespace l1t { - - class Stage1Layer2HFBitCountAlgorithm { - public: - virtual void processEvent(const std::vector & regions, - const std::vector & EMCands, - std::vector * spares) = 0; - - virtual ~Stage1Layer2HFBitCountAlgorithm(){}; - }; - -} - -#endif diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithmImp.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithmImp.h deleted file mode 100644 index a576555bd5b80..0000000000000 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithmImp.h +++ /dev/null @@ -1,41 +0,0 @@ -/// -/// Description: Firmware headers -/// -/// Implementation: -/// Collects concrete algorithm implmentations. -/// -/// \author: R. Alex Barbieri MIT -/// - -// -// This header file contains the class definitions for all of the concrete -// implementations of the firmware interface. The Stage1Layer2FirmwareFactory -// selects the appropriate implementation based on the firmware version in the -// configuration. -// - -#ifndef L1TCALOSTAGE1BitCountsALGORITHMIMP_H -#define L1TCALOSTAGE1BitCountsALGORITHMIMP_H - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithm.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" - - -namespace l1t { - - class Stage1Layer2CentralityAlgorithm : public Stage1Layer2HFBitCountAlgorithm { - public: - Stage1Layer2CentralityAlgorithm(CaloParamsStage1* params); - virtual ~Stage1Layer2CentralityAlgorithm(); - virtual void processEvent(const std::vector & regions, - const std::vector & EMCands, - std::vector * spares); - - private: - CaloParamsStage1* const params_; - }; -} - -#endif diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithm.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithm.h deleted file mode 100644 index c3b835c29aed8..0000000000000 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithm.h +++ /dev/null @@ -1,37 +0,0 @@ -/// -/// \class l1t::Stage1Layer2HFRingSumAlgorithm -/// -/// Description: interface for MP firmware -/// -/// Implementation: -/// -/// \author: R. Alex Barbieri -/// - -// - -#ifndef Stage1Layer2HFRingSumAlgorithm_h -#define Stage1Layer2HFRingSumAlgorithm_h - -#include "DataFormats/L1TCalorimeter/interface/CaloRegion.h" -#include "DataFormats/L1TCalorimeter/interface/CaloEmCand.h" -#include "DataFormats/L1Trigger/interface/CaloSpare.h" -#include "DataFormats/L1Trigger/interface/Tau.h" - -#include - -namespace l1t { - - class Stage1Layer2HFRingSumAlgorithm { - public: - virtual void processEvent(const std::vector & regions, - const std::vector & EMCands, - const std::vector * taus, - std::vector * spares) = 0; - - virtual ~Stage1Layer2HFRingSumAlgorithm(){}; - }; - -} - -#endif diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithmImp.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithmImp.h deleted file mode 100644 index 93fc29269573c..0000000000000 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithmImp.h +++ /dev/null @@ -1,56 +0,0 @@ -/// -/// Description: Firmware headers -/// -/// Implementation: -/// Collects concrete algorithm implmentations. -/// -/// \author: R. Alex Barbieri MIT -/// - -// -// This header file contains the class definitions for all of the concrete -// implementations of the firmware interface. The Stage1Layer2FirmwareFactory -// selects the appropriate implementation based on the firmware version in the -// configuration. -// - -#ifndef L1TCALOSTAGE1RingSUMSALGORITHMIMP_H -#define L1TCALOSTAGE1RingSUMSALGORITHMIMP_H - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithm.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" - - -namespace l1t { - - class Stage1Layer2FlowAlgorithm : public Stage1Layer2HFRingSumAlgorithm { - public: - Stage1Layer2FlowAlgorithm(CaloParamsStage1* params); - virtual ~Stage1Layer2FlowAlgorithm(); - virtual void processEvent(const std::vector & regions, - const std::vector & EMCands, - const std::vector * taus, - std::vector * spares); - - private: - CaloParamsStage1* const params_; - std::vector cosPhi; - std::vector sinPhi; - }; - - class Stage1Layer2DiTauAlgorithm : public Stage1Layer2HFRingSumAlgorithm { - public: - Stage1Layer2DiTauAlgorithm(CaloParamsStage1* params); - virtual ~Stage1Layer2DiTauAlgorithm(); - virtual void processEvent(const std::vector & regions, - const std::vector & EMCands, - const std::vector * taus, - std::vector * spares); - private: - CaloParamsStage1* const params_; - }; -} - -#endif diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithm.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithm.h index 0ecb00f314c69..7d50fb2f42e80 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithm.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithm.h @@ -22,6 +22,11 @@ namespace l1t { const std::vector & EMCands, std::vector * jets) = 0; virtual ~Stage1Layer2JetAlgorithm(){}; + int jetSeedThreshold; + bool PUSubtract; + std::vector regionSubtraction; + bool applyJetCalibration; + std::vector jetSF; /* private: */ /* double regionLSB_; // least significant bit value. Usually = 0.5 */ diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithmImp.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithmImp.h index 5ebff9421437f..28c62a8f5d7b1 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithmImp.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithmImp.h @@ -19,45 +19,31 @@ #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithm.h" #include "DataFormats/L1TCalorimeter/interface/CaloEmCand.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" - +#include "CondFormats/L1TObjects/interface/CaloParams.h" namespace l1t { class Stage1Layer2JetAlgorithmImpHI : public Stage1Layer2JetAlgorithm { public: - Stage1Layer2JetAlgorithmImpHI(CaloParamsStage1* params); + Stage1Layer2JetAlgorithmImpHI(CaloParams* params); virtual ~Stage1Layer2JetAlgorithmImpHI(); virtual void processEvent(const std::vector & regions, const std::vector & EMCands, std::vector * jets); private: - CaloParamsStage1* const params_; + CaloParams* const params_; //double regionLSB_; }; class Stage1Layer2JetAlgorithmImpPP : public Stage1Layer2JetAlgorithm { public: - Stage1Layer2JetAlgorithmImpPP(CaloParamsStage1* params); + Stage1Layer2JetAlgorithmImpPP(CaloParams* params); virtual ~Stage1Layer2JetAlgorithmImpPP(); virtual void processEvent(const std::vector & regions, const std::vector & EMCands, std::vector * jets); private: - CaloParamsStage1* const params_; - //double regionLSB_; - }; - - class Stage1Layer2JetAlgorithmImpSimpleHW : public Stage1Layer2JetAlgorithm { - public: - Stage1Layer2JetAlgorithmImpSimpleHW(CaloParamsStage1* params); - virtual ~Stage1Layer2JetAlgorithmImpSimpleHW(); - virtual void processEvent(const std::vector & regions, - const std::vector & EMCands, - std::vector * jets); - private: - CaloParamsStage1* const params_; + CaloParams* const params_; //double regionLSB_; }; } diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessor.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessor.h index a6c47228a3918..504cc1e60e0de 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessor.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessor.h @@ -22,7 +22,6 @@ #include "DataFormats/L1Trigger/interface/Tau.h" #include "DataFormats/L1Trigger/interface/Jet.h" #include "DataFormats/L1Trigger/interface/EtSum.h" -#include "DataFormats/L1Trigger/interface/CaloSpare.h" #include "FWCore/Framework/interface/Event.h" @@ -35,8 +34,7 @@ namespace l1t { std::vector * egammas, std::vector * taus, std::vector * jets, - std::vector * etsums, - std::vector * calospares) = 0; + std::vector * etsums) = 0; virtual ~Stage1Layer2MainProcessor(){}; }; diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessorFirmware.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessorFirmware.h index f8bc7ed04f1e2..218b7831f084e 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessorFirmware.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessorFirmware.h @@ -14,42 +14,40 @@ #define Stage1Layer2MainProcessorFirmware_H #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessor.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" - +#include "CondFormats/L1TObjects/interface/CaloParams.h" #include "Stage1Layer2EGammaAlgorithm.h" #include "Stage1Layer2EtSumAlgorithm.h" #include "Stage1Layer2JetAlgorithm.h" #include "Stage1Layer2TauAlgorithm.h" -#include "Stage1Layer2HFRingSumAlgorithm.h" -#include "Stage1Layer2HFBitCountAlgorithm.h" namespace l1t { class Stage1Layer2MainProcessorFirmwareImp1 : public Stage1Layer2MainProcessor { public: - //Stage1Layer2MainProcessorFirmwareImp1(const FirmwareVersion & fwv /*const CaloParamsStage1 & dbPars*/); - Stage1Layer2MainProcessorFirmwareImp1(const int fwv , CaloParamsStage1* dbPars); + //Stage1Layer2MainProcessorFirmwareImp1(const FirmwareVersion & fwv /*const CaloParams & dbPars*/); + Stage1Layer2MainProcessorFirmwareImp1(const int fwv , CaloParams* dbPars); virtual ~Stage1Layer2MainProcessorFirmwareImp1(); virtual void processEvent(const std::vector &, const std::vector &, std::vector * egammas, std::vector * taus, std::vector * jets, - std::vector * etsums, - std::vector * calospares); + std::vector * etsums); private: int m_fwv; - CaloParamsStage1* m_db; + CaloParams* m_db; Stage1Layer2EGammaAlgorithm* m_egAlgo; Stage1Layer2TauAlgorithm* m_tauAlgo; Stage1Layer2JetAlgorithm* m_jetAlgo; Stage1Layer2EtSumAlgorithm* m_sumAlgo; - Stage1Layer2HFRingSumAlgorithm* m_hfRingAlgo; - Stage1Layer2HFBitCountAlgorithm* m_hfBitAlgo; + + //Stage1Layer2JetSumAlgorithm* m_jetSumAlgo; + //Stage1Layer2TowerAlgorithm* m_towerAlgo; + //CaloStage1Algorithm* m_clusterAlgo; + }; } diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithm.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithm.h index d3edd04dbd209..48f41dcdcf608 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithm.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithm.h @@ -33,8 +33,8 @@ namespace l1t { std::vector * taus) = 0; virtual ~Stage1Layer2TauAlgorithm(){}; - std::string regionPUSType; - std::vector regionPUSParams; + bool PUSubtract; + std::vector regionSubtraction; }; } diff --git a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithmImp.h b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithmImp.h index c08b5846289ec..2ba4095912974 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithmImp.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithmImp.h @@ -3,9 +3,7 @@ #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithm.h" #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithmImp.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" - +#include "CondFormats/L1TObjects/interface/CaloParams.h" // This is the implementation of the Stage1Layer2TauAlgorithm abstract base class. // This class will be used to find sngle high pt tracks in heavy ion collisions. @@ -14,42 +12,47 @@ namespace l1t { class Stage1Layer2SingleTrackHI : public Stage1Layer2TauAlgorithm { public: - Stage1Layer2SingleTrackHI(CaloParamsStage1* params); + Stage1Layer2SingleTrackHI(); virtual ~Stage1Layer2SingleTrackHI(); - virtual void processEvent(const std::vector & clusters, + virtual void processEvent(//const std::vector & clusters, + const std::vector & clusters, const std::vector & regions, const std::vector * jets, std::vector * taus); - private: - CaloParamsStage1* const params_; - + /* private: */ + /* double regionLSB_; */ }; class Stage1Layer2TauAlgorithmImpPP : public Stage1Layer2TauAlgorithm { public: - Stage1Layer2TauAlgorithmImpPP(CaloParamsStage1* params); + Stage1Layer2TauAlgorithmImpPP(CaloParams* params); virtual ~Stage1Layer2TauAlgorithmImpPP(); virtual void processEvent(const std::vector & EMCands, const std::vector & regions, const std::vector * jets, std::vector * taus); - private: + private: - CaloParamsStage1* const params_; + CaloParams* const params_; int AssociatedSecondRegionEt(int ieta, int iphi, const std::vector & regions, double& isolation) const; - double JetIsolation(int et, int ieta, int iphi, + double JetIsolation(int et, int ieta, int iphi, const std::vector & jets) const; //int tauSeed; //double relativeIsolationCut; //double relativeJetIsolationCut; + int tauSeedThreshold; + int jetSeedThreshold; + int switchOffTauIso; bool do2x1Algo; + double jetScale; + double tauRelativeJetIsolationCut; }; } #endif diff --git a/L1Trigger/L1TCalorimeter/interface/Stage2Layer2ClusterAlgorithmFirmware.h b/L1Trigger/L1TCalorimeter/interface/Stage2Layer2ClusterAlgorithmFirmware.h index 00bded6fbed91..dde73e11e0611 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage2Layer2ClusterAlgorithmFirmware.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage2Layer2ClusterAlgorithmFirmware.h @@ -31,9 +31,6 @@ namespace l1t { virtual ~Stage2Layer2ClusterAlgorithmFirmwareImp1(); virtual void processEvent(const std::vector & towers, std::vector & clusters); - // - void trimCorners(bool trimCorners=true); - private: void clustering(const std::vector & towers, std::vector & clusters); void filtering(const std::vector & towers, std::vector & clusters); @@ -44,8 +41,6 @@ namespace l1t { ClusterInput m_clusterInput; int m_seedThreshold; int m_clusterThreshold; - int m_hcalThreshold; - bool m_trimCorners; CaloParams* params_; }; diff --git a/L1Trigger/L1TCalorimeter/interface/Stage2Layer2EGammaAlgorithmFirmware.h b/L1Trigger/L1TCalorimeter/interface/Stage2Layer2EGammaAlgorithmFirmware.h index 9b9c1de07984f..00ad11c8795da 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage2Layer2EGammaAlgorithmFirmware.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage2Layer2EGammaAlgorithmFirmware.h @@ -28,17 +28,8 @@ namespace l1t { std::vector & egammas); private: - // identification - bool idHOverE(const l1t::CaloCluster& clus); - unsigned int idHOverELutIndex(int iEta); - bool idShape(const l1t::CaloCluster& clus); - unsigned int idShapeLutIndex(unsigned int shape, int iEta); - // isolation - int isoCalEgHwFootPrint(const l1t::CaloCluster&,const std::vector&); - unsigned isoLutIndex(int iEta,unsigned int nrTowers); - // calibration - int calibratedPt(const l1t::CaloCluster& clus); - unsigned int calibrationLutIndex(int iEta); + int calEgHwFootPrint(const l1t::CaloCluster&,const std::vector&); + unsigned lutIndex(int iEta,unsigned int nrTowers); private: CaloParams* params_; diff --git a/L1Trigger/L1TCalorimeter/interface/Stage2Layer2TauAlgorithmFirmware.h b/L1Trigger/L1TCalorimeter/interface/Stage2Layer2TauAlgorithmFirmware.h index 2600a6f134459..55eea09bdc4da 100644 --- a/L1Trigger/L1TCalorimeter/interface/Stage2Layer2TauAlgorithmFirmware.h +++ b/L1Trigger/L1TCalorimeter/interface/Stage2Layer2TauAlgorithmFirmware.h @@ -27,18 +27,7 @@ namespace l1t { std::vector & taus); private: - void merging(const std::vector& clusters, std::vector& taus); - void loadCalibrationLuts(); - double calibratedPt(int hwPtEm, int hwPtHad, int ieta); - - // parameters CaloParams* params_; - std::vector >coefficients_; - - float offsetBarrelEH_; - float offsetBarrelH_; - float offsetEndcapsEH_; - float offsetEndcapsH_; }; } diff --git a/L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h b/L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h deleted file mode 100644 index 49057ce0a4e14..0000000000000 --- a/L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h +++ /dev/null @@ -1,40 +0,0 @@ -// legacyGtHelper.h -// Authors: Alex Barbieri -// -// This is a collection of helper methods to make sure that -// the objects passed to the legacy GT are using the proper -// Et scales and eta coordinates. - -#ifndef LEGACYGTHELPER_H -#define LEGACYGTHELPER_H - -#include "DataFormats/L1Trigger/interface/EGamma.h" -#include "DataFormats/L1Trigger/interface/Tau.h" -#include "DataFormats/L1Trigger/interface/Jet.h" -#include "DataFormats/L1Trigger/interface/EtSum.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" -#include - -namespace l1t { - -void JetToGtScales(CaloParamsStage1 *params, - const std::vector * input, - std::vector *output); - -void EGammaToGtScales(CaloParamsStage1 *params, - const std::vector * input, - std::vector *output); - -void TauToGtScales(CaloParamsStage1 *params, - const std::vector * input, - std::vector *output); - -void EtSumToGtScales(CaloParamsStage1 *params, - const std::vector * input, - std::vector *output); - -const unsigned int gtEta(const unsigned int iEta); -} - -#endif diff --git a/L1Trigger/L1TCalorimeter/plugins/CaloParamsESProducer.cc b/L1Trigger/L1TCalorimeter/plugins/CaloParamsESProducer.cc index b6e8091dce86b..543dd72dab0e6 100644 --- a/L1Trigger/L1TCalorimeter/plugins/CaloParamsESProducer.cc +++ b/L1Trigger/L1TCalorimeter/plugins/CaloParamsESProducer.cc @@ -26,7 +26,6 @@ #include "FWCore/Framework/interface/ESProducer.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/ESProducts.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/FileInPath.h" @@ -93,22 +92,9 @@ CaloParamsESProducer::CaloParamsESProducer(const edm::ParameterSet& conf) m_params.setEgLsb(conf.getParameter("egLsb")); m_params.setEgSeedThreshold(conf.getParameter("egSeedThreshold")); m_params.setEgNeighbourThreshold(conf.getParameter("egNeighbourThreshold")); - m_params.setEgHcalThreshold(conf.getParameter("egHcalThreshold")); m_params.setEgMaxHcalEt(conf.getParameter("egMaxHcalEt")); m_params.setEgEtToRemoveHECut(conf.getParameter("egEtToRemoveHECut")); - m_params.setEgRelativeJetIsolationBarrelCut(conf.getParameter("egRelativeJetIsolationBarrelCut")); - m_params.setEgRelativeJetIsolationEndcapCut(conf.getParameter("egRelativeJetIsolationEndcapCut")); - - edm::FileInPath egMaxHOverELUTFile = conf.getParameter("egMaxHOverELUTFile"); - std::ifstream egMaxHOverELUTStream(egMaxHOverELUTFile.fullPath()); - std::shared_ptr egMaxHOverELUT( new l1t::LUT(egMaxHOverELUTStream) ); - m_params.setEgMaxHOverELUT(egMaxHOverELUT); - - edm::FileInPath egShapeIdLUTFile = conf.getParameter("egShapeIdLUTFile"); - std::ifstream egShapeIdLUTStream(egShapeIdLUTFile.fullPath()); - std::shared_ptr egShapeIdLUT( new l1t::LUT(egShapeIdLUTStream) ); - m_params.setEgShapeIdLUT(egShapeIdLUT); - + m_params.setEgMaxHOverE(conf.getParameter("egMaxHOverE")); m_params.setEgIsoPUSType(conf.getParameter("egIsoPUSType")); edm::FileInPath egIsoLUTFile = conf.getParameter("egIsoLUTFile"); @@ -122,53 +108,18 @@ CaloParamsESProducer::CaloParamsESProducer(const edm::ParameterSet& conf) m_params.setEgIsoPUEstTowerGranularity(conf.getParameter("egIsoPUEstTowerGranularity")); m_params.setEgIsoMaxEtaAbsForTowerSum(conf.getParameter("egIsoMaxEtaAbsForTowerSum")); m_params.setEgIsoMaxEtaAbsForIsoSum(conf.getParameter("egIsoMaxEtaAbsForIsoSum")); - - edm::FileInPath egCalibrationLUTFile = conf.getParameter("egCalibrationLUTFile"); - std::ifstream egCalibrationLUTStream(egCalibrationLUTFile.fullPath()); - std::shared_ptr egCalibrationLUT( new l1t::LUT(egCalibrationLUTStream) ); - m_params.setEgCalibrationLUT(egCalibrationLUT); // tau m_params.setTauLsb(conf.getParameter("tauLsb")); m_params.setTauSeedThreshold(conf.getParameter("tauSeedThreshold")); m_params.setTauNeighbourThreshold(conf.getParameter("tauNeighbourThreshold")); m_params.setTauIsoPUSType(conf.getParameter("tauIsoPUSType")); - m_params.setTauRelativeJetIsolationCut(conf.getParameter("tauRelativeJetIsolationCut")); edm::FileInPath tauIsoLUTFile = conf.getParameter("tauIsoLUTFile"); std::ifstream tauIsoLUTStream(tauIsoLUTFile.fullPath()); std::shared_ptr tauIsoLUT( new l1t::LUT(tauIsoLUTStream) ); m_params.setTauIsolationLUT(tauIsoLUT); - edm::FileInPath tauCalibrationLUTFileBarrelA = conf.getParameter("tauCalibrationLUTFileBarrelA"); - edm::FileInPath tauCalibrationLUTFileBarrelB = conf.getParameter("tauCalibrationLUTFileBarrelB"); - edm::FileInPath tauCalibrationLUTFileBarrelC = conf.getParameter("tauCalibrationLUTFileBarrelC"); - edm::FileInPath tauCalibrationLUTFileEndcapsA = conf.getParameter("tauCalibrationLUTFileEndcapsA"); - edm::FileInPath tauCalibrationLUTFileEndcapsB = conf.getParameter("tauCalibrationLUTFileEndcapsB"); - edm::FileInPath tauCalibrationLUTFileEndcapsC = conf.getParameter("tauCalibrationLUTFileEndcapsC"); - edm::FileInPath tauCalibrationLUTFileEta = conf.getParameter("tauCalibrationLUTFileEta"); - std::ifstream tauCalibrationLUTStreamBarrelA(tauCalibrationLUTFileBarrelA.fullPath()); - std::ifstream tauCalibrationLUTStreamBarrelB(tauCalibrationLUTFileBarrelB.fullPath()); - std::ifstream tauCalibrationLUTStreamBarrelC(tauCalibrationLUTFileBarrelC.fullPath()); - std::ifstream tauCalibrationLUTStreamEndcapsA(tauCalibrationLUTFileEndcapsA.fullPath()); - std::ifstream tauCalibrationLUTStreamEndcapsB(tauCalibrationLUTFileEndcapsB.fullPath()); - std::ifstream tauCalibrationLUTStreamEndcapsC(tauCalibrationLUTFileEndcapsC.fullPath()); - std::ifstream tauCalibrationLUTStreamEta(tauCalibrationLUTFileEta.fullPath()); - std::shared_ptr tauCalibrationLUTBarrelA( new l1t::LUT(tauCalibrationLUTStreamBarrelA) ); - std::shared_ptr tauCalibrationLUTBarrelB( new l1t::LUT(tauCalibrationLUTStreamBarrelB) ); - std::shared_ptr tauCalibrationLUTBarrelC( new l1t::LUT(tauCalibrationLUTStreamBarrelC) ); - std::shared_ptr tauCalibrationLUTEndcapsA( new l1t::LUT(tauCalibrationLUTStreamEndcapsA) ); - std::shared_ptr tauCalibrationLUTEndcapsB( new l1t::LUT(tauCalibrationLUTStreamEndcapsB) ); - std::shared_ptr tauCalibrationLUTEndcapsC( new l1t::LUT(tauCalibrationLUTStreamEndcapsC) ); - std::shared_ptr tauCalibrationLUTEta( new l1t::LUT(tauCalibrationLUTStreamEta) ); - m_params.setTauCalibrationLUTBarrelA(tauCalibrationLUTBarrelA); - m_params.setTauCalibrationLUTBarrelB(tauCalibrationLUTBarrelB); - m_params.setTauCalibrationLUTBarrelC(tauCalibrationLUTBarrelC); - m_params.setTauCalibrationLUTEndcapsA(tauCalibrationLUTEndcapsA); - m_params.setTauCalibrationLUTEndcapsB(tauCalibrationLUTEndcapsB); - m_params.setTauCalibrationLUTEndcapsC(tauCalibrationLUTEndcapsC); - m_params.setTauCalibrationLUTEta(tauCalibrationLUTEta); - // jets m_params.setJetLsb(conf.getParameter("jetLsb")); m_params.setJetSeedThreshold(conf.getParameter("jetSeedThreshold")); @@ -179,22 +130,19 @@ CaloParamsESProducer::CaloParamsESProducer(const edm::ParameterSet& conf) // sums m_params.setEtSumLsb(conf.getParameter("etSumLsb")); - - std::vector etSumEtaMin = conf.getParameter >("etSumEtaMin"); - std::vector etSumEtaMax = conf.getParameter >("etSumEtaMax"); - std::vector etSumEtThreshold = conf.getParameter >("etSumEtThreshold"); + m_params.setEtSumEtaMin(0, conf.getParameter("ettEtaMin")); + m_params.setEtSumEtaMax(0, conf.getParameter("ettEtaMax")); + m_params.setEtSumEtThreshold(0, conf.getParameter("ettEtThreshold")); + m_params.setEtSumEtaMin(1, conf.getParameter("httEtaMin")); + m_params.setEtSumEtaMax(1, conf.getParameter("httEtaMax")); + m_params.setEtSumEtThreshold(1, conf.getParameter("httEtThreshold")); + m_params.setEtSumEtaMin(2, conf.getParameter("metEtaMin")); + m_params.setEtSumEtaMax(2, conf.getParameter("metEtaMax")); + m_params.setEtSumEtThreshold(2, conf.getParameter("metEtThreshold")); + m_params.setEtSumEtaMin(3, conf.getParameter("mhtEtaMin")); + m_params.setEtSumEtaMax(3, conf.getParameter("mhtEtaMax")); + m_params.setEtSumEtThreshold(3, conf.getParameter("mhtEtThreshold")); - if ((etSumEtaMin.size() == etSumEtaMax.size()) && (etSumEtaMin.size() == etSumEtThreshold.size())) { - for (unsigned i=0; i +//#include + l1t::L1TCaloRCTToUpgradeConverter::L1TCaloRCTToUpgradeConverter(const edm::ParameterSet& ps) { produces(); @@ -20,6 +22,10 @@ l1t::L1TCaloRCTToUpgradeConverter::L1TCaloRCTToUpgradeConverter(const edm::Param rgnToken_ = consumes(ps.getParameter("regionTag")); emToken_ = consumes(ps.getParameter("emTag")); + + // firstBx_ = -ps.getParameter("preSamples"); + // lastBx_ = ps.getParameter("postSamples"); + } l1t::L1TCaloRCTToUpgradeConverter::~L1TCaloRCTToUpgradeConverter() { @@ -65,10 +71,11 @@ l1t::L1TCaloRCTToUpgradeConverter::produce(edm::Event& iEvent, const edm::EventS // double eta = 0.; // double phi = 0.; //math::PtEtaPhiMLorentzVector p4( pt+1.e-6, eta, phi, 0. ); - ROOT::Math::LorentzVector > p4(0,0,0,0); + ROOT::Math::LorentzVector > *p4 = + new ROOT::Math::LorentzVector >(); //l1t::CaloStage1Cluster cluster; - l1t::CaloEmCand EmCand(*&p4, + l1t::CaloEmCand EmCand(*p4, (int) em->rank(), (int) em->regionId().ieta(), (int) em->regionId().iphi(), @@ -88,21 +95,19 @@ l1t::L1TCaloRCTToUpgradeConverter::produce(edm::Event& iEvent, const edm::EventS // double phi = 0.; //math::PtEtaPhiMLorentzVector p4( pt+1.e-6, eta, phi, 0 ); - bool tauVeto = rgn->tauVeto(); - int hwQual = (int) tauVeto; - - ROOT::Math::LorentzVector > p4(0,0,0,0); + ROOT::Math::LorentzVector > *p4 = + new ROOT::Math::LorentzVector >(); // create new format //l1t::CaloRegion region; - l1t::CaloRegion region(*&p4, + l1t::CaloRegion region(*p4, 0., 0., (int) rgn->et(), (int) rgn->id().ieta(), (int) rgn->id().iphi(), - hwQual, + 0, 0, 0); diff --git a/L1Trigger/L1TCalorimeter/plugins/L1TCaloUpgradeToGCTConverter.cc b/L1Trigger/L1TCalorimeter/plugins/L1TCaloUpgradeToGCTConverter.cc index 875bf3f42619c..fb70a0159627d 100644 --- a/L1Trigger/L1TCalorimeter/plugins/L1TCaloUpgradeToGCTConverter.cc +++ b/L1Trigger/L1TCalorimeter/plugins/L1TCaloUpgradeToGCTConverter.cc @@ -41,7 +41,6 @@ l1t::L1TCaloUpgradeToGCTConverter::L1TCaloUpgradeToGCTConverter(const ParameterS TauToken_ = consumes(iConfig.getParameter("InputCollection")); JetToken_ = consumes(iConfig.getParameter("InputCollection")); EtSumToken_ = consumes(iConfig.getParameter("InputCollection")); - CaloSpareToken_ = consumes(iConfig.getParameter("InputCollection")); } @@ -71,8 +70,12 @@ l1t::L1TCaloUpgradeToGCTConverter::produce(Event& e, const EventSetup& es) Handle EtSum; e.getByToken(EtSumToken_,EtSum); - Handle CaloSpare; - e.getByToken(CaloSpareToken_, CaloSpare); + edm::ESHandle< L1CaloEtScale > emScale ; + es.get< L1EmEtScaleRcd >().get( emScale ) ; + + edm::ESHandle< L1CaloEtScale > jetScale ; + es.get< L1JetEtScaleRcd >().get( jetScale ) ; + // create the em and jet collections std::auto_ptr isoEmResult(new L1GctEmCandCollection( ) ); @@ -100,6 +103,15 @@ l1t::L1TCaloUpgradeToGCTConverter::produce(Event& e, const EventSetup& es) // Assume BX is the same for all collections int firstBX = EGamma->getFirstBX(); int lastBX = EGamma->getLastBX(); + // //Finding the BX range for each input collection + // int firstBxEGamma = EGamma->getFirstBX(); + // int lastBxEGamma = EGamma->getLastBX(); + // int firstBxTau = Tau->getFirstBX(); + // int lastBxTau = Tau->getLastBX(); + // int firstBxJet = Jet->getFirstBX(); + // int lastBxJet = Jet->getLastBX(); + // int firstBxEtSum = EtSum->getFirstBX(); + // int lastBxEtSum = EtSum->getLastBX(); for(int itBX=firstBX; itBX!=lastBX+1; ++itBX){ @@ -135,10 +147,15 @@ l1t::L1TCaloUpgradeToGCTConverter::produce(Event& e, const EventSetup& es) int tauCount = 0; //max 4 for(l1t::TauBxCollection::const_iterator itTau = Tau->begin(itBX); itTau != Tau->end(itBX); ++itTau){ - // taus are not allowed to be forward - const bool forward= false; + // forward def is okay for Taus + const bool forward= (itTau->hwEta() < 4 || itTau->hwEta() > 17); + const uint16_t rankPt = jetScale->rank((uint16_t)itTau->hwPt()); - L1GctJetCand TauCand(itTau->hwPt(), itTau->hwPhi(), itTau->hwEta(), + unsigned iEta = itTau->hwEta(); + unsigned rctEta = (iEta<11 ? 10-iEta : iEta-11); + unsigned gtEta=(((rctEta % 7) & 0x7) | (iEta<11 ? 0x8 : 0)); + + L1GctJetCand TauCand(rankPt, itTau->hwPhi(), gtEta, true, forward,0, 0, itBX); //L1GctJetCand(unsigned rank, unsigned phi, unsigned eta, // bool isTau, bool isFor, uint16_t block, uint16_t index, int16_t bx); @@ -155,7 +172,13 @@ l1t::L1TCaloUpgradeToGCTConverter::produce(Event& e, const EventSetup& es) itJet != Jet->end(itBX); ++itJet){ // use 2nd quality bit to define forward const bool forward = ((itJet->hwQual() & 0x2) != 0); - L1GctJetCand JetCand(itJet->hwPt(), itJet->hwPhi(), itJet->hwEta(), + const uint16_t rankPt = jetScale->rank((uint16_t)itJet->hwPt()); + + unsigned iEta = itJet->hwEta(); + unsigned rctEta = (iEta<11 ? 10-iEta : iEta-11); + unsigned gtEta=(((rctEta % 7) & 0x7) | (iEta<11 ? 0x8 : 0)); + + L1GctJetCand JetCand(rankPt, itJet->hwPhi(), gtEta, false, forward,0, 0, itBX); //L1GctJetCand(unsigned rank, unsigned phi, unsigned eta, // bool isTau, bool isFor, uint16_t block, uint16_t index, int16_t bx); @@ -172,7 +195,6 @@ l1t::L1TCaloUpgradeToGCTConverter::produce(Event& e, const EventSetup& es) } } } - //looping over EtSum elments with a specific BX for (l1t::EtSumBxCollection::const_iterator itEtSum = EtSum->begin(itBX); itEtSum != EtSum->end(itBX); ++itEtSum){ @@ -193,44 +215,30 @@ l1t::L1TCaloUpgradeToGCTConverter::produce(Event& e, const EventSetup& es) LogError("l1t|stage 1 Converter") <<" Unknown EtSumType --- EtSum collection will not be saved...\n "; } } - - for (l1t::CaloSpareBxCollection::const_iterator itCaloSpare = CaloSpare->begin(itBX); - itCaloSpare != CaloSpare->end(itBX); ++itCaloSpare){ - // L1GctHFRingEtSums sum = L1GctHFRingEtSums::fromConcRingSums(const uint16_t capBlock, - // const uint16_t capIndex, - // const int16_t bx, - // const uint32_t data); - if (CaloSpare::CaloSpareType::V2 == itCaloSpare->getType()) - { - L1GctHFRingEtSums sum = L1GctHFRingEtSums::fromConcRingSums(0, - 0, - itBX, - itCaloSpare->hwPt() & 0xfff); - hfRingEtSumResult->push_back(sum); - } else if (CaloSpare::CaloSpareType::Centrality == itCaloSpare->getType()) - { - - // static L1GctHFBitCounts fromConcHFBitCounts(const uint16_t capBlock, - // const uint16_t capIndex, - // const int16_t bx, - // const uint32_t data); - - L1GctHFBitCounts bitcount = L1GctHFBitCounts::fromConcHFBitCounts(0, - 0, - itBX, - itCaloSpare->hwPt() & 0xfff); - hfBitCountResult->push_back(bitcount); - } else if (CaloSpare::CaloSpareType::Tau == itCaloSpare->getType()) - { - L1GctHFRingEtSums sum = L1GctHFRingEtSums::fromConcRingSums(0, - 0, - itBX, - itCaloSpare->hwPt() & 0xfff); - hfRingEtSumResult->push_back(sum); - } - } } + + + //*isoEmResult = + //this->ConvertToNonIsoEmCand(EGamma); + // DataFormatter.ConvertToNonIsoEmCand(*EGamma, nonIsoEmResult); + // DataFormatter.ConvertToCenJetCand(*Jet, cenJetResult); + // DataFormatter.ConvertToForJetCand(*Jet, forJetResult); + // DataFormatter.ConvertToTauJetCand(*Tau, tauJetResult); + + // DataFormatter.ConvertToEtTotal(EtSum, etTotResult); + // DataFormatter.ConvertToEtHad(EtSum,etHadResult); + // DataFormatter.ConvertToEtMiss(EtSum,etMissResult); + // DataFormatter.ConvertToHtMiss(EtSum,htMissResult); + // DataFormatter.ConvertToHFBitCounts(EtSum,hfBitCountResult); + // DataFormatter.ConvertToHFRingEtSums(EtSum, hfRingEtSumResult); + + // DataFormatter.ConvertToIntJet(Jet, internalJetResult); + // DataFormatter.ConvertToIntEtSum(EtSum,internalEtSumResult); + // DataFormatter.ConvertToIntHtMiss(EtSum,internalHtMissResult); + + + e.put(isoEmResult,"isoEm"); e.put(nonIsoEmResult,"nonIsoEm"); e.put(cenJetResult,"cenJets"); diff --git a/L1Trigger/L1TCalorimeter/plugins/L1TCaloUpgradeToGCTConverter.h b/L1Trigger/L1TCalorimeter/plugins/L1TCaloUpgradeToGCTConverter.h index 65937d1ed0a5c..6117668464d0a 100644 --- a/L1Trigger/L1TCalorimeter/plugins/L1TCaloUpgradeToGCTConverter.h +++ b/L1Trigger/L1TCalorimeter/plugins/L1TCaloUpgradeToGCTConverter.h @@ -36,7 +36,6 @@ #include "DataFormats/L1Trigger/interface/Tau.h" #include "DataFormats/L1Trigger/interface/Jet.h" #include "DataFormats/L1Trigger/interface/EtSum.h" -#include "DataFormats/L1Trigger/interface/CaloSpare.h" #include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCollections.h" @@ -65,11 +64,31 @@ namespace l1t { virtual void beginRun(Run const&iR, EventSetup const&iE); virtual void endRun(Run const& iR, EventSetup const& iE); + /* L1GctEmCandCollection ConvertToIsoEmCand(L1TEGammaCollection::const_iterator); */ + + + /* L1GctEmCandCollection ConvertToNonIsoEmCand(const L1TEGammaCollection&); */ + /* L1GctJetCandCollection ConvertToCenJetCand(const L1TJetCollection&); */ + /* L1GctJetCandCollection ConvertToForJetCand(const L1TJetCollection&); */ + /* L1GctJetCandCollection ConvertToTauJetCand(const L1TTauCollection&); */ + + /* L1GctEtTotalCollection ConvertToEtTotal(const L1TEtSumCollection&); */ + /* L1GctEtHadCollection ConvertToEtHad(const L1TEtSumCollection&); */ + /* L1GctEtMissCollection ConvertToEtMiss(const L1TEtSumCollection&); */ + /* L1GctHtMissCollection ConvertToHtMiss(const L1TEtSumCollection&); */ + /* L1GctHFBitCountsCollection ConvertToHFBitCounts(const L1TEtSumCollection&); */ + /* L1GctHFRingEtSumsCollection ConvertToHFRingEtSums(const L1TEtSumCollection&); */ + + /* L1GctInternJetDataCollection ConvertToIntJet(const L1TJetCollection&); */ + /* L1GctInternEtSumCollection ConvertToIntEtSum(const L1TEtSumCollection&); */ + /* L1GctInternHtMissCollection ConvertToIntHtMiss(const L1TEtSumCollection&); */ + EDGetToken EGammaToken_; EDGetToken TauToken_; EDGetToken JetToken_; EDGetToken EtSumToken_; - EDGetToken CaloSpareToken_; - }; + + +}; } #endif diff --git a/L1Trigger/L1TCalorimeter/plugins/PhysicalEtAdder.cc b/L1Trigger/L1TCalorimeter/plugins/PhysicalEtAdder.cc index cea49a541b688..71f82e124d077 100644 --- a/L1Trigger/L1TCalorimeter/plugins/PhysicalEtAdder.cc +++ b/L1Trigger/L1TCalorimeter/plugins/PhysicalEtAdder.cc @@ -1,5 +1,4 @@ #include "L1Trigger/L1TCalorimeter/plugins/PhysicalEtAdder.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/L1TObjects/interface/L1CaloEtScale.h" #include "CondFormats/DataRecord/interface/L1JetEtScaleRcd.h" @@ -19,9 +18,7 @@ #include "FWCore/Framework/interface/ESHandle.h" #include -#include - -double getPhysicalEta(int etaIndex, bool forward = false); +double getPhysicalEta(int etaIndex); double getPhysicalPhi(int phiIndex); l1t::PhysicalEtAdder::PhysicalEtAdder(const edm::ParameterSet& ps) { @@ -30,13 +27,11 @@ l1t::PhysicalEtAdder::PhysicalEtAdder(const edm::ParameterSet& ps) { produces(); produces(); produces(); - produces(); EGammaToken_ = consumes(ps.getParameter("InputCollection")); TauToken_ = consumes(ps.getParameter("InputCollection")); JetToken_ = consumes(ps.getParameter("InputCollection")); EtSumToken_ = consumes(ps.getParameter("InputCollection")); - CaloSpareToken_ = consumes(ps.getParameter("InputCollection")); } l1t::PhysicalEtAdder::~PhysicalEtAdder() { @@ -52,19 +47,17 @@ l1t::PhysicalEtAdder::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) std::auto_ptr new_taus (new l1t::TauBxCollection); std::auto_ptr new_jets (new l1t::JetBxCollection); std::auto_ptr new_etsums (new l1t::EtSumBxCollection); - std::auto_ptr new_calospares (new l1t::CaloSpareBxCollection); edm::Handle old_egammas; edm::Handle old_taus; edm::Handle old_jets; edm::Handle old_etsums; - edm::Handle old_calospares; iEvent.getByToken(EGammaToken_, old_egammas); iEvent.getByToken(TauToken_, old_taus); iEvent.getByToken(JetToken_, old_jets); iEvent.getByToken(EtSumToken_, old_etsums); - iEvent.getByToken(CaloSpareToken_, old_calospares); + //get the proper scales for conversion to physical et edm::ESHandle< L1CaloEtScale > emScale ; @@ -73,7 +66,11 @@ l1t::PhysicalEtAdder::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) edm::ESHandle< L1CaloEtScale > jetScale ; iSetup.get< L1JetEtScaleRcd >().get( jetScale ) ; + edm::ESHandle< L1CaloEtScale > hwForJetScale ; + iSetup.get< L1JetEtScaleRcd >().get( hwForJetScale ) ; + edm::ESHandle< L1CaloEtScale > htMissScale ; + std::vector< bool > htMissMatched ; iSetup.get< L1HtMissScaleRcd >().get( htMissScale ) ; int firstBX = old_egammas->getFirstBX(); @@ -83,23 +80,21 @@ l1t::PhysicalEtAdder::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) new_taus->setBXRange(firstBX, lastBX); new_jets->setBXRange(firstBX, lastBX); new_taus->setBXRange(firstBX, lastBX); - new_calospares->setBXRange(firstBX, lastBX); for(int bx = firstBX; bx <= lastBX; ++bx) { for(l1t::EGammaBxCollection::const_iterator itEGamma = old_egammas->begin(bx); itEGamma != old_egammas->end(bx); ++itEGamma) { - //const double pt = itEGamma->hwPt() * emScale->linearLsb(); - const double et = emScale->et( itEGamma->hwPt() ); + const double pt = itEGamma->hwPt() * emScale->linearLsb(); const double eta = getPhysicalEta(itEGamma->hwEta()); const double phi = getPhysicalPhi(itEGamma->hwPhi()); - math::PtEtaPhiMLorentzVector p4(et, eta, phi, 0); + math::PtEtaPhiMLorentzVector *p4 = new math::PtEtaPhiMLorentzVector(pt, eta, phi, 0); - l1t::EGamma eg(*&p4, itEGamma->hwPt(), - itEGamma->hwEta(), itEGamma->hwPhi(), - itEGamma->hwQual(), itEGamma->hwIso()); - new_egammas->push_back(bx, *&eg); + l1t::EGamma *eg = new l1t::EGamma(*p4, itEGamma->hwPt(), + itEGamma->hwEta(), itEGamma->hwPhi(), + itEGamma->hwQual(), itEGamma->hwIso()); + new_egammas->push_back(bx, *eg); } @@ -112,19 +107,16 @@ l1t::PhysicalEtAdder::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) //const double et = jetScale->et( rankPt ) ; // or use the emScale to get finer-grained et - //const double et = itTau->hwPt() * emScale->linearLsb(); - - // we are now already in the rankPt - const double et = jetScale->et( itTau->hwPt() ); - + const double et = itTau->hwPt() * emScale->linearLsb(); + const double eta = getPhysicalEta(itTau->hwEta()); const double phi = getPhysicalPhi(itTau->hwPhi()); - math::PtEtaPhiMLorentzVector p4(et, eta, phi, 0); + math::PtEtaPhiMLorentzVector *p4 = new math::PtEtaPhiMLorentzVector(et, eta, phi, 0); - l1t::Tau tau(*&p4, itTau->hwPt(), - itTau->hwEta(), itTau->hwPhi(), - itTau->hwQual(), itTau->hwIso()); - new_taus->push_back(bx, *&tau); + l1t::Tau *tau = new l1t::Tau(*p4, itTau->hwPt(), + itTau->hwEta(), itTau->hwPhi(), + itTau->hwQual()); + new_taus->push_back(bx, *tau); } @@ -134,62 +126,44 @@ l1t::PhysicalEtAdder::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) // use the full-circle conversion to match l1extra, accounts for linearLsb and max value automatically //const uint16_t rankPt = jetScale->rank((uint16_t)itJet->hwPt()); //const double et = jetScale->et( rankPt ) ; - + // or use the emScale to get finer-grained et - //const double et = itJet->hwPt() * emScale->linearLsb(); - - // we are now already in the rankPt - const double et = jetScale->et( itJet->hwPt() ); - - const bool forward = ((itJet->hwQual() & 0x2) != 0); - const double eta = getPhysicalEta(itJet->hwEta(), forward); + const double et = itJet->hwPt() * emScale->linearLsb(); + + const double eta = getPhysicalEta(itJet->hwEta()); const double phi = getPhysicalPhi(itJet->hwPhi()); - math::PtEtaPhiMLorentzVector p4(et, eta, phi, 0); + math::PtEtaPhiMLorentzVector *p4 = new math::PtEtaPhiMLorentzVector(et, eta, phi, 0); - l1t::Jet jet(*&p4, itJet->hwPt(), - itJet->hwEta(), itJet->hwPhi(), - itJet->hwQual()); - new_jets->push_back(bx, *&jet); + l1t::Jet *jet = new l1t::Jet(*p4, itJet->hwPt(), + itJet->hwEta(), itJet->hwPhi(), + itJet->hwQual()); + new_jets->push_back(bx, *jet); } for(l1t::EtSumBxCollection::const_iterator itEtSum = old_etsums->begin(bx); itEtSum != old_etsums->end(bx); ++itEtSum) { - double et = itEtSum->hwPt() * emScale->linearLsb(); - //hack while we figure out the right scales - //double et = emScale->et( itEtSum->hwPt() ); - const l1t::EtSum::EtSumType sumType = itEtSum->getType(); - if(sumType == EtSum::EtSumType::kMissingHt) - et = htMissScale->et( itEtSum->hwPt() ); - + const double pt = itEtSum->hwPt() * emScale->linearLsb(); const double eta = getPhysicalEta(itEtSum->hwEta()); const double phi = getPhysicalPhi(itEtSum->hwPhi()); + const l1t::EtSum::EtSumType sumType = itEtSum->getType(); + //std::cout << "SumType: " << sumType << std::endl; + math::PtEtaPhiMLorentzVector *p4 = new math::PtEtaPhiMLorentzVector(pt, eta, phi, 0); - math::PtEtaPhiMLorentzVector p4(et, eta, phi, 0); - - l1t::EtSum eg(*&p4, sumType, itEtSum->hwPt(), - itEtSum->hwEta(), itEtSum->hwPhi(), - itEtSum->hwQual()); - new_etsums->push_back(bx, *&eg); - + l1t::EtSum *eg = new l1t::EtSum(*p4, sumType, itEtSum->hwPt(), + itEtSum->hwEta(), itEtSum->hwPhi(), + itEtSum->hwQual()); + new_etsums->push_back(bx, *eg); } - - for(l1t::CaloSpareBxCollection::const_iterator itCaloSpare = old_calospares->begin(bx); - itCaloSpare != old_calospares->end(bx); ++itCaloSpare) - { - //just pass through for now - //a different scale is needed depending on the type - new_calospares->push_back(bx, *itCaloSpare); - } } iEvent.put(new_egammas); iEvent.put(new_taus); iEvent.put(new_jets); iEvent.put(new_etsums); - iEvent.put(new_calospares); + } // ------------ method called once each job just before starting event loop ------------ @@ -250,36 +224,9 @@ l1t::PhysicalEtAdder::fillDescriptions(edm::ConfigurationDescriptions& descripti //define this as a plug-in DEFINE_FWK_MODULE(l1t::PhysicalEtAdder); -int getRegionEta(int gtEta, bool forward) +// grabbed these from the UCT2015 codebase. +double getPhysicalEta(int etaIndex) { - // backwards conversion is - // unsigned rctEta = (iEta<11 ? 10-iEta : iEta-11); - // return (((rctEta % 7) & 0x7) | (iEta<11 ? 0x8 : 0)); - int centralGtEta[] = {11, 12, 13, 14, 15, 16, 17, -100, 10, 9, 8, 7, 6, 5, 4}; - int forwardGtEta[] = {18, 19, 20, 21, -100, -100, -100, -100, 3, 2, 1, 0}; - - //printf("%i, %i\n",gtEta,forward); - - int regionEta; - - if(!forward) - { - regionEta = centralGtEta[gtEta]; - } else - regionEta = forwardGtEta[gtEta]; - - if(regionEta == -100) - edm::LogError("EtaIndexError") - << "Bad eta index passed to PhysicalEtAdder::getRegionEta, " << gtEta << std::endl; - - return regionEta; -} - -// adapted these from the UCT2015 codebase. -double getPhysicalEta(int gtEta, bool forward) -{ - int etaIndex = getRegionEta(gtEta, forward); - const double rgnEtaValues[11] = { 0.174, // HB and inner HE bins are 0.348 wide 0.522, diff --git a/L1Trigger/L1TCalorimeter/plugins/PhysicalEtAdder.h b/L1Trigger/L1TCalorimeter/plugins/PhysicalEtAdder.h index 9b188ce462f53..93ca6dd2bf0cd 100644 --- a/L1Trigger/L1TCalorimeter/plugins/PhysicalEtAdder.h +++ b/L1Trigger/L1TCalorimeter/plugins/PhysicalEtAdder.h @@ -29,7 +29,6 @@ #include "DataFormats/L1Trigger/interface/Tau.h" #include "DataFormats/L1Trigger/interface/Jet.h" #include "DataFormats/L1Trigger/interface/EtSum.h" -#include "DataFormats/L1Trigger/interface/CaloSpare.h" // // class declaration @@ -60,7 +59,6 @@ namespace l1t { edm::EDGetToken TauToken_; edm::EDGetToken JetToken_; edm::EDGetToken EtSumToken_; - edm::EDGetToken CaloSpareToken_; }; } diff --git a/L1Trigger/L1TCalorimeter/plugins/Stage1Layer2Producer.cc b/L1Trigger/L1TCalorimeter/plugins/Stage1Layer2Producer.cc index fdd8400ebf54f..ebdc13197ff03 100644 --- a/L1Trigger/L1TCalorimeter/plugins/Stage1Layer2Producer.cc +++ b/L1Trigger/L1TCalorimeter/plugins/Stage1Layer2Producer.cc @@ -27,8 +27,6 @@ #include "CondFormats/L1TObjects/interface/L1CaloEtScale.h" #include "CondFormats/DataRecord/interface/L1EmEtScaleRcd.h" #include "CondFormats/DataRecord/interface/L1JetEtScaleRcd.h" -#include "CondFormats/DataRecord/interface/L1HtMissScaleRcd.h" -#include "CondFormats/DataRecord/interface/L1HfRingEtScaleRcd.h" #include #include "DataFormats/L1Trigger/interface/BXVector.h" @@ -36,9 +34,7 @@ //#include "CondFormats/DataRecord/interface/CaloParamsRcd.h" //#include "CondFormats/L1TCalorimeter/interface/CaloParams.h" #include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "CondFormats/DataRecord/interface/L1TCaloParamsRcd.h" //#include "CondFormats/L1TObjects/interface/FirmwareVersion.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" #include "DataFormats/L1TCalorimeter/interface/CaloRegion.h" #include "DataFormats/L1TCalorimeter/interface/CaloEmCand.h" @@ -47,7 +43,6 @@ #include "DataFormats/L1Trigger/interface/Tau.h" #include "DataFormats/L1Trigger/interface/Jet.h" #include "DataFormats/L1Trigger/interface/EtSum.h" -#include "DataFormats/L1Trigger/interface/CaloSpare.h" #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessor.h" #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2FirmwareFactory.h" @@ -80,9 +75,9 @@ namespace l1t { // ----------member data --------------------------- unsigned long long m_paramsCacheId; // Cache-ID from current parameters, to check if needs to be updated. - CaloParamsStage1* m_params; + CaloParams* m_dbpars; - //boost::shared_ptr m_params; // Database parameters for the trigger, to be updated as needed. + //boost::shared_ptr m_dbpars; // Database parameters for the trigger, to be updated as needed. //boost::shared_ptr m_fwv; //boost::shared_ptr m_fwv; //not const during testing. int m_fwv; @@ -94,7 +89,6 @@ namespace l1t { // to be extended with other "consumes" stuff EDGetToken regionToken; EDGetToken candsToken; - }; // @@ -107,40 +101,63 @@ namespace l1t { produces>(); produces>(); produces>(); - produces>(); // register what you consume and keep token for later access: regionToken = consumes>(iConfig.getParameter("CaloRegions")); candsToken = consumes>(iConfig.getParameter("CaloEmCands")); int ifwv=iConfig.getParameter("FirmwareVersion"); // LenA make configurable for now + unsigned regionETCutForHT(iConfig.getParameter("regionETCutForHT")); + unsigned regionETCutForMET(iConfig.getParameter("regionETCutForMET")); + int minGctEtaForSums(iConfig.getParameter("minGctEtaForSums")); + int maxGctEtaForSums(iConfig.getParameter("maxGctEtaForSums")); + double jetSeedThreshold(iConfig.getParameter("jetSeedThreshold")); + double egSeedThreshold(iConfig.getParameter("egSeedThreshold")); + double tauSeedThreshold(iConfig.getParameter("tauSeedThreshold")); + double egRelativeJetIsolationCut(iConfig.getParameter("egRelativeJetIsolationCut")); + double tauRelativeJetIsolationCut(iConfig.getParameter("tauRelativeJetIsolationCut")); + bool PUSubtract(iConfig.getParameter("PUSubtract")); + std::vector regionSubtraction(iConfig.getParameter >("regionSubtraction")); + + bool applyJetCalibration(iConfig.getParameter("applyJetCalibration")); + std::vector jetSF(iConfig.getParameter >("jetSF")); //m_fwv = boost::shared_ptr(new FirmwareVersion()); //not const during testing if (ifwv == 1){ - LogDebug("l1t|stage1firmware") << "Stage1Layer2Producer -- Running HI implementation\n"; + LogDebug("l1t|stage 1 jets") << "Stage1Layer2Producer -- Running HI implementation\n"; std::cout << "Stage1Layer2Producer -- Running HI implementation\n"; }else if (ifwv == 2){ - LogDebug("l1t|stage1firmware") << "Stage1Layer2Producer -- Running pp implementation\n"; + LogDebug("l1t|stage 1 jets") << "Stage1Layer2Producer -- Running pp implementation\n"; std::cout << "Stage1Layer2Producer -- Running pp implementation\n"; - } else if (ifwv == 3){ - LogDebug("l1t|stage1firmware") << "Stage1Layer2Producer -- Running SimpleHW implementation\n"; - std::cout << "Stage1Layer2Producer -- Running SimpleHW implementation -- for testing only\n"; }else{ - LogError("l1t|stage1firmware") << "Stage1Layer2Producer -- Unknown implementation.\n"; + LogError("l1t|stage 1 jets") << "Stage1Layer2Producer -- Unknown implementation.\n"; std::cout << "Stage1Layer2Producer -- Unknown implementation.\n"; } //m_fwv->setFirmwareVersion(ifwv); // =1 HI, =2 PP - // m_fw = m_factory.create(*m_fwv /*,*m_params*/); + // m_fw = m_factory.create(*m_fwv /*,*m_dbpars*/); m_fwv = ifwv; - m_params = new CaloParamsStage1; - - m_fw = m_factory.create(m_fwv ,m_params); + m_dbpars = new CaloParams; + m_dbpars->setRegionETCutForHT(regionETCutForHT); + m_dbpars->setRegionETCutForMET(regionETCutForMET); + m_dbpars->setMinGctEtaForSums(minGctEtaForSums); + m_dbpars->setMaxGctEtaForSums(maxGctEtaForSums); + m_dbpars->setJetSeedThreshold(jetSeedThreshold); + m_dbpars->setEgSeedThreshold(egSeedThreshold); + m_dbpars->setTauSeedThreshold(tauSeedThreshold); + m_dbpars->setEgRelativeJetIsolationCut(egRelativeJetIsolationCut); + m_dbpars->setTauRelativeJetIsolationCut(tauRelativeJetIsolationCut); + m_dbpars->setPUSubtract(PUSubtract); + m_dbpars->setregionSubtraction(regionSubtraction); + m_dbpars->setapplyJetCalibration(applyJetCalibration); + m_dbpars->setjetSF(jetSF); + + m_fw = m_factory.create(m_fwv ,m_dbpars); //printf("Success create.\n"); if (! m_fw) { // we complain here once per job - LogError("l1t|stage1firmware") << "Stage1Layer2Producer: firmware could not be configured.\n"; + LogError("l1t|stage 1 jets") << "Stage1Layer2Producer: firmware could not be configured.\n"; } // set cache id to zero, will be set at first beginRun: @@ -182,13 +199,11 @@ Stage1Layer2Producer::produce(Event& iEvent, const EventSetup& iSetup) std::auto_ptr taus (new l1t::TauBxCollection); std::auto_ptr jets (new l1t::JetBxCollection); std::auto_ptr etsums (new l1t::EtSumBxCollection); - std::auto_ptr calospares (new l1t::CaloSpareBxCollection); egammas->setBXRange(bxFirst, bxLast); taus->setBXRange(bxFirst, bxLast); jets->setBXRange(bxFirst, bxLast); etsums->setBXRange(bxFirst, bxLast); - calospares->setBXRange(bxFirst, bxLast); //producer is responsible for splitting the BXVector into pieces for //the firmware to handle @@ -203,7 +218,6 @@ Stage1Layer2Producer::produce(Event& iEvent, const EventSetup& iSetup) std::vector *localTaus = new std::vector(); std::vector *localJets = new std::vector(); std::vector *localEtSums = new std::vector(); - std::vector *localCaloSpares = new std::vector(); // copy over the inputs -> there must be a better way to do this for(std::vector::const_iterator region = caloRegions->begin(i); @@ -215,8 +229,7 @@ Stage1Layer2Producer::produce(Event& iEvent, const EventSetup& iSetup) //run the firmware on one event m_fw->processEvent(*localEmCands, *localRegions, - localEGammas, localTaus, localJets, localEtSums, - localCaloSpares); + localEGammas, localTaus, localJets, localEtSums); // copy the output into the BXVector -> there must be a better way for(std::vector::const_iterator eg = localEGammas->begin(); eg != localEGammas->end(); ++eg) @@ -227,9 +240,6 @@ Stage1Layer2Producer::produce(Event& iEvent, const EventSetup& iSetup) jets->push_back(i, *jet); for(std::vector::const_iterator etsum = localEtSums->begin(); etsum != localEtSums->end(); ++etsum) etsums->push_back(i, *etsum); - for(std::vector::const_iterator calospare = localCaloSpares->begin(); calospare != localCaloSpares->end(); ++calospare) - calospares->push_back(i, *calospare); - delete localRegions; delete localEmCands; @@ -237,7 +247,7 @@ Stage1Layer2Producer::produce(Event& iEvent, const EventSetup& iSetup) delete localTaus; delete localJets; delete localEtSums; - delete localCaloSpares; + } @@ -245,7 +255,7 @@ Stage1Layer2Producer::produce(Event& iEvent, const EventSetup& iSetup) iEvent.put(taus); iEvent.put(jets); iEvent.put(etsums); - iEvent.put(calospares); + } // ------------ method called once each job just before starting event loop ------------ @@ -263,47 +273,18 @@ Stage1Layer2Producer::endJob() { void Stage1Layer2Producer::beginRun(Run const&iR, EventSetup const&iE){ - unsigned long long id = iE.get().cacheIdentifier(); - - if (id != m_paramsCacheId) { - - m_paramsCacheId = id; - - edm::ESHandle paramsHandle; - iE.get().get(paramsHandle); - - // replace our local copy of the parameters with a new one using placement new - m_params->~CaloParamsStage1(); - m_params = new (m_params) CaloParamsStage1(*paramsHandle.product()); - - LogDebug("L1TDebug") << *m_params << std::endl; - - if (! m_params){ - edm::LogError("l1t|caloStage1") << "Could not retrieve params from Event Setup" << std::endl; - } - - } - LogDebug("l1t|stage 1 jets") << "Stage1Layer2Producer::beginRun function called...\n"; - //get the proper scales for conversion to physical et AND gt scales + //get the proper scales for conversion to physical et edm::ESHandle< L1CaloEtScale > emScale ; iE.get< L1EmEtScaleRcd >().get( emScale ) ; - m_params->setEmScale(*emScale); edm::ESHandle< L1CaloEtScale > jetScale ; iE.get< L1JetEtScaleRcd >().get( jetScale ) ; - m_params->setJetScale(*jetScale); - - edm::ESHandle< L1CaloEtScale > HtMissScale; - iE.get< L1HtMissScaleRcd >().get( HtMissScale ) ; - m_params->setHtMissScale(*HtMissScale); - //not sure if I need this one - edm::ESHandle< L1CaloEtScale > HfRingScale; - iE.get< L1HfRingEtScaleRcd >().get( HfRingScale ); - m_params->setHfRingScale(*HfRingScale); + m_dbpars->setEmScale(emScale->linearLsb()); + m_dbpars->setJetScale(jetScale->linearLsb()); //unsigned long long id = iE.get().cacheIdentifier(); @@ -316,7 +297,7 @@ void Stage1Layer2Producer::beginRun(Run const&iR, EventSetup const&iE){ // LenA move the setting of the firmware version to the Stage1Layer2Producer constructor - //m_params = boost::shared_ptr(parameters.product()); + //m_dbpars = boost::shared_ptr(parameters.product()); //m_fwv = boost::shared_ptr(new FirmwareVersion()); //printf("Begin.\n"); //m_fwv = boost::shared_ptr(new FirmwareVersion()); //not const during testing @@ -324,12 +305,12 @@ void Stage1Layer2Producer::beginRun(Run const&iR, EventSetup const&iE){ //m_fwv->setFirmwareVersion(1); //hardcode for now, 1=HI, 2=PP //printf("Success m_fwv version set.\n"); - // if (! m_params){ + // if (! m_dbpars){ // LogError("l1t|stage 1 jets") << "Stage1Layer2Producer: could not retreive DB params from Event Setup\n"; // } // Set the current algorithm version based on DB pars from database: - //m_fw = m_factory.create(*m_fwv /*,*m_params*/); + //m_fw = m_factory.create(*m_fwv /*,*m_dbpars*/); //printf("Success create.\n"); //if (! m_fw) { diff --git a/L1Trigger/L1TCalorimeter/plugins/Stage2CaloAnalyzer.cc b/L1Trigger/L1TCalorimeter/plugins/Stage2CaloAnalyzer.cc index e9dd650d12014..56874f560dfaa 100644 --- a/L1Trigger/L1TCalorimeter/plugins/Stage2CaloAnalyzer.cc +++ b/L1Trigger/L1TCalorimeter/plugins/Stage2CaloAnalyzer.cc @@ -42,8 +42,6 @@ #include "DataFormats/L1Trigger/interface/Jet.h" #include "DataFormats/L1Trigger/interface/EtSum.h" -#include "TH1F.h" -#include "TH2F.h" // // class declaration @@ -76,13 +74,6 @@ class Stage2CaloAnalyzer : public edm::EDAnalyzer { edm::EDGetToken m_tauToken; edm::EDGetToken m_jetToken; edm::EDGetToken m_sumToken; - - bool m_doTowers; - bool m_doClusters; - bool m_doEGs; - bool m_doTaus; - bool m_doJets; - bool m_doSums; enum ObjectType{Tower=0x1, Cluster=0x2, @@ -98,11 +89,9 @@ class Stage2CaloAnalyzer : public edm::EDAnalyzer { std::map< ObjectType, TH1F* > het_; std::map< ObjectType, TH1F* > heta_; std::map< ObjectType, TH1F* > hphi_; - std::map< ObjectType, TH1F* > hbx_; std::map< ObjectType, TH1F* > hem_; std::map< ObjectType, TH1F* > hhad_; std::map< ObjectType, TH1F* > hratio_; - std::map< ObjectType, TH2F* > hetaphi_; }; @@ -122,31 +111,12 @@ Stage2CaloAnalyzer::Stage2CaloAnalyzer(const edm::ParameterSet& iConfig) //now do what ever initialization is needed // register what you consume and keep token for later access: - edm::InputTag nullTag("None"); - - edm::InputTag towerTag = iConfig.getParameter("towerToken"); - m_towerToken = consumes(towerTag); - m_doTowers = !(towerTag==nullTag); - - edm::InputTag clusterTag = iConfig.getParameter("clusterToken"); - m_clusterToken = consumes(clusterTag); - m_doClusters = !(clusterTag==nullTag); - - edm::InputTag egTag = iConfig.getParameter("egToken"); - m_egToken = consumes(egTag); - m_doEGs = !(egTag==nullTag); - - edm::InputTag tauTag = iConfig.getParameter("tauToken"); - m_tauToken = consumes(tauTag); - m_doTaus = !(tauTag==nullTag); - - edm::InputTag jetTag = iConfig.getParameter("jetToken"); - m_jetToken = consumes(jetTag); - m_doJets = !(jetTag==nullTag); - - edm::InputTag sumTag = iConfig.getParameter("etSumToken"); - m_sumToken = consumes(sumTag); - m_doSums = !(sumTag==nullTag); + m_towerToken = consumes (iConfig.getParameter("towerToken")); + m_clusterToken = consumes(iConfig.getParameter("clusterToken")); + m_egToken = consumes (iConfig.getParameter("egToken")); + m_tauToken = consumes (iConfig.getParameter("tauToken")); + m_jetToken = consumes (iConfig.getParameter("jetToken")); + m_sumToken = consumes (iConfig.getParameter("etSumToken")); types_.push_back( Tower ); types_.push_back( Cluster ); @@ -184,143 +154,74 @@ Stage2CaloAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSe { using namespace edm; + // only does anything for BX=0 right now + // get TPs ? // get regions ? // get RCT clusters ? - + + // get towers - if (m_doTowers) { - Handle< BXVector > towers; - iEvent.getByToken(m_towerToken,towers); - - for ( int ibx=towers->getFirstBX(); ibx<=towers->getLastBX(); ++ibx) { - - if (ibx>-6 && ibx<6) { - hbx_.at(Tower)->Fill( ibx ); - } - - for ( auto itr = towers->begin(ibx); itr !=towers->end(ibx); ++itr ) { - het_.at(Tower)->Fill( itr->hwPt() ); - heta_.at(Tower)->Fill( itr->hwEta() ); - hphi_.at(Tower)->Fill( itr->hwPhi() ); - hem_.at(Tower)->Fill( itr->hwEtEm() ); - hhad_.at(Tower)->Fill( itr->hwEtHad() ); - hratio_.at(Tower)->Fill( itr->hwEtRatio() ); - hetaphi_.at(Tower)->Fill( itr->hwEta(), itr->hwPhi(), itr->hwPt() ); - } - - } - + Handle< BXVector > towers; + iEvent.getByToken(m_towerToken,towers); + + for ( auto itr = towers->begin(0); itr != towers->end(0); ++itr ) { + het_.at(Tower)->Fill( itr->hwPt() ); + heta_.at(Tower)->Fill( itr->hwEta() ); + hphi_.at(Tower)->Fill( itr->hwPhi() ); + hem_.at(Tower)->Fill( itr->hwEtEm() ); + hhad_.at(Tower)->Fill( itr->hwEtHad() ); + hratio_.at(Tower)->Fill( itr->hwEtRatio() ); } // get cluster - if (m_doClusters) { - Handle< BXVector > clusters; - iEvent.getByToken(m_clusterToken,clusters); - - for ( int ibx=clusters->getFirstBX(); ibx<=clusters->getLastBX(); ++ibx) { + Handle< BXVector > clusters; + iEvent.getByToken(m_clusterToken,clusters); - if (ibx>-6 && ibx<6) { - hbx_.at(Cluster)->Fill( ibx ); - } - - for ( auto itr = clusters->begin(ibx); itr !=clusters->end(ibx); ++itr ) { - het_.at(Cluster)->Fill( itr->hwPt() ); - heta_.at(Cluster)->Fill( itr->hwEta() ); - hphi_.at(Cluster)->Fill( itr->hwPhi() ); - hetaphi_.at(Cluster)->Fill( itr->hwEta(), itr->hwPhi(), itr->hwPt() ); - } - - } - + for ( auto itr = clusters->begin(0); itr !=clusters->end(0); ++itr ) { + het_.at(Cluster)->Fill( itr->hwPt() ); + heta_.at(Cluster)->Fill( itr->hwEta() ); + hphi_.at(Cluster)->Fill( itr->hwPhi() ); } - // get EG - if (m_doEGs) { - Handle< BXVector > egs; - iEvent.getByToken(m_egToken,egs); - - for ( int ibx=egs->getFirstBX(); ibx<=egs->getLastBX(); ++ibx) { - - if (ibx>-6 && ibx<6) { - hbx_.at(EG)->Fill( ibx ); - } - - for ( auto itr = egs->begin(ibx); itr != egs->end(ibx); ++itr ) { - het_.at(EG)->Fill( itr->hwPt() ); - heta_.at(EG)->Fill( itr->hwEta() ); - hphi_.at(EG)->Fill( itr->hwPhi() ); - hetaphi_.at(EG)->Fill( itr->hwEta(), itr->hwPhi(), itr->hwPt() ); - } - - } + // get EG + Handle< BXVector > egs; + iEvent.getByToken(m_egToken,egs); + for ( auto itr = egs->begin(0); itr != egs->end(0); ++itr ) { + het_.at(EG)->Fill( itr->hwPt() ); + heta_.at(EG)->Fill( itr->hwEta() ); + hphi_.at(EG)->Fill( itr->hwPhi() ); } // get tau - if (m_doTaus) { - Handle< BXVector > taus; - iEvent.getByToken(m_tauToken,taus); - - for ( int ibx=taus->getFirstBX(); ibx<=taus->getLastBX(); ++ibx) { - - if (ibx>-6 && ibx<6) { - hbx_.at(Tau)->Fill( ibx ); - } - - for ( auto itr = taus->begin(ibx); itr != taus->end(ibx); ++itr ) { - het_.at(Tau)->Fill( itr->hwPt() ); - heta_.at(Tau)->Fill( itr->hwEta() ); - hphi_.at(Tau)->Fill( itr->hwPhi() ); - hetaphi_.at(Tau)->Fill( itr->hwEta(), itr->hwPhi(), itr->hwPt() ); - } - - } - + Handle< BXVector > taus; + iEvent.getByToken(m_tauToken,taus); + + for ( auto itr = taus->begin(0); itr != taus->end(0); ++itr ) { + het_.at(Tau)->Fill( itr->hwPt() ); + heta_.at(Tau)->Fill( itr->hwEta() ); + hphi_.at(Tau)->Fill( itr->hwPhi() ); } // get jet - if (m_doJets) { - Handle< BXVector > jets; - iEvent.getByToken(m_jetToken,jets); - - for ( int ibx=jets->getFirstBX(); ibx<=jets->getLastBX(); ++ibx) { - - if (ibx>-6 && ibx<6) { - hbx_.at(Jet)->Fill( ibx ); - } - - for ( auto itr = jets->begin(ibx); itr != jets->end(ibx); ++itr ) { - het_.at(Jet)->Fill( itr->hwPt() ); - heta_.at(Jet)->Fill( itr->hwEta() ); - hphi_.at(Jet)->Fill( itr->hwPhi() ); - hetaphi_.at(Jet)->Fill( itr->hwEta(), itr->hwPhi(), itr->hwPt() ); - } - - } + Handle< BXVector > jets; + iEvent.getByToken(m_jetToken,jets); + for ( auto itr = jets->begin(0); itr != jets->end(0); ++itr ) { + het_.at(Jet)->Fill( itr->hwPt() ); + heta_.at(Jet)->Fill( itr->hwEta() ); + hphi_.at(Jet)->Fill( itr->hwPhi() ); } // get sums - if (m_doSums) { - Handle< BXVector > sums; - iEvent.getByToken(m_sumToken,sums); - - for ( int ibx=sums->getFirstBX(); ibx<=sums->getLastBX(); ++ibx) { - - if (ibx>-6 && ibx<6) { - hbx_.at(Sum)->Fill( ibx ); - } - - for ( auto itr = sums->begin(ibx); itr != sums->end(ibx); ++itr ) { - het_.at(Sum)->Fill( itr->hwPt() ); - heta_.at(Sum)->Fill( itr->hwEta() ); - hphi_.at(Sum)->Fill( itr->hwPhi() ); - hetaphi_.at(Sum)->Fill( itr->hwEta(), itr->hwPhi(), itr->hwPt() ); - } - - } + Handle< BXVector > sums; + iEvent.getByToken(m_sumToken,sums); + for ( auto itr = sums->begin(0); itr != sums->end(0); ++itr ) { + het_.at(Sum)->Fill( itr->hwPt() ); + heta_.at(Sum)->Fill( itr->hwEta() ); + hphi_.at(Sum)->Fill( itr->hwPhi() ); } } @@ -340,16 +241,14 @@ Stage2CaloAnalyzer::beginJob() dirs_.insert( std::pair< ObjectType, TFileDirectory >(*itr, fs->mkdir(*str) ) ); - het_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("et", "", 101, -0.5, 100.5) )); - heta_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("eta", "", 83, -41.5, 41.5) )); - hphi_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("phi", "", 73, 0.5, 72.5) )); - hbx_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("bx", "", 11, -5.5, 5.5) )); - hetaphi_.insert( std::pair< ObjectType, TH2F* >(*itr, dirs_.at(*itr).make("etaphi", "", 83, -41.5, 41.5, 72, .5, 72.5) )); + het_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("et", "", 50, 0., 100.) )); + heta_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("eta", "", 70, -35., 35.) )); + hphi_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("phi", "", 72, 0., 72.) )); if (*itr==Tower) { - hem_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("em", "", 101, -0.5, 100.5) )); - hhad_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("had", "", 101, -0.5, 100.5) )); - hratio_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("ratio", "", 11, -0.5, 10.5) )); + hem_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("em", "", 50, 0., 100.) )); + hhad_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("had", "", 50, 0., 100.) )); + hratio_.insert( std::pair< ObjectType, TH1F* >(*itr, dirs_.at(*itr).make("ratio", "", 10, 0., 10.) )); } } diff --git a/L1Trigger/L1TCalorimeter/plugins/Stage2InputPatternWriter.cc b/L1Trigger/L1TCalorimeter/plugins/Stage2InputPatternWriter.cc index 803a750eb4f80..cbca1cef04907 100644 --- a/L1Trigger/L1TCalorimeter/plugins/Stage2InputPatternWriter.cc +++ b/L1Trigger/L1TCalorimeter/plugins/Stage2InputPatternWriter.cc @@ -75,15 +75,11 @@ class Stage2InputPatternWriter : public edm::EDAnalyzer { unsigned nQuad_; unsigned nLink_; unsigned nFramePerEvent_; - unsigned nClearFrame_; unsigned nFrame_; // data arranged by link and frame std::vector< std::vector > data_; - // data valid flags (just one per frame for now) - std::vector dataValid_; - // map of towers onto links/frames std::map< int, int > map_; @@ -110,10 +106,10 @@ Stage2InputPatternWriter::Stage2InputPatternWriter(const edm::ParameterSet& iCon filename_ = iConfig.getUntrackedParameter("filename", "pattern.txt"); nChan_ = 4; - nQuad_ = 18; + nQuad_ = 36; + + nFramePerEvent_ = 32; - nFramePerEvent_ = 41; - nClearFrame_ = 4; nFrame_ = 0; nLink_ = nChan_ * nQuad_; @@ -158,8 +154,6 @@ Stage2InputPatternWriter::analyze(const edm::Event& iEvent, const edm::EventSetu // loop over frames for ( unsigned iFrame=0; iFrameid().iphi(); int ietIn = ecalItr->compressedEt(); - bool ifg = ecalItr->fineGrain(); + //int ifg = ecalItr->fineGrain(); // decompress double et = ecalScale->et( ietIn, abs(ieta), (ieta>0) ); @@ -196,7 +196,6 @@ l1t::Stage2Layer1Producer::produce(edm::Event& iEvent, const edm::EventSetup& iS int itow = CaloTools::caloTowerHash(ieta, iphi); localInTowers->at(itow).setHwEtEm(ietOut);// & ietOutMask); - localInTowers->at(itow).setHwQual( localInTowers->at(itow).hwQual() | (ifg ? 0x4 : 0x0) ); } diff --git a/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_HIFromRaw_cff.py b/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_HIFromRaw_cff.py deleted file mode 100644 index 00c700b234233..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_HIFromRaw_cff.py +++ /dev/null @@ -1,31 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from L1Trigger.L1TCalorimeter.caloStage1Params_cfi import * -from Configuration.StandardSequences.RawToDigi_Repacked_cff import ecalDigis, hcalDigis - -# RCT -from L1Trigger.Configuration.SimL1Emulator_cff import simRctDigis -simRctDigis.ecalDigis = cms.VInputTag(cms.InputTag('ecalDigis:EcalTriggerPrimitives')) -simRctDigis.hcalDigis = cms.VInputTag(cms.InputTag('hcalDigis')) - -# stage 1 itself -from L1Trigger.L1TCalorimeter.L1TCaloStage1_cff import * -rctUpgradeFormatDigis.regionTag = cms.InputTag("simRctDigis") -rctUpgradeFormatDigis.emTag = cms.InputTag("simRctDigis") -caloStage1Digis.FirmwareVersion = cms.uint32(1) # 1=HI algos, 2=PP al -caloStage1Params.jetSeedThreshold = cms.double(0.) - -# GT -from L1Trigger.Configuration.SimL1Emulator_cff import simGtDigis -simGtDigis.GmtInputTag = 'gtDigis' -simGtDigis.GctInputTag = 'caloStage1LegacyFormatDigis' -simGtDigis.TechnicalTriggersInputTags = cms.VInputTag( ) - -# the sequence -L1TCaloStage1_HIFromRaw = cms.Sequence( - ecalDigis - +hcalDigis - +simRctDigis - +L1TCaloStage1 - +simGtDigis -) diff --git a/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_PPFromRaw_cff.py b/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_PPFromRaw_cff.py deleted file mode 100644 index 166fb7bc8440e..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_PPFromRaw_cff.py +++ /dev/null @@ -1,55 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from L1Trigger.L1TCalorimeter.caloStage1Params_cfi import * - -# HCAL TP hack -from L1Trigger.L1TCalorimeter.L1TRerunHCALTP_FromRaw_cff import * - -### CCLA include latest RCT calibrations from UCT -from L1Trigger.L1TCalorimeter.caloStage1RCTLuts_cff import * - -from Configuration.StandardSequences.RawToDigi_Data_cff import ecalDigis - -# RCT -# HCAL input would be from hcalDigis if hack not needed -from L1Trigger.Configuration.SimL1Emulator_cff import simRctDigis -simRctDigis.ecalDigis = cms.VInputTag( cms.InputTag( 'ecalDigis:EcalTriggerPrimitives' ) ) -simRctDigis.hcalDigis = cms.VInputTag( cms.InputTag( 'simHcalTriggerPrimitiveDigis' ) ) - -# stage 1 itself -from L1Trigger.L1TCalorimeter.L1TCaloStage1_cff import * -rctUpgradeFormatDigis.regionTag = cms.InputTag("simRctDigis") -rctUpgradeFormatDigis.emTag = cms.InputTag("simRctDigis") - -# GT -from L1Trigger.Configuration.SimL1Emulator_cff import simGtDigis -simGtDigis.GmtInputTag = 'gtDigis' -simGtDigis.GctInputTag = 'caloStage1LegacyFormatDigis' -simGtDigis.TechnicalTriggersInputTags = cms.VInputTag( ) - -# L1Extra -import L1Trigger.Configuration.L1Extra_cff -l1ExtraLayer2 = L1Trigger.Configuration.L1Extra_cff.l1extraParticles.clone() -l1ExtraLayer2.isolatedEmSource = cms.InputTag("caloStage1LegacyFormatDigis","isoEm") -l1ExtraLayer2.nonIsolatedEmSource = cms.InputTag("caloStage1LegacyFormatDigis","nonIsoEm") - -l1ExtraLayer2.forwardJetSource = cms.InputTag("caloStage1LegacyFormatDigis","forJets") -l1ExtraLayer2.centralJetSource = cms.InputTag("caloStage1LegacyFormatDigis","cenJets") -l1ExtraLayer2.tauJetSource = cms.InputTag("caloStage1LegacyFormatDigis","tauJets") - -l1ExtraLayer2.etTotalSource = cms.InputTag("caloStage1LegacyFormatDigis") -l1ExtraLayer2.etHadSource = cms.InputTag("caloStage1LegacyFormatDigis") -l1ExtraLayer2.etMissSource = cms.InputTag("caloStage1LegacyFormatDigis") -l1ExtraLayer2.htMissSource = cms.InputTag("caloStage1LegacyFormatDigis") - -l1ExtraLayer2.hfRingEtSumsSource = cms.InputTag("caloStage1LegacyFormatDigis") -l1ExtraLayer2.hfRingBitCountsSource = cms.InputTag("caloStage1LegacyFormatDigis") - -# the sequence -L1TCaloStage1_PPFromRaw = cms.Sequence( - L1TRerunHCALTP_FromRAW - +ecalDigis - +simRctDigis - +L1TCaloStage1 - +simGtDigis -) diff --git a/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_cff.py b/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_cff.py deleted file mode 100644 index 5694604026834..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_cff.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from L1Trigger.L1TCalorimeter.rctUpgradeFormatDigis_cfi import * -from L1Trigger.L1TCalorimeter.caloStage1Digis_cfi import * -from L1Trigger.L1TCalorimeter.caloStage1FinalDigis_cfi import * -from L1Trigger.L1TCalorimeter.caloStage1LegacyFormatDigis_cfi import * - -L1TCaloStage1 = cms.Sequence( - rctUpgradeFormatDigis + - caloStage1Digis + - caloStage1FinalDigis + - caloStage1LegacyFormatDigis -) diff --git a/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_customForHLT.py b/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_customForHLT.py deleted file mode 100644 index d74f0bd7c5679..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/L1TCaloStage1_customForHLT.py +++ /dev/null @@ -1,63 +0,0 @@ -# customization fragments to run L1Emulator with hltGetConfiguration -# - -import FWCore.ParameterSet.Config as cms - -############################################################################## - -def customiseL1CaloAndGtEmulatorsFromRaw(process): - # customization fragment to run calorimeter emulators (TPGs and L1 calorimeter emulators) - # and GT emulator starting from a RAW file assuming that "RawToDigi_cff" and "SimL1Emulator_cff" - # have already been loaded - - ## # run Calo TPGs on unpacked digis - ## process.load('L1Trigger.Configuration.CaloTriggerPrimitives_cff') - ## process.simEcalTriggerPrimitiveDigis.Label = 'ecalDigis' - ## process.simHcalTriggerPrimitiveDigis.inputLabel = cms.VInputTag( - ## cms.InputTag('hcalDigis'), - ## cms.InputTag('hcalDigis') - ## ) - - # do not run muon emulators - instead, use unpacked GMT digis for GT input - # (GMT digis produced by same module as the GT digis, as GT and GMT have common unpacker) - process.simRpcTechTrigDigis.RPCDigiLabel = 'muonRPCDigis' - process.simGtDigis.GmtInputTag = 'gtDigis' - - # RCT - # HCAL input would be from hcalDigis if hack not needed - from L1Trigger.Configuration.SimL1Emulator_cff import simRctDigis - simRctDigis.ecalDigis = cms.VInputTag( cms.InputTag( 'ecalDigis:EcalTriggerPrimitives' ) ) - simRctDigis.hcalDigis = cms.VInputTag( cms.InputTag( 'simHcalTriggerPrimitiveDigis' ) ) - - # stage 1 itself - from L1Trigger.L1TCalorimeter.L1TCaloStage1_cff import rctUpgradeFormatDigis - ## process.load('L1Trigger.L1TCalorimeter.L1TCaloStage1_cff') - rctUpgradeFormatDigis.regionTag = cms.InputTag("simRctDigis") - rctUpgradeFormatDigis.emTag = cms.InputTag("simRctDigis") - - # GT - from L1Trigger.Configuration.SimL1Emulator_cff import simGtDigis - simGtDigis.GmtInputTag = 'gtDigis' - simGtDigis.GctInputTag = 'caloStage1LegacyFormatDigis' - simGtDigis.TechnicalTriggersInputTags = cms.VInputTag( ) - - # run Calo TPGs, L1 GCT, technical triggers, L1 GT - SimL1Emulator = cms.Sequence( - process.L1TRerunHCALTP_FromRAW + - process.ecalDigis + - process.simRctDigis + - process.L1TCaloStage1 + - process.simGtDigis ) - - # replace the SimL1Emulator in all paths and sequences - for iterable in process.sequences.itervalues(): - iterable.replace( process.SimL1Emulator, SimL1Emulator) - for iterable in process.paths.itervalues(): - iterable.replace( process.SimL1Emulator, SimL1Emulator) - for iterable in process.endpaths.itervalues(): - iterable.replace( process.SimL1Emulator, SimL1Emulator) - process.SimL1Emulator = SimL1Emulator - - return process - -############################################################################## diff --git a/L1Trigger/L1TCalorimeter/python/L1TCaloStage2_PPFromRaw_cff.py b/L1Trigger/L1TCalorimeter/python/L1TCaloStage2_PPFromRaw_cff.py deleted file mode 100644 index 89404680c558d..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/L1TCaloStage2_PPFromRaw_cff.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from L1Trigger.L1TCalorimeter.caloStage2Params_cfi import * - -# HCAL TP hack -from L1Trigger.L1TCalorimeter.L1TRerunHCALTP_FromRaw_cff import * - -# stage 2 -from L1Trigger.L1TCalorimeter.L1TCaloStage2_cff import * -caloStage2Layer1Digis.hcalToken = cms.InputTag('simHcalTriggerPrimitiveDigis') - -# the sequence -L1TCaloStage2_PPFromRaw = cms.Sequence( - L1TRerunHCALTP_FromRAW - +L1TCaloStage2 -) diff --git a/L1Trigger/L1TCalorimeter/python/L1TCaloStage2_cff.py b/L1Trigger/L1TCalorimeter/python/L1TCaloStage2_cff.py index 72b0380681312..3c9129eccdc72 100644 --- a/L1Trigger/L1TCalorimeter/python/L1TCaloStage2_cff.py +++ b/L1Trigger/L1TCalorimeter/python/L1TCaloStage2_cff.py @@ -1,9 +1,12 @@ import FWCore.ParameterSet.Config as cms -from L1Trigger.L1TCalorimeter.caloStage2Layer1Digis_cfi import * -from L1Trigger.L1TCalorimeter.caloStage2Digis_cfi import * +from L1Trigger.L1TCalorimeter.l1tCaloStage2Params_cfi import * +from L1Trigger.L1TCalorimeter.l1tCaloStage2Layer1Digis_cfi import * +from L1Trigger.L1TCalorimeter.l1tCaloStage2Digis_cfi import * + +#content = cms.EDAnalyzer("EventContentAnalyzer") L1TCaloStage2 = cms.Sequence( - caloStage2Layer1Digis + - caloStage2Digis + l1tCaloStage2Layer1Digis + + l1tCaloStage2Digis ) diff --git a/L1Trigger/L1TCalorimeter/python/L1TRerunHCALTP_FromRaw_cff.py b/L1Trigger/L1TCalorimeter/python/L1TRerunHCALTP_FromRaw_cff.py deleted file mode 100644 index 7a3fafab78f99..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/L1TRerunHCALTP_FromRaw_cff.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.StandardSequences.RawToDigi_Data_cff import hcalDigis - -from SimCalorimetry.HcalTrigPrimProducers.hcaltpdigi_cff import * -simHcalTriggerPrimitiveDigis.inputLabel = cms.VInputTag( - cms.InputTag('hcalDigis'), - cms.InputTag('hcalDigis') -) - -HcalTPGCoderULUT.LUTGenerationMode = cms.bool(True) - -L1TRerunHCALTP_FromRAW = cms.Sequence( - hcalDigis - * simHcalTriggerPrimitiveDigis -) diff --git a/L1Trigger/L1TCalorimeter/python/L1TRerunHCALTP_cff.py b/L1Trigger/L1TCalorimeter/python/L1TRerunHCALTP_cff.py deleted file mode 100644 index 0ad9f115a54f9..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/L1TRerunHCALTP_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from SimCalorimetry.HcalTrigPrimProducers.hcaltpdigi_cff import * - -HcalTPGCoderULUT.LUTGenerationMode = cms.bool(True) - -L1TRerunHCALTP = cms.Sequence( - simHcalTriggerPrimitiveDigis -) diff --git a/L1Trigger/L1TCalorimeter/python/caloParams_cfi.py b/L1Trigger/L1TCalorimeter/python/caloParams_cfi.py deleted file mode 100644 index 95d6d175cb796..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/caloParams_cfi.py +++ /dev/null @@ -1,81 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -caloParamsSource = cms.ESSource( - "EmptyESSource", - recordName = cms.string('L1TCaloParamsRcd'), - iovIsRunNotTime = cms.bool(True), - firstValid = cms.vuint32(1) -) - -caloParams = cms.ESProducer( - "l1t::CaloParamsESProducer", - - # towers - towerLsbH = cms.double(0.5), - towerLsbE = cms.double(0.5), - towerLsbSum = cms.double(0.5), - towerNBitsH = cms.int32(8), - towerNBitsE = cms.int32(8), - towerNBitsSum = cms.int32(9), - towerNBitsRatio = cms.int32(3), - towerEncoding = cms.bool(False), - - # regions - regionLsb = cms.double(0.5), - regionPUSType = cms.string("None"), - regionPUSParams = cms.vdouble(), - - # EG - egLsb = cms.double(0.5), - egSeedThreshold = cms.double(2.), - egNeighbourThreshold = cms.double(1.), - egHcalThreshold = cms.double(1.), - egMaxHcalEt = cms.double(0.), - egEtToRemoveHECut = cms.double(128.), - egMaxHOverE = cms.double(0.15), -egMaxHOverELUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egMaxHOverELUT.txt"), - egShapeIdLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egShapeIdLUT.txt"), - egCalibrationLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egCalibrationLUT.txt"), - egRelativeJetIsolationBarrelCut = cms.double(0.3), # 0.3 for loose, 0.2 for tight - egRelativeJetIsolationEndcapCut = cms.double(0.5), # 0.5 for loose, 0.4 for tight - egIsoPUSType = cms.string("None"), - egIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egIsoLUT.txt"), - egIsoAreaNrTowersEta = cms.uint32(2), - egIsoAreaNrTowersPhi = cms.uint32(4), - egIsoVetoNrTowersPhi = cms.uint32(3), - egIsoPUEstTowerGranularity = cms.uint32(1), - egIsoMaxEtaAbsForTowerSum = cms.uint32(4), - egIsoMaxEtaAbsForIsoSum = cms.uint32(27), - - # Tau - tauLsb = cms.double(0.5), - tauSeedThreshold = cms.double(0.), - tauNeighbourThreshold = cms.double(0.), - tauRelativeJetIsolationCut = cms.double(1.), - tauIsoPUSType = cms.string("None"), - tauIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt"), - tauCalibrationLUTFileBarrelA = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelA.txt"), - tauCalibrationLUTFileBarrelB = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelB.txt"), - tauCalibrationLUTFileBarrelC = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelC.txt"), - tauCalibrationLUTFileEndcapsA = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsA.txt"), - tauCalibrationLUTFileEndcapsB = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsB.txt"), - tauCalibrationLUTFileEndcapsC = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsC.txt"), - tauCalibrationLUTFileEta = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEta.txt"), - - - # jets - jetLsb = cms.double(0.5), - jetSeedThreshold = cms.double(0.), - jetNeighbourThreshold = cms.double(0.), - jetPUSType = cms.string("None"), - jetPUSParams = cms.vdouble(), - jetCalibrationType = cms.string("None"), - jetCalibrationParams = cms.vdouble(), - - # sums - etSumLsb = cms.double(0.5), - etSumEtaMin = cms.vint32(-999, -999, -999, -999), - etSumEtaMax = cms.vint32(999, 999, 999, 999), - etSumEtThreshold = cms.vdouble(0., 0., 0., 0.) - -) diff --git a/L1Trigger/L1TCalorimeter/python/caloStage1Digis_cfi.py b/L1Trigger/L1TCalorimeter/python/caloStage1Digis_cfi.py deleted file mode 100644 index 227b833852ea8..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/caloStage1Digis_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -caloStage1Digis = cms.EDProducer( - "l1t::Stage1Layer2Producer", - CaloRegions = cms.InputTag("rctUpgradeFormatDigis"), - CaloEmCands = cms.InputTag("rctUpgradeFormatDigis"), - FirmwareVersion = cms.uint32(2), ## 1=HI algo, 2= pp algo - egRelativeJetIsolationBarrelCut = cms.double(0.3), ## eg isolation cut, 0.3 for loose, 0.2 for tight - egRelativeJetIsolationEndcapCut = cms.double(0.5), ## eg isolation cut, 0.5 for loose, 0.4 for tight - tauRelativeJetIsolationCut = cms.double(1.) ## tau isolation cut -) - - - diff --git a/L1Trigger/L1TCalorimeter/python/caloStage1FinalDigis_cfi.py b/L1Trigger/L1TCalorimeter/python/caloStage1FinalDigis_cfi.py deleted file mode 100644 index 983ab316afd9b..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/caloStage1FinalDigis_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -caloStage1FinalDigis = cms.EDProducer( - "l1t::PhysicalEtAdder", - InputCollection = cms.InputTag("caloStage1Digis") -) - - diff --git a/L1Trigger/L1TCalorimeter/python/caloStage1LegacyFormatDigis_cfi.py b/L1Trigger/L1TCalorimeter/python/caloStage1LegacyFormatDigis_cfi.py deleted file mode 100644 index 0ce0bf8424554..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/caloStage1LegacyFormatDigis_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -caloStage1LegacyFormatDigis = cms.EDProducer( - "l1t::L1TCaloUpgradeToGCTConverter", - InputCollection = cms.InputTag("caloStage1FinalDigis") -) - - diff --git a/L1Trigger/L1TCalorimeter/python/caloStage1Params_cfi.py b/L1Trigger/L1TCalorimeter/python/caloStage1Params_cfi.py deleted file mode 100644 index cce1d745ba339..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/caloStage1Params_cfi.py +++ /dev/null @@ -1,36 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from L1Trigger.L1TCalorimeter.caloStage1RegionSF_cfi import * -from L1Trigger.L1TCalorimeter.caloStage1JetSF_cfi import * - -from L1Trigger.L1TCalorimeter.caloParams_cfi import caloParamsSource -import L1Trigger.L1TCalorimeter.caloParams_cfi -#caloStage1ParamsSource = L1Trigger.L1TCalorimeter.caloParams_cfi.caloParamsSource.clone() -caloStage1Params = L1Trigger.L1TCalorimeter.caloParams_cfi.caloParams.clone() - -caloStage1Params.regionPUSType = cms.string("PUM0") #"None" for no PU subtraction, "PUM0", "HICaloRingSub" -caloStage1Params.regionPUSParams = regionSubtraction_PU40_MC13TeV - -# EG -caloStage1Params.egLsb = cms.double(1.) -caloStage1Params.egSeedThreshold = cms.double(1.) -caloStage1Params.egRelativeJetIsolationBarrelCut = cms.double(0.3) # 0.3 for loose, 0.2 for tight -caloStage1Params.egRelativeJetIsolationEndcapCut = cms.double(0.5) # 0.5 for loose, 0.4 for tight - -# Tau -caloStage1Params.tauSeedThreshold = cms.double(7.) -caloStage1Params.tauRelativeJetIsolationCut = cms.double(1.) - -# jets -caloStage1Params.jetLsb = cms.double(0.5) -caloStage1Params.jetSeedThreshold = cms.double(10.) -caloStage1Params.jetNeighbourThreshold = cms.double(0.) -caloStage1Params.jetCalibrationType = cms.string("Stage1JEC") -caloStage1Params.jetCalibrationParams = jetSF_8TeV_data - -# sums -caloStage1Params.etSumLsb = cms.double(0.5) -caloStage1Params.etSumEtaMin = cms.vint32(4, 4) #ET, HT -caloStage1Params.etSumEtaMax = cms.vint32(17, 17) #ET, HT -caloStage1Params.etSumEtThreshold = cms.vdouble(0., 7.) #ET, HT - diff --git a/L1Trigger/L1TCalorimeter/python/caloStage1RCTLuts_cff.py b/L1Trigger/L1TCalorimeter/python/caloStage1RCTLuts_cff.py deleted file mode 100644 index ac3ace196da0c..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/caloStage1RCTLuts_cff.py +++ /dev/null @@ -1,250 +0,0 @@ -# -*- coding: utf-8 -*- -# # flake8: noqa -# Eeg_EHSums, physics LUTs (new: CRAFTPhysicsV1 for HCAL), includes HF AND EE - -import FWCore.ParameterSet.Config as cms - -from L1TriggerConfig.RCTConfigProducers.L1RCTConfig_cff import * -from L1TriggerConfig.L1ScalesProducers.L1CaloScalesConfig_cff import * - - -# Internal RCT LSBs -RCTConfigProducers.eGammaLSB = 0.5 -RCTConfigProducers.jetMETLSB = 0.5 # Determines what scale the UCT sees for regions/jets -#RCTConfigProducers.eMinForFGCut = 999. -#RCTConfigProducers.eMaxForFGCut = -999. -RCTConfigProducers.eMinForFGCut = 6 -RCTConfigProducers.eMaxForFGCut = 999. -RCTConfigProducers.hOeCut = 0.05 -#RCTConfigProducers.eMinForHoECut = 999. -#RCTConfigProducers.eMaxForHoECut = -999. -## RCTConfigProducers.eMinForHoECut = 1 -## RCTConfigProducers.eMaxForHoECut = 30 -RCTConfigProducers.eMinForHoECut = 5 -RCTConfigProducers.eMaxForHoECut = 100 - -#RCTConfigProducers.hMinForHoECut = 999. -## RCTConfigProducers.hMinForHoECut = 1.0 -RCTConfigProducers.hMinForHoECut = 5.0 - -#RCTConfigProducers.eActivityCut = 2 -#RCTConfigProducers.hActivityCut = 0.5 -RCTConfigProducers.hActivityCut = 4.0 -RCTConfigProducers.eActivityCut = 4.0 -RCTConfigProducers.eicIsolationThreshold = 4 - -l1CaloScales.L1CaloEmEtScaleLSB = 0.5 # must be the same as egammaLSB - - -# This determines what scale the UCT sees for EG objects. -#l1CaloScales.L1CaloEmThresholds = cms.vdouble() - -# These are modifications to allow more than 7 bits of rank in the EIC path. -#l1CaloScales.L1CaloEmMaxLinScale = cms.uint32(0x3ff) -#l1CaloScales.L1CaloEmMaxRank = cms.uint32(0x3f) - -#_EGTAU_PRECISION = 7 -# Determine the l1CaloScales max rank which corresponds to this precision. -#l1CaloScales.L1CaloEmMaxRank = cms.uint32( -# (1 << (_EGTAU_PRECISION - 1)) - 1) -#l1CaloScales.L1CaloEmThresholds = [ -# float(x) for x in range(2 ** (_EGTAU_PRECISION-1))] - -# Ideal -eg_calib_v1 = [ - 1.11, 1.11, 1.11, 1.13, 1.14, 1.15, 1.13, 1.14, 1.16, 1.16, 1.17, 1.19, - 1.24, 1.27, 1.29, 1.29, 1.3, 1.48, 1.3, 1.41, 1.41, 1.4, 1.32, 1.3, 1.26, - 1.2, 1.22, 1.16, -] - -# Used for a lot of 2012 data taking -eg_calib_v3 = [ - 1.096, 1.089, 1.1, 1.101, 1.098, 1.108, 1.107, 1.114, 1.11, 1.114, 1.126, - 1.145, 1.15, 1.168, 1.179, 1.21, 1.194, 1.246, 1.303, 1.477, 1.455, 1.47, - 1.506, 1.524, 1.57, 1.585, 1.627, 1.627, -] - -# Calibrations on top of ECAL calibrations -eg_calib_v4 = [ - 1.10171, 1.09726, 1.09864, 1.10530, - 1.105863, 1.107420, 1.105919, 1.113074, - 1.112859, 1.120517, 1.127407, 1.145190, - 1.168704, 1.184337, 1.191875, 1.204290, - 1.197576, 1.222889, 1.247721, 1.334152, - 1.336521, 1.347814, 1.332843, 1.323361, - 1.310123, 1.249619, 1.218275, 1.218275 -] - -RCTConfigProducers.eGammaECalScaleFactors = eg_calib_v1 - -#RCTConfigProducers.eGammaHCalScaleFactors = [1., 1., 1., 1., 1., -# 1., 1., 1., 1., 1., -# 1., 1., 1., 1., 1., -# 1., 1., 1., 1., 1., -# 1., 1., 1., 1., 1., -# 1., 1., 1.] - -RCTConfigProducers.eGammaHCalScaleFactors = [0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., - 0., 0., 0.] - - - -# We want the same scales for EG and region paths -RCTConfigProducers.jetMETECalScaleFactors = RCTConfigProducers.eGammaECalScaleFactors -# Note this was == 1 in 2012! - - -# HSums -RCTConfigProducers.jetMETHCalScaleFactors = [1., 1., 1., 1., 1., - 1., 1., 1., 1., 1., - 1., 1., 1., 1., 1., - 1., 1., 1., 1., 1., - 1., 1., 1., 1., 1., - 1., 1., 1.] - - -#RCTConfigProducers.jetMETHCalScaleFactors = [1., 1., 1., 1., 1., -# 1., 1., 1., 1., 1., -# 1., 1., 1., 1., 1., -# 1., 1., 1., 1., 1., -# 1., 1., 1., 1., 1., -# 1., 1., 1.] - - -#L1CaloInputScalesProducer =cms.ESProducer("L1CaloInputScalesProducer", -#L1EcalEtThresholdsPositiveEta = cms.vdouble( -L1CaloInputScalesProducer.L1EcalEtThresholdsPositiveEta = cms.vdouble( -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127)+cms.vdouble(127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5)+cms.vdouble(127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126)+cms.vdouble(126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5)+cms.vdouble(126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125)+cms.vdouble(125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5)+cms.vdouble(125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124)+cms.vdouble(124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5)+cms.vdouble(124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123)+cms.vdouble(123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5)+cms.vdouble(123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122)+cms.vdouble(122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5)+cms.vdouble(122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121)+cms.vdouble(121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5)+cms.vdouble(121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120)+cms.vdouble(120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5)+cms.vdouble(120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119)+cms.vdouble(119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5)+cms.vdouble(119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118)+cms.vdouble(118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5)+cms.vdouble(118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117)+cms.vdouble(117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5)+cms.vdouble(117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116)+cms.vdouble(116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5)+cms.vdouble(116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115)+cms.vdouble(115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5)+cms.vdouble(115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114)+cms.vdouble(114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5)+cms.vdouble(114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5)#, - -#L1EcalEtThresholdsNegativeEta = cms.vdouble( -L1CaloInputScalesProducer.L1EcalEtThresholdsNegativeEta = cms.vdouble( -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127)+cms.vdouble(127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5)+cms.vdouble(127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126)+cms.vdouble(126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5)+cms.vdouble(126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125)+cms.vdouble(125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5)+cms.vdouble(125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124)+cms.vdouble(124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5)+cms.vdouble(124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123)+cms.vdouble(123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5)+cms.vdouble(123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122)+cms.vdouble(122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5)+cms.vdouble(122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121)+cms.vdouble(121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5)+cms.vdouble(121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120)+cms.vdouble(120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5)+cms.vdouble(120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119)+cms.vdouble(119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5)+cms.vdouble(119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118)+cms.vdouble(118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5)+cms.vdouble(118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117)+cms.vdouble(117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5)+cms.vdouble(117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116)+cms.vdouble(116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5)+cms.vdouble(116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5, 115)+cms.vdouble(115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114, 114.5)+cms.vdouble(115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5, 114)+cms.vdouble(114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113, 113.5)+cms.vdouble(114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5)#, - -# L1HcalEtThresholdsPositiveEta = cms.vdouble( -L1CaloInputScalesProducer.L1HcalEtThresholdsPositiveEta = cms.vdouble( -0, 0, 0, 0, 0.70733067, 0.88416334, 1.2378287, 1.4146613, 1.591494, 1.7683267, 2.121992, 2.2988247, 2.65249, 2.8293227, 3.0061554, 3.3598207, 3.5366534, 3.8903187, 4.0671514, 4.4208167, 4.774482, 4.9513147, 5.30498, 5.6586454, 5.835478, 6.1891434, 6.5428087, 6.896474, 7.2501394, 7.426972, 7.7806374, 8.1343027, 8.4879681, 8.8416334, 9.1952987, 9.5489641, 9.9026294, 10.256295, 10.60996, 11.140458, 11.494123, 11.847789, 12.201454, 12.555119, 12.908785, 13.439283, 13.792948, 14.146613, 14.677111, 15.030777, 15.384442, 15.91494, 16.268605, 16.799103, 17.152769, 17.683267, 18.036932, 18.56743, 18.921095, 19.451593, 19.982091, 20.335757, 20.866255, 21.396753, 21.750418, 22.280916, 22.811414, 23.341912, 23.87241, 24.226075, 24.756573, 25.287071, 25.81757, 26.348068, 26.878566, 27.409064, 27.939562, 28.47006, 29.000558, 29.531056, 30.061554, 30.592052, 31.299382, 31.82988, 32.360378, 32.890876, 33.421374, 34.128705, 34.659203, 35.189701, 35.897032, 36.42753, 36.958028, 37.665358, 38.195856, 38.903187, 39.433685, 40.141016, 40.671514, 41.378844, 41.909342, 42.616673, 43.147171, 43.854502, 44.561832, 45.09233, 45.799661, 46.506992, 47.03749, 47.74482, 48.452151, 49.159482, 49.866812, 50.39731, 51.104641, 51.811972, 52.519302, 53.226633, 53.933964, 54.641294, 55.348625, 56.055956, 56.763286, 57.470617, 58.177948, 58.885278, 59.592609, 60.29994, 61.00727, 61.714601, 62.421932, 63.306095, 64.013426, 64.720756, 65.428087, 66.31225, 67.019581, 67.726912, 68.434242, 69.318406, 70.025736, 70.9099, 71.61723, 72.324561, 73.208724, 73.916055, 74.800218, 75.507549, 76.391712, 77.099043, 77.983207, 78.690537, 79.574701, 80.458864, 81.166195, 82.050358, 82.934521, 83.641852, 84.526015, 85.410179, 86.294342, 87.001673, 87.885836, 88.769999, 89.654163, 90.538326, 91.245657, 92.12982, 93.013983, 93.898147, 94.78231, 95.666473, 96.550637, 97.4348, 98.318963, 99.203127, 100.08729, 100.97145, 102.03245, 102.91661, 103.80078, 104.68494, 105.5691, 106.45327, 107.51426, 108.39843, 109.28259, 110.34358, 111.22775, 112.11191, 113.17291, 114.05707, 114.94123, 116.00223, 116.88639, 117.94739, 118.83155, 119.71572, 120.77671, 121.66088, 122.72187, 123.78287, 124.66703, 125.72803, 126.61219, 127.67319, 128.73418, 129.61835, 130.67934, 131.74034, 132.6245, 133.6855, 134.74649, 135.80749, 136.69165, 137.75265, 138.81364, 139.87464, 140.93564, 141.99663, 143.05763, 143.94179, 145.00279, 146.06378, 147.12478, 148.18578, 149.24677, 150.30777, 151.36876, 152.42976, 153.49076, 154.72858, 155.78958, 156.85058, 157.91157, 158.97257, 160.03356, 161.09456, 162.33239, 163.39339, 164.45438, 165.51538, 166.75321, 167.8142, 168.8752, 170.11303, 171.17402, 172.23502, 173.47285, 174.53384, 175.77167, 176.83267, 177.89366, 179.13149, 180.19249)+cms.vdouble(180.89982, -0, 0, 0, 0, 0.70201378, 0.87751722, 1.2285241, 1.4040276, 1.579531, 1.7550344, 2.1060413, 2.2815448, 2.6325517, 2.8080551, 2.9835586, 3.3345654, 3.5100689, 3.8610758, 4.0365792, 4.3875861, 4.738593, 4.9140964, 5.2651033, 5.6161102, 5.7916137, 6.1426205, 6.4936274, 6.8446343, 7.1956412, 7.3711447, 7.7221515, 8.0731584, 8.4241653, 8.7751722, 9.1261791, 9.477186, 9.8281929, 10.1792, 10.530207, 11.056717, 11.407724, 11.758731, 12.109738, 12.460745, 12.811751, 13.338262, 13.689269, 14.040276, 14.566786, 14.917793, 15.2688, 15.79531, 16.146317, 16.672827, 17.023834, 17.550344, 17.901351, 18.427862, 18.778869, 19.305379, 19.831889, 20.182896, 20.709406, 21.235917, 21.586924, 22.113434, 22.639944, 23.166455, 23.692965, 24.043972, 24.570482, 25.096993, 25.623503, 26.150013, 26.676524, 27.203034, 27.729544, 28.256055, 28.782565, 29.309075, 29.835586, 30.362096, 31.06411, 31.59062, 32.11713, 32.643641, 33.170151, 33.872165, 34.398675, 34.925185, 35.627199, 36.153709, 36.68022, 37.382234, 37.908744, 38.610758, 39.137268, 39.839282, 40.365792, 41.067806, 41.594316, 42.29633, 42.82284, 43.524854, 44.226868, 44.753378, 45.455392, 46.157406, 46.683916, 47.38593, 48.087944, 48.789957, 49.491971, 50.018482, 50.720495, 51.422509, 52.124523, 52.826537, 53.52855, 54.230564, 54.932578, 55.634592, 56.336606, 57.038619, 57.740633, 58.442647, 59.144661, 59.846674, 60.548688, 61.250702, 61.952716, 62.830233, 63.532247, 64.234261, 64.936274, 65.813792, 66.515805, 67.217819, 67.919833, 68.79735, 69.499364, 70.376881, 71.078895, 71.780909, 72.658426, 73.36044, 74.237957, 74.939971, 75.817488, 76.519502, 77.397019, 78.099033, 78.97655, 79.854067, 80.556081, 81.433598, 82.311115, 83.013129, 83.890646, 84.768164, 85.645681, 86.347695, 87.225212, 88.102729, 88.980246, 89.857763, 90.559777, 91.437294, 92.314812, 93.192329, 94.069846, 94.947363, 95.824881, 96.702398, 97.579915, 98.457432, 99.334949, 100.21247, 101.26549, 102.143, 103.02052, 103.89804, 104.77556, 105.65307, 106.70609, 107.58361, 108.46113, 109.51415, 110.39167, 111.26918, 112.3222, 113.19972, 114.07724, 115.13026, 116.00778, 117.0608, 117.93831, 118.81583, 119.86885, 120.74637, 121.79939, 122.85241, 123.72993, 124.78295, 125.66047, 126.71349, 127.76651, 128.64402, 129.69705, 130.75007, 131.62758, 132.6806, 133.73362, 134.78665, 135.66416, 136.71718, 137.7702, 138.82322, 139.87624, 140.92927, 141.98229, 142.8598, 143.91282, 144.96584, 146.01887, 147.07189, 148.12491, 149.17793, 150.23095, 151.28397, 152.33699, 153.56551, 154.61853, 155.67155, 156.72458, 157.7776, 158.83062, 159.88364, 161.11216, 162.16518, 163.2182, 164.27122, 165.49975, 166.55277, 167.60579, 168.83431, 169.88733, 170.94035, 172.16888, 173.2219, 174.45042, 175.50344, 176.55646, 177.78499)+cms.vdouble(178.83801, 179.54002, -0, 0, 0, 0, 0.69157744, 0.86447181, 1.2102605, 1.3831549, 1.5560492, 1.7289436, 2.0747323, 2.2476267, 2.5934154, 2.7663098, 2.9392041, 3.2849929, 3.4578872, 3.8036759, 3.9765703, 4.322359, 4.6681477, 4.8410421, 5.1868308, 5.5326196, 5.7055139, 6.0513026, 6.3970914, 6.7428801, 7.0886688, 7.2615632, 7.6073519, 7.9531406, 8.2989293, 8.6447181, 8.9905068, 9.3362955, 9.6820842, 10.027873, 10.373662, 10.892345, 11.238133, 11.583922, 11.929711, 12.2755, 12.621288, 13.139971, 13.48576, 13.831549, 14.350232, 14.696021, 15.041809, 15.560492, 15.906281, 16.424964, 16.770753, 17.289436, 17.635225, 18.153908, 18.499697, 19.01838, 19.537063, 19.882852, 20.401535, 20.920218, 21.266006, 21.784689, 22.303373, 22.822056, 23.340739, 23.686527, 24.205211, 24.723894, 25.242577, 25.76126, 26.279943, 26.798626, 27.317309, 27.835992, 28.354675, 28.873358, 29.392041, 29.910724, 30.602302, 31.120985, 31.639668, 32.158351, 32.677034, 33.368612, 33.887295, 34.405978, 35.097555, 35.616238, 36.134921, 36.826499, 37.345182, 38.036759, 38.555443, 39.24702, 39.765703, 40.45728, 40.975964, 41.667541, 42.186224, 42.877802, 43.569379, 44.088062, 44.77964, 45.471217, 45.9899, 46.681477, 47.373055, 48.064632, 48.75621, 49.274893, 49.96647, 50.658048, 51.349625, 52.041203, 52.73278, 53.424358, 54.115935, 54.807512, 55.49909, 56.190667, 56.882245, 57.573822, 58.2654, 58.956977, 59.648555, 60.340132, 61.031709, 61.896181, 62.587759, 63.279336, 63.970914, 64.835385, 65.526963, 66.21854, 66.910118, 67.77459, 68.466167, 69.330639, 70.022216, 70.713794, 71.578265, 72.269843, 73.134315, 73.825892, 74.690364, 75.381941, 76.246413, 76.937991, 77.802462, 78.666934, 79.358512, 80.222984, 81.087455, 81.779033, 82.643505, 83.507976, 84.372448, 85.064026, 85.928497, 86.792969, 87.657441, 88.521913, 89.21349, 90.077962, 90.942434, 91.806906, 92.671378, 93.535849, 94.400321, 95.264793, 96.129265, 96.993737, 97.858208, 98.72268, 99.760046, 100.62452, 101.48899, 102.35346, 103.21793, 104.08241, 105.11977, 105.98424, 106.84872, 107.88608, 108.75055, 109.61502, 110.65239, 111.51686, 112.38133, 113.4187, 114.28317, 115.32054, 116.18501, 117.04948, 118.08685, 118.95132, 119.98869, 121.02605, 121.89052, 122.92789, 123.79236, 124.82973, 125.86709, 126.73157, 127.76893, 128.8063, 129.67077, 130.70814, 131.7455, 132.78287, 133.64734, 134.68471, 135.72207, 136.75944, 137.79681, 138.83417, 139.87154, 140.73601, 141.77338, 142.81074, 143.84811, 144.88547, 145.92284, 146.96021, 147.99757, 149.03494, 150.07231, 151.28257, 152.31993, 153.3573, 154.39466, 155.43203, 156.4694, 157.50676, 158.71702, 159.75439, 160.79176, 161.82912, 163.03938, 164.07675, 165.11411, 166.32438, 167.36174, 168.39911, 169.60937, 170.64673, 171.85699, 172.89436, 173.93173)+cms.vdouble(175.14199, 176.17935, 176.87093, -0, 0, 0, 0, 0.67639901, 0.84549877, 1.1836983, 1.352798, 1.5218978, 1.6909975, 2.029197, 2.1982968, 2.5364963, 2.7055961, 2.8746958, 3.2128953, 3.3819951, 3.7201946, 3.8892943, 4.2274938, 4.5656933, 4.7347931, 5.0729926, 5.4111921, 5.5802919, 5.9184914, 6.2566909, 6.5948904, 6.9330899, 7.1021896, 7.4403892, 7.7785887, 8.1167882, 8.4549877, 8.7931872, 9.1313867, 9.4695862, 9.8077857, 10.145985, 10.653284, 10.991484, 11.329683, 11.667883, 12.006082, 12.344282, 12.851581, 13.189781, 13.52798, 14.03528, 14.373479, 14.711679, 15.218978, 15.557177, 16.064477, 16.402676, 16.909975, 17.248175, 17.755474, 18.093674, 18.600973, 19.108272, 19.446472, 19.953771, 20.46107, 20.79927, 21.306569, 21.813868, 22.321167, 22.828467, 23.166666, 23.673965, 24.181265, 24.688564, 25.195863, 25.703163, 26.210462, 26.717761, 27.22506, 27.73236, 28.239659, 28.746958, 29.254257, 29.930656, 30.437956, 30.945255, 31.452554, 31.959853, 32.636252, 33.143552, 33.650851, 34.32725, 34.834549, 35.341848, 36.018247, 36.525547, 37.201946, 37.709245, 38.385644, 38.892943, 39.569342, 40.076642, 40.753041, 41.26034, 41.936739, 42.613138, 43.120437, 43.796836, 44.473235, 44.980534, 45.656933, 46.333332, 47.009731, 47.68613, 48.19343, 48.869829, 49.546228, 50.222627, 50.899026, 51.575425, 52.251824, 52.928223, 53.604622, 54.281021, 54.95742, 55.633819, 56.310218, 56.986617, 57.663016, 58.339415, 59.015814, 59.692213, 60.537712, 61.214111, 61.89051, 62.566909, 63.412408, 64.088807, 64.765206, 65.441605, 66.287103, 66.963502, 67.809001, 68.4854, 69.161799, 70.007298, 70.683697, 71.529196, 72.205595, 73.051094, 73.727493, 74.572991, 75.24939, 76.094889, 76.940388, 77.616787, 78.462286, 79.307784, 79.984183, 80.829682, 81.675181, 82.52068, 83.197079, 84.042577, 84.888076, 85.733575, 86.579074, 87.255473, 88.100972, 88.94647, 89.791969, 90.637468, 91.482967, 92.328465, 93.173964, 94.019463, 94.864962, 95.71046, 96.555959, 97.570558, 98.416057, 99.261555, 100.10705, 100.95255, 101.79805, 102.81265, 103.65815, 104.50365, 105.51825, 106.36374, 107.20924, 108.22384, 109.06934, 109.91484, 110.92944, 111.77494, 112.78954, 113.63503, 114.48053, 115.49513, 116.34063, 117.35523, 118.36983, 119.21533, 120.22992, 121.07542, 122.09002, 123.10462, 123.95012, 124.96472, 125.97932, 126.82482, 127.83941, 128.85401, 129.86861, 130.71411, 131.72871, 132.74331, 133.75791, 134.7725, 135.7871, 136.8017, 137.6472, 138.6618, 139.6764, 140.69099, 141.70559, 142.72019, 143.73479, 144.74939, 145.76399, 146.77859, 147.96228, 148.97688, 149.99148, 151.00608, 152.02068, 153.03528, 154.04988, 155.23357, 156.24817, 157.26277, 158.27737, 159.46107, 160.47567, 161.49026, 162.67396, 163.68856, 164.70316, 165.88686, 166.90146, 168.08515, 169.09975)+cms.vdouble(170.11435, 171.29805, 172.31265, 172.98905, -0, 0, 0, 0, 0.6570034, 0.82125425, 1.149756, 1.3140068, 1.4782577, 1.6425085, 1.9710102, 2.1352611, 2.4637628, 2.6280136, 2.7922645, 3.1207662, 3.285017, 3.6135187, 3.7777696, 4.1062713, 4.434773, 4.5990238, 4.9275255, 5.2560272, 5.4202781, 5.7487798, 6.0772815, 6.4057832, 6.7342849, 6.8985357, 7.2270374, 7.5555391, 7.8840408, 8.2125425, 8.5410442, 8.8695459, 9.1980476, 9.5265493, 9.855051, 10.347804, 10.676305, 11.004807, 11.333309, 11.66181, 11.990312, 12.483065, 12.811566, 13.140068, 13.632821, 13.961322, 14.289824, 14.782577, 15.111078, 15.603831, 15.932333, 16.425085, 16.753587, 17.246339, 17.574841, 18.067594, 18.560346, 18.888848, 19.3816, 19.874353, 20.202855, 20.695607, 21.18836, 21.681112, 22.173865, 22.502367, 22.995119, 23.487872, 23.980624, 24.473377, 24.966129, 25.458882, 25.951634, 26.444387, 26.93714, 27.429892, 27.922645, 28.415397, 29.072401, 29.565153, 30.057906, 30.550658, 31.043411, 31.700414, 32.193167, 32.685919, 33.342923, 33.835675, 34.328428, 34.985431, 35.478184, 36.135187, 36.62794, 37.284943, 37.777696, 38.434699, 38.927452, 39.584455, 40.077208, 40.734211, 41.391214, 41.883967, 42.54097, 43.197974, 43.690726, 44.34773, 45.004733, 45.661737, 46.31874, 46.811492, 47.468496, 48.125499, 48.782503, 49.439506, 50.096509, 50.753513, 51.410516, 52.06752, 52.724523, 53.381527, 54.03853, 54.695533, 55.352537, 56.00954, 56.666544, 57.323547, 57.98055, 58.801805, 59.458808, 60.115811, 60.772815, 61.594069, 62.251072, 62.908076, 63.565079, 64.386334, 65.043337, 65.864591, 66.521595, 67.178598, 67.999852, 68.656856, 69.47811, 70.135113, 70.956368, 71.613371, 72.434625, 73.091629, 73.912883, 74.734137, 75.391141, 76.212395, 77.033649, 77.690652, 78.511907, 79.333161, 80.154415, 80.811419, 81.632673, 82.453927, 83.275181, 84.096436, 84.753439, 85.574693, 86.395948, 87.217202, 88.038456, 88.85971, 89.680965, 90.502219, 91.323473, 92.144727, 92.965982, 93.787236, 94.772741, 95.593995, 96.415249, 97.236504, 98.057758, 98.879012, 99.864517, 100.68577, 101.50703, 102.49253, 103.31379, 104.13504, 105.12054, 105.9418, 106.76305, 107.74856, 108.56981, 109.55532, 110.37657, 111.19783, 112.18333, 113.00459, 113.99009, 114.9756, 115.79685, 116.78235, 117.60361, 118.58911, 119.57462, 120.39587, 121.38138, 122.36688, 123.18814, 124.17364, 125.15915, 126.14465, 126.96591, 127.95141, 128.93692, 129.92242, 130.90793, 131.89343, 132.87894, 133.70019, 134.6857, 135.6712, 136.65671, 137.64221, 138.62772, 139.61322, 140.59873, 141.58423, 142.56974, 143.71949, 144.705, 145.6905, 146.67601, 147.66151, 148.64702, 149.63253, 150.78228, 151.76779, 152.75329, 153.7388, 154.88855, 155.87406, 156.85956, 158.00932, 158.99482, 159.98033, 161.13008, 162.11559, 163.26535)+cms.vdouble(164.25085, 165.23636, 166.38611, 167.37162, 168.02862, -0, 0, 0, 0, 0.63402104, 0.7925263, 1.1095368, 1.2680421, 1.4265473, 1.5850526, 1.9020631, 2.0605684, 2.3775789, 2.5360842, 2.6945894, 3.0115999, 3.1701052, 3.4871157, 3.645621, 3.9626315, 4.279642, 4.4381473, 4.7551578, 5.0721683, 5.2306736, 5.5476841, 5.8646946, 6.1817051, 6.4987157, 6.6572209, 6.9742314, 7.291242, 7.6082525, 7.925263, 8.2422735, 8.559284, 8.8762946, 9.1933051, 9.5103156, 9.9858314, 10.302842, 10.619852, 10.936863, 11.253873, 11.570884, 12.0464, 12.36341, 12.680421, 13.155937, 13.472947, 13.789958, 14.265473, 14.582484, 15.058, 15.37501, 15.850526, 16.167537, 16.643052, 16.960063, 17.435579, 17.911094, 18.228105, 18.703621, 19.179136, 19.496147, 19.971663, 20.447179, 20.922694, 21.39821, 21.715221, 22.190736, 22.666252, 23.141768, 23.617284, 24.092799, 24.568315, 25.043831, 25.519347, 25.994863, 26.470378, 26.945894, 27.42141, 28.055431, 28.530947, 29.006463, 29.481978, 29.957494, 30.591515, 31.067031, 31.542547, 32.176568, 32.652084, 33.127599, 33.76162, 34.237136, 34.871157, 35.346673, 35.980694, 36.45621, 37.090231, 37.565747, 38.199768, 38.675283, 39.309304, 39.943325, 40.418841, 41.052862, 41.686883, 42.162399, 42.79642, 43.430441, 44.064462, 44.698483, 45.173999, 45.80802, 46.442041, 47.076062, 47.710083, 48.344104, 48.978125, 49.612146, 50.246167, 50.880188, 51.514209, 52.14823, 52.782252, 53.416273, 54.050294, 54.684315, 55.318336, 55.952357, 56.744883, 57.378904, 58.012925, 58.646946, 59.439472, 60.073493, 60.707515, 61.341536, 62.134062, 62.768083, 63.560609, 64.19463, 64.828651, 65.621178, 66.255199, 67.047725, 67.681746, 68.474272, 69.108293, 69.90082, 70.534841, 71.327367, 72.119893, 72.753914, 73.546441, 74.338967, 74.972988, 75.765514, 76.558041, 77.350567, 77.984588, 78.777114, 79.56964, 80.362167, 81.154693, 81.788714, 82.58124, 83.373767, 84.166293, 84.958819, 85.751346, 86.543872, 87.336398, 88.128924, 88.921451, 89.713977, 90.506503, 91.457535, 92.250061, 93.042588, 93.835114, 94.62764, 95.420166, 96.371198, 97.163724, 97.956251, 98.907282, 99.699808, 100.49233, 101.44337, 102.23589, 103.02842, 103.97945, 104.77198, 105.72301, 106.51553, 107.30806, 108.25909, 109.05162, 110.00265, 110.95368, 111.74621, 112.69724, 113.48977, 114.4408, 115.39183, 116.18436, 117.13539, 118.08642, 118.87894, 119.82998, 120.78101, 121.73204, 122.52457, 123.4756, 124.42663, 125.37766, 126.32869, 127.27972, 128.23076, 129.02328, 129.97431, 130.92534, 131.87638, 132.82741, 133.77844, 134.72947, 135.6805, 136.63153, 137.58257, 138.6921, 139.64313, 140.59417, 141.5452, 142.49623, 143.44726, 144.39829, 145.50783, 146.45886, 147.40989, 148.36092, 149.47046, 150.42149, 151.37252, 152.48206, 153.43309, 154.38412, 155.49366, 156.44469)+cms.vdouble(157.55423, 158.50526, 159.45629, 160.56583, 161.51686, 162.15088, -0, 0, 0, 0, 0.60814195, 0.76017743, 1.0642484, 1.2162839, 1.3683194, 1.5203549, 1.8244258, 1.9764613, 2.2805323, 2.4325678, 2.5846033, 2.8886743, 3.0407097, 3.3447807, 3.4968162, 3.8008872, 4.1049581, 4.2569936, 4.5610646, 4.8651356, 5.0171711, 5.321242, 5.625313, 5.929384, 6.233455, 6.3854904, 6.6895614, 6.9936324, 7.2977034, 7.6017743, 7.9058453, 8.2099163, 8.5139873, 8.8180582, 9.1221292, 9.5782357, 9.8823066, 10.186378, 10.490449, 10.79452, 11.098591, 11.554697, 11.858768, 12.162839, 12.618945, 12.923016, 13.227087, 13.683194, 13.987265, 14.443371, 14.747442, 15.203549, 15.50762, 15.963726, 16.267797, 16.723904, 17.18001, 17.484081, 17.940187, 18.396294, 18.700365, 19.156471, 19.612578, 20.068684, 20.524791, 20.828862, 21.284968, 21.741075, 22.197181, 22.653288, 23.109394, 23.5655, 24.021607, 24.477713, 24.93382, 25.389926, 25.846033, 26.302139, 26.910281, 27.366388, 27.822494, 28.278601, 28.734707, 29.342849, 29.798955, 30.255062, 30.863204, 31.31931, 31.775417, 32.383559, 32.839665, 33.447807, 33.903914, 34.512056, 34.968162, 35.576304, 36.03241, 36.640552, 37.096659, 37.704801, 38.312943, 38.769049, 39.377191, 39.985333, 40.44144, 41.049581, 41.657723, 42.265865, 42.874007, 43.330114, 43.938256, 44.546398, 45.15454, 45.762682, 46.370824, 46.978965, 47.587107, 48.195249, 48.803391, 49.411533, 50.019675, 50.627817, 51.235959, 51.844101, 52.452243, 53.060385, 53.668527, 54.428704, 55.036846, 55.644988, 56.25313, 57.013308, 57.62145, 58.229591, 58.837733, 59.597911, 60.206053, 60.96623, 61.574372, 62.182514, 62.942692, 63.550834, 64.311011, 64.919153, 65.67933, 66.287472, 67.04765, 67.655792, 68.415969, 69.176147, 69.784288, 70.544466, 71.304643, 71.912785, 72.672963, 73.43314, 74.193318, 74.80146, 75.561637, 76.321814, 77.081992, 77.842169, 78.450311, 79.210489, 79.970666, 80.730844, 81.491021, 82.251198, 83.011376, 83.771553, 84.531731, 85.291908, 86.052086, 86.812263, 87.724476, 88.484653, 89.244831, 90.005008, 90.765186, 91.525363, 92.437576, 93.197753, 93.957931, 94.870144, 95.630321, 96.390499, 97.302712, 98.062889, 98.823066, 99.735279, 100.49546, 101.40767, 102.16785, 102.92802, 103.84024, 104.60041, 105.51263, 106.42484, 107.18502, 108.09723, 108.85741, 109.76962, 110.68183, 111.44201, 112.35422, 113.26644, 114.02662, 114.93883, 115.85104, 116.76325, 117.52343, 118.43564, 119.34786, 120.26007, 121.17228, 122.0845, 122.99671, 123.75689, 124.6691, 125.58131, 126.49353, 127.40574, 128.31795, 129.23016, 130.14238, 131.05459, 131.9668, 133.03105, 133.94326, 134.85548, 135.76769, 136.6799, 137.59212, 138.50433, 139.56858, 140.48079, 141.393, 142.30522, 143.36946, 144.28168, 145.19389, 146.25814, 147.17035, 148.08256, 149.14681)+cms.vdouble(150.05903, 151.12327, 152.03549, 152.9477, 154.01195, 154.92416, 155.5323, -0, 0, 0, 0, 0.5800716, 0.7250895, 1.0151253, 1.1601432, 1.3051611, 1.450179, 1.7402148, 1.8852327, 2.1752685, 2.3202864, 2.4653043, 2.7553401, 2.900358, 3.1903938, 3.3354117, 3.6254475, 3.9154833, 4.0605012, 4.350537, 4.6405728, 4.7855907, 5.0756265, 5.3656623, 5.6556981, 5.9457339, 6.0907518, 6.3807876, 6.6708234, 6.9608592, 7.250895, 7.5409308, 7.8309666, 8.1210024, 8.4110382, 8.701074, 9.1361277, 9.4261635, 9.7161993, 10.006235, 10.296271, 10.586307, 11.02136, 11.311396, 11.601432, 12.036486, 12.326521, 12.616557, 13.051611, 13.341647, 13.7767, 14.066736, 14.50179, 14.791826, 15.226879, 15.516915, 15.951969, 16.387023, 16.677058, 17.112112, 17.547166, 17.837202, 18.272255, 18.707309, 19.142363, 19.577416, 19.867452, 20.302506, 20.73756, 21.172613, 21.607667, 22.042721, 22.477774, 22.912828, 23.347882, 23.782936, 24.217989, 24.653043, 25.088097, 25.668168, 26.103222, 26.538276, 26.973329, 27.408383, 27.988455, 28.423508, 28.858562, 29.438634, 29.873687, 30.308741, 30.888813, 31.323866, 31.903938, 32.338992, 32.919063, 33.354117, 33.934189, 34.369242, 34.949314, 35.384368, 35.964439, 36.544511, 36.979564, 37.559636, 38.139708, 38.574761, 39.154833, 39.734905, 40.314976, 40.895048, 41.330101, 41.910173, 42.490245, 43.070316, 43.650388, 44.230459, 44.810531, 45.390603, 45.970674, 46.550746, 47.130817, 47.710889, 48.290961, 48.871032, 49.451104, 50.031175, 50.611247, 51.191319, 51.916408, 52.49648, 53.076551, 53.656623, 54.381712, 54.961784, 55.541856, 56.121927, 56.847017, 57.427088, 58.152178, 58.732249, 59.312321, 60.037411, 60.617482, 61.342572, 61.922643, 62.647733, 63.227804, 63.952894, 64.532965, 65.258055, 65.983144, 66.563216, 67.288306, 68.013395, 68.593467, 69.318556, 70.043646, 70.768735, 71.348807, 72.073896, 72.798986, 73.524075, 74.249165, 74.829236, 75.554326, 76.279415, 77.004505, 77.729594, 78.454684, 79.179773, 79.904863, 80.629952, 81.355042, 82.080131, 82.805221, 83.675328, 84.400418, 85.125507, 85.850597, 86.575686, 87.300776, 88.170883, 88.895973, 89.621062, 90.49117, 91.216259, 91.941349, 92.811456, 93.536545, 94.261635, 95.131742, 95.856832, 96.726939, 97.452029, 98.177118, 99.047226, 99.772315, 100.64242, 101.51253, 102.23762, 103.10773, 103.83282, 104.70292, 105.57303, 106.29812, 107.16823, 108.03834, 108.76342, 109.63353, 110.50364, 111.37375, 112.09884, 112.96894, 113.83905, 114.70916, 115.57927, 116.44937, 117.31948, 118.04457, 118.91468, 119.78479, 120.65489, 121.525, 122.39511, 123.26521, 124.13532, 125.00543, 125.87554, 126.89066, 127.76077, 128.63088, 129.50098, 130.37109, 131.2412, 132.11131, 133.12643, 133.99654, 134.86665, 135.73675, 136.75188, 137.62199, 138.49209, 139.50722, 140.37733, 141.24743)+cms.vdouble(142.26256, 143.13267, 144.14779, 145.0179, 145.88801, 146.90313, 147.77324, 148.35331, -0, 0, 0, 0, 0.55049288, 0.6881161, 0.96336254, 1.1009858, 1.238609, 1.3762322, 1.6514786, 1.7891019, 2.0643483, 2.2019715, 2.3395948, 2.6148412, 2.7524644, 3.0277109, 3.1653341, 3.4405805, 3.715827, 3.8534502, 4.1286966, 4.4039431, 4.5415663, 4.8168127, 5.0920592, 5.3673056, 5.642552, 5.7801753, 6.0554217, 6.3306682, 6.6059146, 6.881161, 7.1564075, 7.4316539, 7.7069004, 7.9821468, 8.2573932, 8.6702629, 8.9455093, 9.2207558, 9.4960022, 9.7712487, 10.046495, 10.459365, 10.734611, 11.009858, 11.422727, 11.697974, 11.97322, 12.38609, 12.661336, 13.074206, 13.349452, 13.762322, 14.037569, 14.450438, 14.725685, 15.138554, 15.551424, 15.82667, 16.23954, 16.65241, 16.927656, 17.340526, 17.753395, 18.166265, 18.579135, 18.854381, 19.267251, 19.680121, 20.09299, 20.50586, 20.91873, 21.331599, 21.744469, 22.157339, 22.570208, 22.983078, 23.395948, 23.808817, 24.35931, 24.77218, 25.185049, 25.597919, 26.010789, 26.561282, 26.974151, 27.387021, 27.937514, 28.350383, 28.763253, 29.313746, 29.726616, 30.277109, 30.689978, 31.240471, 31.653341, 32.203834, 32.616703, 33.167196, 33.580066, 34.130559, 34.681052, 35.093921, 35.644414, 36.194907, 36.607777, 37.15827, 37.708762, 38.259255, 38.809748, 39.222618, 39.773111, 40.323604, 40.874097, 41.424589, 41.975082, 42.525575, 43.076068, 43.626561, 44.177054, 44.727547, 45.27804, 45.828532, 46.379025, 46.929518, 47.480011, 48.030504, 48.580997, 49.269113, 49.819606, 50.370099, 50.920592, 51.608708, 52.159201, 52.709694, 53.260186, 53.948302, 54.498795, 55.186911, 55.737404, 56.287897, 56.976013, 57.526506, 58.214622, 58.765115, 59.453231, 60.003724, 60.69184, 61.242333, 61.930449, 62.618565, 63.169058, 63.857174, 64.54529, 65.095783, 65.783899, 66.472016, 67.160132, 67.710625, 68.398741, 69.086857, 69.774973, 70.463089, 71.013582, 71.701698, 72.389814, 73.07793, 73.766046, 74.454162, 75.142278, 75.830395, 76.518511, 77.206627, 77.894743, 78.582859, 79.408598, 80.096714, 80.784831, 81.472947, 82.161063, 82.849179, 83.674918, 84.363034, 85.05115, 85.87689, 86.565006, 87.253122, 88.078861, 88.766977, 89.455093, 90.280833, 90.968949, 91.794688, 92.482804, 93.17092, 93.99666, 94.684776, 95.510515, 96.336254, 97.024371, 97.85011, 98.538226, 99.363965, 100.1897, 100.87782, 101.70356, 102.5293, 103.21742, 104.04315, 104.86889, 105.69463, 106.38275, 107.20849, 108.03423, 108.85997, 109.68571, 110.51145, 111.33719, 112.0253, 112.85104, 113.67678, 114.50252, 115.32826, 116.154, 116.97974, 117.80548, 118.63122, 119.45696, 120.42032, 121.24606, 122.0718, 122.89754, 123.72328, 124.54901, 125.37475, 126.33812, 127.16386, 127.9896, 128.81533, 129.7787, 130.60444, 131.43018, 132.39354, 133.21928)+cms.vdouble(134.04502, 135.00838, 135.83412, 136.79748, 137.62322, 138.44896, 139.41232, 140.23806, 140.78855, -0, 0, 0, 0, 0.52003679, 0.65004599, 0.91006438, 1.0400736, 1.1700828, 1.300092, 1.5601104, 1.6901196, 1.950138, 2.0801472, 2.2101564, 2.4701747, 2.6001839, 2.8602023, 2.9902115, 3.2502299, 3.5102483, 3.6402575, 3.9002759, 4.1602943, 4.2903035, 4.5503219, 4.8103403, 5.0703587, 5.3303771, 5.4603863, 5.7204047, 5.9804231, 6.2404415, 6.5004599, 6.7604782, 7.0204966, 7.280515, 7.5405334, 7.8005518, 8.1905794, 8.4505978, 8.7106162, 8.9706346, 9.230653, 9.4906714, 9.880699, 10.140717, 10.400736, 10.790763, 11.050782, 11.3108, 11.700828, 11.960846, 12.350874, 12.610892, 13.00092, 13.260938, 13.650966, 13.910984, 14.301012, 14.691039, 14.951058, 15.341085, 15.731113, 15.991131, 16.381159, 16.771186, 17.161214, 17.551242, 17.81126, 18.201288, 18.591315, 18.981343, 19.37137, 19.761398, 20.151426, 20.541453, 20.931481, 21.321508, 21.711536, 22.101564, 22.491591, 23.011628, 23.401655, 23.791683, 24.181711, 24.571738, 25.091775, 25.481803, 25.87183, 26.391867, 26.781895, 27.171922, 27.691959, 28.081987, 28.602023, 28.992051, 29.512088, 29.902115, 30.422152, 30.81218, 31.332216, 31.722244, 32.242281, 32.762318, 33.152345, 33.672382, 34.192419, 34.582446, 35.102483, 35.62252, 36.142557, 36.662594, 37.052621, 37.572658, 38.092695, 38.612732, 39.132768, 39.652805, 40.172842, 40.692879, 41.212915, 41.732952, 42.252989, 42.773026, 43.293063, 43.813099, 44.333136, 44.853173, 45.37321, 45.893247, 46.543293, 47.063329, 47.583366, 48.103403, 48.753449, 49.273486, 49.793522, 50.313559, 50.963605, 51.483642, 52.133688, 52.653725, 53.173762, 53.823808, 54.343844, 54.99389, 55.513927, 56.163973, 56.68401, 57.334056, 57.854093, 58.504139, 59.154185, 59.674221, 60.324267, 60.974313, 61.49435, 62.144396, 62.794442, 63.444488, 63.964525, 64.614571, 65.264617, 65.914663, 66.564709, 67.084746, 67.734792, 68.384838, 69.034884, 69.68493, 70.334976, 70.985022, 71.635068, 72.285114, 72.93516, 73.585206, 74.235252, 75.015307, 75.665353, 76.315399, 76.965445, 77.615491, 78.265537, 79.045592, 79.695638, 80.345684, 81.125739, 81.775785, 82.425831, 83.205886, 83.855932, 84.505978, 85.286033, 85.936079, 86.716134, 87.36618, 88.016226, 88.796282, 89.446328, 90.226383, 91.006438, 91.656484, 92.436539, 93.086585, 93.86664, 94.646695, 95.296741, 96.076797, 96.856852, 97.506898, 98.286953, 99.067008, 99.847063, 100.49711, 101.27716, 102.05722, 102.83727, 103.61733, 104.39739, 105.17744, 105.82749, 106.60754, 107.3876, 108.16765, 108.94771, 109.72776, 110.50782, 111.28787, 112.06793, 112.84798, 113.75805, 114.5381, 115.31816, 116.09821, 116.87827, 117.65832, 118.43838, 119.34844, 120.1285, 120.90855, 121.68861, 122.59867, 123.37873, 124.15878, 125.06885)+cms.vdouble(125.8489, 126.62896, 127.53902, 128.31908, 129.22914, 130.0092, 130.78925, 131.69932, 132.47937, 132.99941, -0, 0, 0, 0, 0.4892627, 0.61157837, 0.85620972, 0.97852539, 1.1008411, 1.2231567, 1.4677881, 1.5901038, 1.8347351, 1.9570508, 2.0793665, 2.3239978, 2.4463135, 2.6909448, 2.8132605, 3.0578919, 3.3025232, 3.4248389, 3.6694702, 3.9141016, 4.0364172, 4.2810486, 4.5256799, 4.7703113, 5.0149426, 5.1372583, 5.3818897, 5.626521, 5.8711524, 6.1157837, 6.3604151, 6.6050464, 6.8496778, 7.0943091, 7.3389405, 7.7058875, 7.9505188, 8.1951502, 8.4397815, 8.6844129, 8.9290442, 9.2959912, 9.5406226, 9.7852539, 10.152201, 10.396832, 10.641464, 11.008411, 11.253042, 11.619989, 11.86462, 12.231567, 12.476199, 12.843146, 13.087777, 13.454724, 13.821671, 14.066303, 14.43325, 14.800197, 15.044828, 15.411775, 15.778722, 16.145669, 16.512616, 16.757247, 17.124194, 17.491141, 17.858088, 18.225035, 18.591982, 18.95893, 19.325877, 19.692824, 20.059771, 20.426718, 20.793665, 21.160612, 21.649874, 22.016821, 22.383768, 22.750715, 23.117662, 23.606925, 23.973872, 24.340819, 24.830082, 25.197029, 25.563976, 26.053239, 26.420186, 26.909448, 27.276395, 27.765658, 28.132605, 28.621868, 28.988815, 29.478077, 29.845025, 30.334287, 30.82355, 31.190497, 31.67976, 32.169022, 32.535969, 33.025232, 33.514495, 34.003757, 34.49302, 34.859967, 35.34923, 35.838493, 36.327755, 36.817018, 37.306281, 37.795543, 38.284806, 38.774069, 39.263331, 39.752594, 40.241857, 40.73112, 41.220382, 41.709645, 42.198908, 42.68817, 43.177433, 43.789011, 44.278274, 44.767537, 45.256799, 45.868378, 46.357641, 46.846903, 47.336166, 47.947744, 48.437007, 49.048585, 49.537848, 50.027111, 50.638689, 51.127952, 51.73953, 52.228793, 52.840371, 53.329634, 53.941212, 54.430475, 55.042053, 55.653632, 56.142894, 56.754473, 57.366051, 57.855314, 58.466892, 59.078471, 59.690049, 60.179312, 60.79089, 61.402468, 62.014047, 62.625625, 63.114888, 63.726466, 64.338045, 64.949623, 65.561201, 66.17278, 66.784358, 67.395936, 68.007515, 68.619093, 69.230672, 69.84225, 70.576144, 71.187722, 71.799301, 72.410879, 73.022457, 73.634036, 74.36793, 74.979508, 75.591087, 76.324981, 76.936559, 77.548137, 78.282031, 78.89361, 79.505188, 80.239082, 80.850661, 81.584555, 82.196133, 82.807711, 83.541605, 84.153184, 84.887078, 85.620972, 86.23255, 86.966444, 87.578023, 88.311917, 89.045811, 89.657389, 90.391283, 91.125177, 91.736756, 92.47065, 93.204544, 93.938438, 94.550016, 95.28391, 96.017804, 96.751698, 97.485592, 98.219486, 98.95338, 99.564959, 100.29885, 101.03275, 101.76664, 102.50053, 103.23443, 103.96832, 104.70222, 105.43611, 106.17001, 107.02621, 107.76011, 108.494, 109.2279, 109.96179, 110.69569, 111.42958, 112.28579, 113.01968, 113.75358, 114.48747, 115.34368, 116.07757, 116.81147)+cms.vdouble(117.66768, 118.40157, 119.13547, 119.99168, 120.72557, 121.58178, 122.31567, 123.04957, 123.90578, 124.63967, 125.12893, -0, 0, 0, 0, 0.45864772, 0.57330965, 0.8026335, 0.91729543, 1.0319574, 1.1466193, 1.3759432, 1.4906051, 1.7199289, 1.8345909, 1.9492528, 2.1785767, 2.2932386, 2.5225624, 2.6372244, 2.8665482, 3.0958721, 3.210534, 3.4398579, 3.6691817, 3.7838437, 4.0131675, 4.2424914, 4.4718152, 4.7011391, 4.815801, 5.0451249, 5.2744487, 5.5037726, 5.7330965, 5.9624203, 6.1917442, 6.421068, 6.6503919, 6.8797158, 7.2237015, 7.4530254, 7.6823493, 7.9116731, 8.140997, 8.3703208, 8.7143066, 8.9436305, 9.1729543, 9.5169401, 9.746264, 9.9755878, 10.319574, 10.548897, 10.892883, 11.122207, 11.466193, 11.695517, 12.039503, 12.268826, 12.612812, 12.956798, 13.186122, 13.530108, 13.874093, 14.103417, 14.447403, 14.791389, 15.135375, 15.47936, 15.708684, 16.05267, 16.396656, 16.740642, 17.084627, 17.428613, 17.772599, 18.116585, 18.460571, 18.804556, 19.148542, 19.492528, 19.836514, 20.295161, 20.639147, 20.983133, 21.327119, 21.671105, 22.129752, 22.473738, 22.817724, 23.276372, 23.620357, 23.964343, 24.422991, 24.766977, 25.225624, 25.56961, 26.028258, 26.372244, 26.830891, 27.174877, 27.633525, 27.977511, 28.436158, 28.894806, 29.238792, 29.69744, 30.156087, 30.500073, 30.958721, 31.417369, 31.876016, 32.334664, 32.67865, 33.137298, 33.595945, 34.054593, 34.513241, 34.971888, 35.430536, 35.889184, 36.347832, 36.806479, 37.265127, 37.723775, 38.182422, 38.64107, 39.099718, 39.558366, 40.017013, 40.475661, 41.048971, 41.507618, 41.966266, 42.424914, 42.998223, 43.456871, 43.915519, 44.374167, 44.947476, 45.406124, 45.979434, 46.438081, 46.896729, 47.470039, 47.928686, 48.501996, 48.960644, 49.533953, 49.992601, 50.565911, 51.024558, 51.597868, 52.171178, 52.629825, 53.203135, 53.776445, 54.235093, 54.808402, 55.381712, 55.955021, 56.413669, 56.986979, 57.560288, 58.133598, 58.706908, 59.165555, 59.738865, 60.312175, 60.885484, 61.458794, 62.032104, 62.605413, 63.178723, 63.752033, 64.325342, 64.898652, 65.471962, 66.159933, 66.733243, 67.306552, 67.879862, 68.453172, 69.026481, 69.714453, 70.287763, 70.861072, 71.549044, 72.122353, 72.695663, 73.383635, 73.956944, 74.530254, 75.218226, 75.791535, 76.479507, 77.052816, 77.626126, 78.314098, 78.887407, 79.575379, 80.26335, 80.83666, 81.524632, 82.097941, 82.785913, 83.473884, 84.047194, 84.735166, 85.423137, 85.996447, 86.684418, 87.37239, 88.060362, 88.633671, 89.321643, 90.009614, 90.697586, 91.385558, 92.073529, 92.761501, 93.33481, 94.022782, 94.710753, 95.398725, 96.086697, 96.774668, 97.46264, 98.150611, 98.838583, 99.526555, 100.32919, 101.01716, 101.70513, 102.3931, 103.08107, 103.76905, 104.45702, 105.25965, 105.94762, 106.63559, 107.32357, 108.1262, 108.81417)+cms.vdouble(109.50214, 110.30478, 110.99275, 111.68072, 112.48335, 113.17132, 113.97396, 114.66193, 115.3499, 116.15253, 116.84051, 117.29915, -0, 0, 0, 0, 0.42858365, 0.53572957, 0.75002139, 0.85716731, 0.96431322, 1.0714591, 1.285751, 1.3928969, 1.6071887, 1.7143346, 1.8214805, 2.0357724, 2.1429183, 2.3572101, 2.464356, 2.6786478, 2.8929397, 3.0000856, 3.2143774, 3.4286692, 3.5358151, 3.750107, 3.9643988, 4.1786906, 4.3929824, 4.5001284, 4.7144202, 4.928712, 5.1430038, 5.3572957, 5.5715875, 5.7858793, 6.0001711, 6.214463, 6.4287548, 6.7501925, 6.9644844, 7.1787762, 7.393068, 7.6073598, 7.8216517, 8.1430894, 8.3573812, 8.5716731, 8.8931108, 9.1074026, 9.3216945, 9.6431322, 9.857424, 10.178862, 10.393154, 10.714591, 10.928883, 11.250321, 11.464613, 11.78605, 12.107488, 12.32178, 12.643218, 12.964656, 13.178947, 13.500385, 13.821823, 14.143261, 14.464698, 14.67899, 15.000428, 15.321866, 15.643303, 15.964741, 16.286179, 16.607617, 16.929054, 17.250492, 17.57193, 17.893368, 18.214805, 18.536243, 18.964827, 19.286264, 19.607702, 19.92914, 20.250578, 20.679161, 21.000599, 21.322037, 21.75062, 22.072058, 22.393496, 22.82208, 23.143517, 23.572101, 23.893539, 24.322122, 24.64356, 25.072144, 25.393581, 25.822165, 26.143603, 26.572186, 27.00077, 27.322208, 27.750792, 28.179375, 28.500813, 28.929397, 29.35798, 29.786564, 30.215148, 30.536585, 30.965169, 31.393753, 31.822336, 32.25092, 32.679504, 33.108087, 33.536671, 33.965254, 34.393838, 34.822422, 35.251005, 35.679589, 36.108173, 36.536756, 36.96534, 37.393924, 37.822507, 38.358237, 38.786821, 39.215404, 39.643988, 40.179717, 40.608301, 41.036885, 41.465468, 42.001198, 42.429782, 42.965511, 43.394095, 43.822679, 44.358408, 44.786992, 45.322721, 45.751305, 46.287035, 46.715618, 47.251348, 47.679931, 48.215661, 48.751391, 49.179974, 49.715704, 50.251433, 50.680017, 51.215747, 51.751476, 52.287206, 52.715789, 53.251519, 53.787248, 54.322978, 54.858708, 55.287291, 55.823021, 56.35875, 56.89448, 57.430209, 57.965939, 58.501669, 59.037398, 59.573128, 60.108857, 60.644587, 61.180316, 61.823192, 62.358922, 62.894651, 63.430381, 63.96611, 64.50184, 65.144715, 65.680445, 66.216174, 66.85905, 67.394779, 67.930509, 68.573384, 69.109114, 69.644844, 70.287719, 70.823449, 71.466324, 72.002054, 72.537783, 73.180659, 73.716388, 74.359264, 75.002139, 75.537869, 76.180744, 76.716474, 77.359349, 78.002225, 78.537954, 79.18083, 79.823705, 80.359435, 81.00231, 81.645186, 82.288061, 82.823791, 83.466666, 84.109542, 84.752417, 85.395293, 86.038168, 86.681044, 87.216773, 87.859649, 88.502524, 89.1454, 89.788275, 90.431151, 91.074026, 91.716902, 92.359777, 93.002653, 93.752674, 94.39555, 95.038425, 95.681301, 96.324176, 96.967051, 97.609927, 98.359948, 99.002824, 99.645699, 100.28857, 101.0386)+cms.vdouble(101.68147, 102.32435, 103.07437, 103.71724, 104.36012, 105.11014, 105.75302, 106.50304, 107.14591, 107.78879, 108.53881, 109.18169, 109.61027, -0, 0, 0, 0, 0.39937975, 0.49922469, 0.69891457, 0.79875951, 0.89860445, 0.99844938, 1.1981393, 1.2979842, 1.4976741, 1.597519, 1.697364, 1.8970538, 1.9968988, 2.1965886, 2.2964336, 2.4961235, 2.6958133, 2.7956583, 2.9953482, 3.195038, 3.294883, 3.4945728, 3.6942627, 3.8939526, 4.0936425, 4.1934874, 4.3931773, 4.5928672, 4.792557, 4.9922469, 5.1919368, 5.3916267, 5.5913166, 5.7910064, 5.9906963, 6.2902311, 6.489921, 6.6896109, 6.8893008, 7.0889906, 7.2886805, 7.5882153, 7.7879052, 7.9875951, 8.2871299, 8.4868198, 8.6865096, 8.9860445, 9.1857343, 9.4852691, 9.684959, 9.9844938, 10.184184, 10.483719, 10.683408, 10.982943, 11.282478, 11.482168, 11.781703, 12.081238, 12.280927, 12.580462, 12.879997, 13.179532, 13.479067, 13.678757, 13.978291, 14.277826, 14.577361, 14.876896, 15.176431, 15.475965, 15.7755, 16.075035, 16.37457, 16.674105, 16.97364, 17.273174, 17.672554, 17.972089, 18.271624, 18.571159, 18.870693, 19.270073, 19.569608, 19.869143, 20.268522, 20.568057, 20.867592, 21.266972, 21.566507, 21.965886, 22.265421, 22.664801, 22.964336, 23.363716, 23.66325, 24.06263, 24.362165, 24.761545, 25.160924, 25.460459, 25.859839, 26.259219, 26.558754, 26.958133, 27.357513, 27.756893, 28.156273, 28.455807, 28.855187, 29.254567, 29.653947, 30.053326, 30.452706, 30.852086, 31.251466, 31.650845, 32.050225, 32.449605, 32.848985, 33.248364, 33.647744, 34.047124, 34.446504, 34.845884, 35.245263, 35.744488, 36.143868, 36.543247, 36.942627, 37.441852, 37.841232, 38.240611, 38.639991, 39.139216, 39.538596, 40.03782, 40.4372, 40.83658, 41.335805, 41.735184, 42.234409, 42.633789, 43.133013, 43.532393, 44.031618, 44.430998, 44.930222, 45.429447, 45.828827, 46.328051, 46.827276, 47.226656, 47.725881, 48.225105, 48.72433, 49.12371, 49.622934, 50.122159, 50.621384, 51.120608, 51.519988, 52.019213, 52.518438, 53.017662, 53.516887, 54.016112, 54.515336, 55.014561, 55.513786, 56.01301, 56.512235, 57.01146, 57.610529, 58.109754, 58.608979, 59.108204, 59.607428, 60.106653, 60.705723, 61.204947, 61.704172, 62.303242, 62.802466, 63.301691, 63.900761, 64.399985, 64.89921, 65.49828, 65.997504, 66.596574, 67.095799, 67.595023, 68.194093, 68.693318, 69.292387, 69.891457, 70.390682, 70.989751, 71.488976, 72.088046, 72.687115, 73.18634, 73.785409, 74.384479, 74.883704, 75.482773, 76.081843, 76.680913, 77.180137, 77.779207, 78.378277, 78.977346, 79.576416, 80.175486, 80.774555, 81.27378, 81.87285, 82.471919, 83.070989, 83.670058, 84.269128, 84.868198, 85.467267, 86.066337, 86.665407, 87.364321, 87.963391, 88.56246, 89.16153, 89.7606, 90.359669, 90.958739, 91.657653, 92.256723, 92.855793, 93.454862)+cms.vdouble(94.153777, 94.752847, 95.351916, 96.050831, 96.6499, 97.24897, 97.947885, 98.546954, 99.245869, 99.844938, 100.44401, 101.14292, 101.74199, 102.14137, -0, 0, 0, 0, 0.37126937, 0.46408671, 0.64972139, 0.74253873, 0.83535608, 0.92817342, 1.1138081, 1.2066254, 1.3922601, 1.4850775, 1.5778948, 1.7635295, 1.8563468, 2.0419815, 2.1347989, 2.3204335, 2.5060682, 2.5988856, 2.7845203, 2.9701549, 3.0629723, 3.248607, 3.4342416, 3.6198763, 3.805511, 3.8983284, 4.083963, 4.2695977, 4.4552324, 4.6408671, 4.8265018, 5.0121365, 5.1977711, 5.3834058, 5.5690405, 5.8474925, 6.0331272, 6.2187619, 6.4043966, 6.5900313, 6.7756659, 7.054118, 7.2397527, 7.4253873, 7.7038394, 7.889474, 8.0751087, 8.3535608, 8.5391954, 8.8176475, 9.0032821, 9.2817342, 9.4673689, 9.7458209, 9.9314556, 10.209908, 10.48836, 10.673994, 10.952446, 11.230898, 11.416533, 11.694985, 11.973437, 12.251889, 12.530341, 12.715976, 12.994428, 13.27288, 13.551332, 13.829784, 14.108236, 14.386688, 14.66514, 14.943592, 15.222044, 15.500496, 15.778948, 16.0574, 16.428669, 16.707122, 16.985574, 17.264026, 17.542478, 17.913747, 18.192199, 18.470651, 18.84192, 19.120372, 19.398824, 19.770094, 20.048546, 20.419815, 20.698267, 21.069537, 21.347989, 21.719258, 21.99771, 22.368979, 22.647431, 23.018701, 23.38997, 23.668422, 24.039692, 24.410961, 24.689413, 25.060682, 25.431952, 25.803221, 26.17449, 26.452942, 26.824212, 27.195481, 27.566751, 27.93802, 28.309289, 28.680559, 29.051828, 29.423097, 29.794367, 30.165636, 30.536905, 30.908175, 31.279444, 31.650714, 32.021983, 32.393252, 32.764522, 33.228608, 33.599878, 33.971147, 34.342416, 34.806503, 35.177773, 35.549042, 35.920311, 36.384398, 36.755667, 37.219754, 37.591023, 37.962293, 38.426379, 38.797649, 39.261736, 39.633005, 40.097092, 40.468361, 40.932448, 41.303717, 41.767804, 42.23189, 42.60316, 43.067247, 43.531333, 43.902603, 44.366689, 44.830776, 45.294863, 45.666132, 46.130219, 46.594306, 47.058392, 47.522479, 47.893748, 48.357835, 48.821922, 49.286008, 49.750095, 50.214182, 50.678269, 51.142355, 51.606442, 52.070529, 52.534615, 52.998702, 53.555606, 54.019693, 54.48378, 54.947866, 55.411953, 55.87604, 56.432944, 56.89703, 57.361117, 57.918021, 58.382108, 58.846195, 59.403099, 59.867185, 60.331272, 60.888176, 61.352263, 61.909167, 62.373254, 62.83734, 63.394244, 63.858331, 64.415235, 64.972139, 65.436226, 65.99313, 66.457217, 67.014121, 67.571025, 68.035112, 68.592016, 69.14892, 69.613006, 70.16991, 70.726814, 71.283718, 71.747805, 72.304709, 72.861613, 73.418517, 73.975421, 74.532325, 75.089229, 75.553316, 76.11022, 76.667124, 77.224028, 77.780932, 78.337836, 78.89474, 79.451645, 80.008549, 80.565453, 81.215174, 81.772078, 82.328982, 82.885886, 83.44279, 83.999694, 84.556598, 85.20632, 85.763224, 86.320128)+cms.vdouble(86.877032, 87.526753, 88.083657, 88.640561, 89.290283, 89.847187, 90.404091, 91.053812, 91.610716, 92.260438, 92.817342, 93.374246, 94.023967, 94.580871, 94.952141, -0, 0, 0, 0, 0.34441886, 0.43052357, 0.602733, 0.68883772, 0.77494243, 0.86104714, 1.0332566, 1.1193613, 1.2915707, 1.3776754, 1.4637801, 1.6359896, 1.7220943, 1.8943037, 1.9804084, 2.1526179, 2.3248273, 2.410932, 2.5831414, 2.7553509, 2.8414556, 3.013665, 3.1858744, 3.3580839, 3.5302933, 3.616398, 3.7886074, 3.9608169, 4.1330263, 4.3052357, 4.4774452, 4.6496546, 4.821864, 4.9940734, 5.1662829, 5.424597, 5.5968064, 5.7690159, 5.9412253, 6.1134347, 6.2856442, 6.5439583, 6.7161677, 6.8883772, 7.1466913, 7.3189007, 7.4911102, 7.7494243, 7.9216337, 8.1799479, 8.3521573, 8.6104714, 8.7826809, 9.040995, 9.2132044, 9.4715186, 9.7298327, 9.9020422, 10.160356, 10.41867, 10.59088, 10.849194, 11.107508, 11.365822, 11.624136, 11.796346, 12.05466, 12.312974, 12.571288, 12.829602, 13.087917, 13.346231, 13.604545, 13.862859, 14.121173, 14.379487, 14.637801, 14.896116, 15.240534, 15.498849, 15.757163, 16.015477, 16.273791, 16.61821, 16.876524, 17.134838, 17.479257, 17.737571, 17.995885, 18.340304, 18.598618, 18.943037, 19.201351, 19.54577, 19.804084, 20.148503, 20.406817, 20.751236, 21.00955, 21.353969, 21.698388, 21.956702, 22.301121, 22.64554, 22.903854, 23.248273, 23.592692, 23.937111, 24.281529, 24.539844, 24.884262, 25.228681, 25.5731, 25.917519, 26.261938, 26.606357, 26.950776, 27.295194, 27.639613, 27.984032, 28.328451, 28.67287, 29.017289, 29.361708, 29.706126, 30.050545, 30.394964, 30.825488, 31.169907, 31.514325, 31.858744, 32.289268, 32.633687, 32.978106, 33.322524, 33.753048, 34.097467, 34.52799, 34.872409, 35.216828, 35.647352, 35.991771, 36.422294, 36.766713, 37.197237, 37.541656, 37.972179, 38.316598, 38.747122, 39.177645, 39.522064, 39.952588, 40.383111, 40.72753, 41.158054, 41.588577, 42.019101, 42.36352, 42.794043, 43.224567, 43.65509, 44.085614, 44.430033, 44.860556, 45.29108, 45.721603, 46.152127, 46.582651, 47.013174, 47.443698, 47.874221, 48.304745, 48.735268, 49.165792, 49.68242, 50.112944, 50.543467, 50.973991, 51.404515, 51.835038, 52.351666, 52.78219, 53.212714, 53.729342, 54.159865, 54.590389, 55.107017, 55.537541, 55.968064, 56.484693, 56.915216, 57.431845, 57.862368, 58.292892, 58.80952, 59.240044, 59.756672, 60.2733, 60.703824, 61.220452, 61.650976, 62.167604, 62.684232, 63.114756, 63.631384, 64.148012, 64.578536, 65.095164, 65.611792, 66.128421, 66.558944, 67.075573, 67.592201, 68.108829, 68.625457, 69.142086, 69.658714, 70.089238, 70.605866, 71.122494, 71.639122, 72.155751, 72.672379, 73.189007, 73.705636, 74.222264, 74.738892, 75.341625, 75.858253, 76.374882, 76.89151, 77.408138, 77.924767, 78.441395, 79.044128, 79.560756)+cms.vdouble(80.077384, 80.594013, 81.196746, 81.713374, 82.230002, 82.832735, 83.349364, 83.865992, 84.468725, 84.985353, 85.588086, 86.104714, 86.621343, 87.224076, 87.740704, 88.085123, -0, 0, 0, 0, 0.31893747, 0.39867184, 0.55814058, 0.63787495, 0.71760932, 0.79734368, 0.95681242, 1.0365468, 1.1960155, 1.2757499, 1.3554843, 1.514953, 1.5946874, 1.7541561, 1.8338905, 1.9933592, 2.1528279, 2.2325623, 2.3920311, 2.5514998, 2.6312342, 2.7907029, 2.9501716, 3.1096404, 3.2691091, 3.3488435, 3.5083122, 3.6677809, 3.8272497, 3.9867184, 4.1461872, 4.3056559, 4.4651246, 4.6245934, 4.7840621, 5.0232652, 5.182734, 5.3422027, 5.5016714, 5.6611402, 5.8206089, 6.059812, 6.2192807, 6.3787495, 6.6179526, 6.7774213, 6.9368901, 7.1760932, 7.3355619, 7.574765, 7.7342337, 7.9734368, 8.1329056, 8.3721087, 8.5315774, 8.7707805, 9.0099836, 9.1694524, 9.4086555, 9.6478586, 9.8073273, 10.04653, 10.285734, 10.524937, 10.76414, 10.923608, 11.162812, 11.402015, 11.641218, 11.880421, 12.119624, 12.358827, 12.59803, 12.837233, 13.076436, 13.31564, 13.554843, 13.794046, 14.112983, 14.352186, 14.591389, 14.830593, 15.069796, 15.388733, 15.627936, 15.867139, 16.186077, 16.42528, 16.664483, 16.98342, 17.222624, 17.541561, 17.780764, 18.099702, 18.338905, 18.657842, 18.897045, 19.215983, 19.455186, 19.774123, 20.093061, 20.332264, 20.651201, 20.970139, 21.209342, 21.528279, 21.847217, 22.166154, 22.485092, 22.724295, 23.043232, 23.36217, 23.681107, 24.000045, 24.318982, 24.63792, 24.956857, 25.275795, 25.594732, 25.91367, 26.232607, 26.551545, 26.870482, 27.18942, 27.508357, 27.827295, 28.146232, 28.544904, 28.863841, 29.182779, 29.501716, 29.900388, 30.219326, 30.538263, 30.857201, 31.255872, 31.57481, 31.973482, 32.292419, 32.611357, 33.010029, 33.328966, 33.727638, 34.046575, 34.445247, 34.764185, 35.162856, 35.481794, 35.880466, 36.279138, 36.598075, 36.996747, 37.395419, 37.714356, 38.113028, 38.5117, 38.910372, 39.229309, 39.627981, 40.026653, 40.425325, 40.823997, 41.142934, 41.541606, 41.940278, 42.33895, 42.737621, 43.136293, 43.534965, 43.933637, 44.332309, 44.730981, 45.129653, 45.528324, 46.006731, 46.405402, 46.804074, 47.202746, 47.601418, 48.00009, 48.478496, 48.877168, 49.27584, 49.754246, 50.152918, 50.55159, 51.029996, 51.428668, 51.82734, 52.305746, 52.704418, 53.182824, 53.581496, 53.980167, 54.458574, 54.857246, 55.335652, 55.814058, 56.21273, 56.691136, 57.089808, 57.568214, 58.04662, 58.445292, 58.923698, 59.402105, 59.800776, 60.279183, 60.757589, 61.235995, 61.634667, 62.113073, 62.591479, 63.069885, 63.548292, 64.026698, 64.505104, 64.903776, 65.382182, 65.860588, 66.338995, 66.817401, 67.295807, 67.774213, 68.252619, 68.731026, 69.209432, 69.767572, 70.245979, 70.724385, 71.202791, 71.681197, 72.159603, 72.63801, 73.19615)+cms.vdouble(73.674556, 74.152963, 74.631369, 75.189509, 75.667916, 76.146322, 76.704462, 77.182869, 77.661275, 78.219415, 78.697822, 79.255962, 79.734368, 80.212775, 80.770915, 81.249321, 81.568259, -0, 0, 0.29488721, 0.44233082, 0.58977443, 0.73721804, 1.0321053, 1.1795489, 1.3269925, 1.4744361, 1.7693233, 1.9167669, 2.2116541, 2.3590977, 2.5065413, 2.8014285, 2.9488721, 3.2437594, 3.391203, 3.6860902, 3.9809774, 4.128421, 4.4233082, 4.7181954, 4.865639, 5.1605263, 5.4554135, 5.7503007, 6.0451879, 6.1926315, 6.4875187, 6.7824059, 7.0772932, 7.3721804, 7.6670676, 7.9619548, 8.256842, 8.5517292, 8.8466164, 9.2889473, 9.5838345, 9.8787217, 10.173609, 10.468496, 10.763383, 11.205714, 11.500601, 11.795489, 12.237819, 12.532707, 12.827594, 13.269925, 13.564812, 14.007143, 14.30203, 14.744361, 15.039248, 15.481579, 15.776466, 16.218797, 16.661128, 16.956015, 17.398346, 17.840677, 18.135564, 18.577895, 19.020225, 19.462556, 19.904887, 20.199774, 20.642105, 21.084436, 21.526767, 21.969098, 22.411428, 22.853759, 23.29609, 23.738421, 24.180752, 24.623082, 25.065413, 25.507744, 26.097519, 26.539849, 26.98218, 27.424511, 27.866842, 28.456616, 28.898947, 29.341278, 29.931052, 30.373383, 30.815714, 31.405488, 31.847819, 32.437594, 32.879924, 33.469699, 33.91203, 34.501804, 34.944135, 35.533909, 35.97624, 36.566015, 37.155789, 37.59812, 38.187894, 38.777669, 39.22, 39.809774, 40.399548, 40.989323, 41.579097, 42.021428, 42.611203, 43.200977, 43.790751, 44.380526, 44.9703, 45.560075, 46.149849, 46.739624, 47.329398, 47.919172, 48.508947, 49.098721, 49.688496, 50.27827, 50.868045, 51.457819, 52.047593, 52.784811, 53.374586, 53.96436, 54.554135, 55.291353, 55.881127, 56.470902, 57.060676, 57.797894, 58.387669, 59.124887, 59.714661, 60.304435, 61.041653, 61.631428, 62.368646, 62.95842, 63.695638, 64.285413, 65.022631, 65.612405, 66.349623, 67.086841, 67.676616, 68.413834, 69.151052, 69.740826, 70.478044, 71.215262, 71.95248, 72.542255, 73.279473, 74.016691, 74.753909, 75.491127, 76.080901, 76.818119, 77.555338, 78.292556, 79.029774, 79.766992, 80.50421, 81.241428, 81.978646, 82.715864, 83.453082, 84.1903, 85.074962, 85.81218, 86.549398, 87.286616, 88.023834, 88.761052, 89.645713, 90.382931, 91.120149, 92.004811, 92.742029, 93.479247, 94.363909, 95.101127, 95.838345, 96.723007, 97.460225, 98.344886, 99.082104, 99.819322, 100.70398, 101.4412, 102.32586, 103.21053, 103.94774, 104.8324, 105.56962, 106.45428, 107.33895, 108.07616, 108.96083, 109.84549, 110.58271, 111.46737, 112.35203, 113.23669, 113.97391, 114.85857, 115.74323, 116.62789, 117.51256, 118.39722, 119.28188, 120.0191, 120.90376, 121.78842, 122.67308, 123.55774, 124.4424, 125.32707, 126.21173, 127.09639, 127.98105, 129.01316, 129.89782, 130.78248, 131.66714, 132.5518, 133.43646, 134.32113)+cms.vdouble(135.35323, 136.23789, 137.12255, 138.00722, 139.03932, 139.92398, 140.80865, 141.84075, 142.72541, 143.61007, 144.64218, 145.52684, 146.55895, 147.44361, 148.32827, 149.36037, 150.24504, 150.83481, -0, 0, 0.27229209, 0.40843813, 0.54458417, 0.68073022, 0.9530223, 1.0891683, 1.2253144, 1.3614604, 1.6337525, 1.7698986, 2.0421906, 2.1783367, 2.3144827, 2.5867748, 2.7229209, 2.9952129, 3.131359, 3.4036511, 3.6759432, 3.8120892, 4.0843813, 4.3566734, 4.4928194, 4.7651115, 5.0374036, 5.3096957, 5.5819878, 5.7181338, 5.9904259, 6.262718, 6.5350101, 6.8073022, 7.0795942, 7.3518863, 7.6241784, 7.8964705, 8.1687626, 8.5772007, 8.8494928, 9.1217849, 9.394077, 9.6663691, 9.9386611, 10.347099, 10.619391, 10.891683, 11.300122, 11.572414, 11.844706, 12.253144, 12.525436, 12.933874, 13.206166, 13.614604, 13.886896, 14.295335, 14.567627, 14.976065, 15.384503, 15.656795, 16.065233, 16.473671, 16.745963, 17.154401, 17.56284, 17.971278, 18.379716, 18.652008, 19.060446, 19.468884, 19.877322, 20.28576, 20.694199, 21.102637, 21.511075, 21.919513, 22.327951, 22.736389, 23.144827, 23.553265, 24.09785, 24.506288, 24.914726, 25.323164, 25.731602, 26.276186, 26.684624, 27.093063, 27.637647, 28.046085, 28.454523, 28.999107, 29.407545, 29.952129, 30.360568, 30.905152, 31.31359, 31.858174, 32.266612, 32.811196, 33.219635, 33.764219, 34.308803, 34.717241, 35.261825, 35.806409, 36.214847, 36.759432, 37.304016, 37.8486, 38.393184, 38.801622, 39.346206, 39.890791, 40.435375, 40.979959, 41.524543, 42.069127, 42.613712, 43.158296, 43.70288, 44.247464, 44.792048, 45.336632, 45.881217, 46.425801, 46.970385, 47.514969, 48.059553, 48.740283, 49.284868, 49.829452, 50.374036, 51.054766, 51.59935, 52.143935, 52.688519, 53.369249, 53.913833, 54.594563, 55.139147, 55.683732, 56.364462, 56.909046, 57.589776, 58.13436, 58.815091, 59.359675, 60.040405, 60.584989, 61.265719, 61.94645, 62.491034, 63.171764, 63.852494, 64.397078, 65.077809, 65.758539, 66.439269, 66.983853, 67.664583, 68.345314, 69.026044, 69.706774, 70.251358, 70.932088, 71.612819, 72.293549, 72.974279, 73.655009, 74.33574, 75.01647, 75.6972, 76.37793, 77.05866, 77.739391, 78.556267, 79.236997, 79.917727, 80.598458, 81.279188, 81.959918, 82.776794, 83.457524, 84.138255, 84.955131, 85.635861, 86.316591, 87.133468, 87.814198, 88.494928, 89.311804, 89.992535, 90.809411, 91.490141, 92.170871, 92.987747, 93.668478, 94.485354, 95.30223, 95.98296, 96.799837, 97.480567, 98.297443, 99.114319, 99.79505, 100.61193, 101.4288, 102.10953, 102.92641, 103.74328, 104.56016, 105.24089, 106.05777, 106.87464, 107.69152, 108.5084, 109.32527, 110.14215, 110.82288, 111.63976, 112.45663, 113.27351, 114.09038, 114.90726, 115.72414, 116.54101, 117.35789, 118.17477, 119.12779, 119.94466, 120.76154, 121.57842, 122.39529, 123.21217)+cms.vdouble(124.02905, 124.98207, 125.79894, 126.61582, 127.4327, 128.38572, 129.20259, 130.01947, 130.97249, 131.78937, 132.60625, 133.55927, 134.37614, 135.32917, 136.14604, 136.96292, 137.91594, 138.73282, 139.2774, -0, 0, 0.25114638, 0.37671957, 0.50229277, 0.62786596, 0.87901234, 1.0045855, 1.1301587, 1.2557319, 1.5068783, 1.6324515, 1.8835979, 2.0091711, 2.1347443, 2.3858906, 2.5114638, 2.7626102, 2.8881834, 3.1393298, 3.3904762, 3.5160494, 3.7671957, 4.0183421, 4.1439153, 4.3950617, 4.6462081, 4.8973545, 5.1485009, 5.274074, 5.5252204, 5.7763668, 6.0275132, 6.2786596, 6.529806, 6.7809523, 7.0320987, 7.2832451, 7.5343915, 7.9111111, 8.1622574, 8.4134038, 8.6645502, 8.9156966, 9.166843, 9.5435626, 9.7947089, 10.045855, 10.422575, 10.673721, 10.924868, 11.301587, 11.552734, 11.929453, 12.1806, 12.557319, 12.808466, 13.185185, 13.436331, 13.813051, 14.189771, 14.440917, 14.817637, 15.194356, 15.445503, 15.822222, 16.198942, 16.575661, 16.952381, 17.203527, 17.580247, 17.956966, 18.333686, 18.710406, 19.087125, 19.463845, 19.840564, 20.217284, 20.594003, 20.970723, 21.347443, 21.724162, 22.226455, 22.603174, 22.979894, 23.356614, 23.733333, 24.235626, 24.612346, 24.989065, 25.491358, 25.868077, 26.244797, 26.74709, 27.123809, 27.626102, 28.002822, 28.505114, 28.881834, 29.384127, 29.760846, 30.263139, 30.639859, 31.142151, 31.644444, 32.021164, 32.523457, 33.025749, 33.402469, 33.904762, 34.407054, 34.909347, 35.41164, 35.78836, 36.290652, 36.792945, 37.295238, 37.797531, 38.299823, 38.802116, 39.304409, 39.806702, 40.308994, 40.811287, 41.31358, 41.815873, 42.318166, 42.820458, 43.322751, 43.825044, 44.327337, 44.955203, 45.457495, 45.959788, 46.462081, 47.089947, 47.59224, 48.094532, 48.596825, 49.224691, 49.726984, 50.35485, 50.857143, 51.359435, 51.987301, 52.489594, 53.11746, 53.619753, 54.247619, 54.749911, 55.377777, 55.88007, 56.507936, 57.135802, 57.638095, 58.265961, 58.893827, 59.39612, 60.023986, 60.651851, 61.279717, 61.78201, 62.409876, 63.037742, 63.665608, 64.293474, 64.795767, 65.423633, 66.051499, 66.679365, 67.307231, 67.935097, 68.562963, 69.190829, 69.818694, 70.44656, 71.074426, 71.702292, 72.455731, 73.083597, 73.711463, 74.339329, 74.967195, 75.595061, 76.3485, 76.976366, 77.604232, 78.357671, 78.985537, 79.613403, 80.366843, 80.994709, 81.622574, 82.376014, 83.00388, 83.757319, 84.385185, 85.013051, 85.76649, 86.394356, 87.147795, 87.901234, 88.5291, 89.282539, 89.910405, 90.663844, 91.417283, 92.045149, 92.798589, 93.552028, 94.179894, 94.933333, 95.686772, 96.440211, 97.068077, 97.821516, 98.574955, 99.328394, 100.08183, 100.83527, 101.58871, 102.21658, 102.97002, 103.72346, 104.4769, 105.23033, 105.98377, 106.73721, 107.49065, 108.24409, 108.99753, 109.87654, 110.62998, 111.38342, 112.13686, 112.8903)+cms.vdouble(113.64374, 114.39718, 115.27619, 116.02963, 116.78307, 117.53651, 118.41552, 119.16896, 119.9224, 120.80141, 121.55485, 122.30829, 123.1873, 123.94074, 124.81975, 125.57319, 126.32663, 127.20564, 127.95908, 128.46137, -0, 0, 0.23109399, 0.34664098, 0.46218798, 0.57773497, 0.80882896, 0.92437596, 1.039923, 1.1554699, 1.3865639, 1.5021109, 1.7332049, 1.8487519, 1.9642989, 2.1953929, 2.3109399, 2.5420339, 2.6575809, 2.8886749, 3.1197689, 3.2353159, 3.4664098, 3.6975038, 3.8130508, 4.0441448, 4.2752388, 4.5063328, 4.7374268, 4.8529738, 5.0840678, 5.3151618, 5.5462558, 5.7773497, 6.0084437, 6.2395377, 6.4706317, 6.7017257, 6.9328197, 7.2794607, 7.5105547, 7.7416487, 7.9727426, 8.2038366, 8.4349306, 8.7815716, 9.0126656, 9.2437596, 9.5904006, 9.8214946, 10.052589, 10.39923, 10.630324, 10.976965, 11.208059, 11.554699, 11.785793, 12.132434, 12.363528, 12.710169, 13.05681, 13.287904, 13.634545, 13.981186, 14.21228, 14.558921, 14.905562, 15.252203, 15.598844, 15.829938, 16.176579, 16.52322, 16.869861, 17.216502, 17.563143, 17.909784, 18.256425, 18.603066, 18.949707, 19.296348, 19.642989, 19.98963, 20.451818, 20.798459, 21.1451, 21.491741, 21.838382, 22.30057, 22.647211, 22.993852, 23.45604, 23.802681, 24.149322, 24.61151, 24.958151, 25.420339, 25.76698, 26.229168, 26.575809, 27.037997, 27.384638, 27.846826, 28.193467, 28.655655, 29.117843, 29.464484, 29.926672, 30.38886, 30.735501, 31.197689, 31.659877, 32.122065, 32.584253, 32.930894, 33.393082, 33.85527, 34.317457, 34.779645, 35.241833, 35.704021, 36.166209, 36.628397, 37.090585, 37.552773, 38.014961, 38.477149, 38.939337, 39.401525, 39.863713, 40.325901, 40.788089, 41.365824, 41.828012, 42.2902, 42.752388, 43.330123, 43.792311, 44.254499, 44.716687, 45.294422, 45.75661, 46.334345, 46.796533, 47.258721, 47.836456, 48.298644, 48.876379, 49.338567, 49.916302, 50.37849, 50.956225, 51.418413, 51.996148, 52.573883, 53.036071, 53.613806, 54.191541, 54.653729, 55.231464, 55.809199, 56.386934, 56.849121, 57.426856, 58.004591, 58.582326, 59.160061, 59.622249, 60.199984, 60.777719, 61.355454, 61.933189, 62.510924, 63.088659, 63.666394, 64.244129, 64.821864, 65.399599, 65.977334, 66.670616, 67.248351, 67.826086, 68.403821, 68.981556, 69.559291, 70.252573, 70.830308, 71.408043, 72.101325, 72.67906, 73.256795, 73.950077, 74.527812, 75.105547, 75.798829, 76.376564, 77.069846, 77.647581, 78.225316, 78.918598, 79.496332, 80.189614, 80.882896, 81.460631, 82.153913, 82.731648, 83.42493, 84.118212, 84.695947, 85.389229, 86.082511, 86.660246, 87.353528, 88.04681, 88.740092, 89.317827, 90.011109, 90.704391, 91.397673, 92.090955, 92.784237, 93.477519, 94.055254, 94.748536, 95.441818, 96.1351, 96.828382, 97.521664, 98.214946, 98.908228, 99.60151, 100.29479, 101.10362, 101.7969, 102.49018, 103.18347)+cms.vdouble(103.87675, 104.57003, 105.26331, 106.07214, 106.76542, 107.45871, 108.15199, 108.96082, 109.6541, 110.34738, 111.15621, 111.84949, 112.54277, 113.3516, 114.04488, 114.85371, 115.54699, 116.24028, 117.04911, 117.74239, 118.20458, -0, 0, 0.2111512, 0.3167268, 0.4223024, 0.527878, 0.7390292, 0.8446048, 0.9501804, 1.055756, 1.2669072, 1.3724828, 1.583634, 1.6892096, 1.7947852, 2.0059364, 2.111512, 2.3226632, 2.4282388, 2.63939, 2.8505412, 2.9561168, 3.167268, 3.3784192, 3.4839948, 3.695146, 3.9062972, 4.1174484, 4.3285996, 4.4341752, 4.6453264, 4.8564776, 5.0676288, 5.27878, 5.4899312, 5.7010824, 5.9122336, 6.1233848, 6.334536, 6.6512628, 6.862414, 7.0735652, 7.2847164, 7.4958676, 7.7070188, 8.0237456, 8.2348968, 8.446048, 8.7627748, 8.973926, 9.1850772, 9.501804, 9.7129552, 10.029682, 10.240833, 10.55756, 10.768711, 11.085438, 11.296589, 11.613316, 11.930043, 12.141194, 12.457921, 12.774648, 12.985799, 13.302526, 13.619252, 13.935979, 14.252706, 14.463857, 14.780584, 15.097311, 15.414038, 15.730764, 16.047491, 16.364218, 16.680945, 16.997672, 17.314398, 17.631125, 17.947852, 18.264579, 18.686881, 19.003608, 19.320335, 19.637062, 19.953788, 20.376091, 20.692818, 21.009544, 21.431847, 21.748574, 22.0653, 22.487603, 22.80433, 23.226632, 23.543359, 23.965661, 24.282388, 24.70469, 25.021417, 25.44372, 25.760446, 26.182749, 26.605051, 26.921778, 27.34408, 27.766383, 28.08311, 28.505412, 28.927714, 29.350017, 29.772319, 30.089046, 30.511348, 30.933651, 31.355953, 31.778256, 32.200558, 32.62286, 33.045163, 33.467465, 33.889768, 34.31207, 34.734372, 35.156675, 35.578977, 36.00128, 36.423582, 36.845884, 37.268187, 37.796065, 38.218367, 38.64067, 39.062972, 39.59085, 40.013152, 40.435455, 40.857757, 41.385635, 41.807938, 42.335816, 42.758118, 43.18042, 43.708298, 44.130601, 44.658479, 45.080781, 45.608659, 46.030962, 46.55884, 46.981142, 47.50902, 48.036898, 48.4592, 48.987078, 49.514956, 49.937259, 50.465137, 50.993015, 51.520893, 51.943195, 52.471073, 52.998951, 53.526829, 54.054707, 54.47701, 55.004888, 55.532766, 56.060644, 56.588522, 57.1164, 57.644278, 58.172156, 58.700034, 59.227912, 59.75579, 60.283668, 60.917121, 61.444999, 61.972877, 62.500755, 63.028633, 63.556511, 64.189965, 64.717843, 65.245721, 65.879174, 66.407052, 66.93493, 67.568384, 68.096262, 68.62414, 69.257594, 69.785472, 70.418925, 70.946803, 71.474681, 72.108135, 72.636013, 73.269466, 73.90292, 74.430798, 75.064252, 75.59213, 76.225583, 76.859037, 77.386915, 78.020368, 78.653822, 79.1817, 79.815154, 80.448607, 81.082061, 81.609939, 82.243392, 82.876846, 83.5103, 84.143753, 84.777207, 85.41066, 85.938538, 86.571992, 87.205446, 87.838899, 88.472353, 89.105806, 89.73926, 90.372714, 91.006167, 91.639621, 92.37865, 93.012104, 93.645557)+cms.vdouble(94.279011, 94.912464, 95.545918, 96.179372, 96.918401, 97.551854, 98.185308, 98.818762, 99.557791, 100.19124, 100.8247, 101.56373, 102.19718, 102.83063, 103.56966, 104.20312, 104.94215, 105.5756, 106.20905, 106.94808, 107.58154, 108.00384, -0, 0, 0.19065189, 0.28597784, 0.38130379, 0.47662974, 0.66728163, 0.76260758, 0.85793353, 0.95325947, 1.1439114, 1.2392373, 1.4298892, 1.5252152, 1.6205411, 1.811193, 1.9065189, 2.0971708, 2.1924968, 2.3831487, 2.5738006, 2.6691265, 2.8597784, 3.0504303, 3.1457563, 3.3364082, 3.5270601, 3.7177119, 3.9083638, 4.0036898, 4.1943417, 4.3849936, 4.5756455, 4.7662974, 4.9569493, 5.1476012, 5.3382531, 5.5289049, 5.7195568, 6.0055347, 6.1961866, 6.3868385, 6.5774904, 6.7681423, 6.9587942, 7.244772, 7.4354239, 7.6260758, 7.9120536, 8.1027055, 8.2933574, 8.5793353, 8.7699872, 9.055965, 9.2466169, 9.5325947, 9.7232466, 10.009224, 10.199876, 10.485854, 10.771832, 10.962484, 11.248462, 11.53444, 11.725092, 12.011069, 12.297047, 12.583025, 12.869003, 13.059655, 13.345633, 13.63161, 13.917588, 14.203566, 14.489544, 14.775522, 15.0615, 15.347478, 15.633455, 15.919433, 16.205411, 16.491389, 16.872693, 17.158671, 17.444648, 17.730626, 18.016604, 18.397908, 18.683886, 18.969864, 19.351167, 19.637145, 19.923123, 20.304427, 20.590405, 20.971708, 21.257686, 21.63899, 21.924968, 22.306272, 22.59225, 22.973553, 23.259531, 23.640835, 24.022139, 24.308117, 24.68942, 25.070724, 25.356702, 25.738006, 26.11931, 26.500613, 26.881917, 27.167895, 27.549199, 27.930503, 28.311806, 28.69311, 29.074414, 29.455718, 29.837022, 30.218325, 30.599629, 30.980933, 31.362237, 31.74354, 32.124844, 32.506148, 32.887452, 33.268756, 33.650059, 34.126689, 34.507993, 34.889297, 35.270601, 35.74723, 36.128534, 36.509838, 36.891142, 37.367771, 37.749075, 38.225705, 38.607009, 38.988312, 39.464942, 39.846246, 40.322876, 40.70418, 41.180809, 41.562113, 42.038743, 42.420047, 42.896676, 43.373306, 43.75461, 44.23124, 44.707869, 45.089173, 45.565803, 46.042433, 46.519062, 46.900366, 47.376996, 47.853626, 48.330255, 48.806885, 49.188189, 49.664819, 50.141448, 50.618078, 51.094708, 51.571338, 52.047967, 52.524597, 53.001227, 53.477856, 53.954486, 54.431116, 55.003072, 55.479701, 55.956331, 56.432961, 56.909591, 57.38622, 57.958176, 58.434806, 58.911435, 59.483391, 59.960021, 60.436651, 61.008606, 61.485236, 61.961866, 62.533821, 63.010451, 63.582407, 64.059037, 64.535666, 65.107622, 65.584252, 66.156207, 66.728163, 67.204793, 67.776749, 68.253378, 68.825334, 69.39729, 69.873919, 70.445875, 71.017831, 71.494461, 72.066416, 72.638372, 73.210328, 73.686957, 74.258913, 74.830869, 75.402824, 75.97478, 76.546736, 77.118691, 77.595321, 78.167277, 78.739233, 79.311188, 79.883144, 80.4551, 81.027055, 81.599011, 82.170967, 82.742922, 83.410204, 83.98216)+cms.vdouble(84.554115, 85.126071, 85.698027, 86.269982, 86.841938, 87.50922, 88.081175, 88.653131, 89.225087, 89.892368, 90.464324, 91.03628, 91.703561, 92.275517, 92.847473, 93.514754, 94.08671, 94.753992, 95.325947, 95.897903, 96.565185, 97.13714, 97.518444, -0, 0, 0.16959733, 0.254396, 0.33919467, 0.42399333, 0.59359067, 0.67838933, 0.763188, 0.84798667, 1.017584, 1.1023827, 1.27198, 1.3567787, 1.4415773, 1.6111747, 1.6959733, 1.8655707, 1.9503693, 2.1199667, 2.289564, 2.3743627, 2.54396, 2.7135573, 2.798356, 2.9679533, 3.1375507, 3.307148, 3.4767453, 3.561544, 3.7311413, 3.9007387, 4.070336, 4.2399333, 4.4095307, 4.579128, 4.7487253, 4.9183227, 5.08792, 5.342316, 5.5119133, 5.6815107, 5.851108, 6.0207053, 6.1903027, 6.4446987, 6.614296, 6.7838933, 7.0382893, 7.2078867, 7.377484, 7.63188, 7.8014773, 8.0558733, 8.2254707, 8.4798667, 8.649464, 8.90386, 9.0734573, 9.3278533, 9.5822493, 9.7518467, 10.006243, 10.260639, 10.430236, 10.684632, 10.939028, 11.193424, 11.44782, 11.617417, 11.871813, 12.126209, 12.380605, 12.635001, 12.889397, 13.143793, 13.398189, 13.652585, 13.906981, 14.161377, 14.415773, 14.670169, 15.009364, 15.26376, 15.518156, 15.772552, 16.026948, 16.366143, 16.620539, 16.874935, 17.214129, 17.468525, 17.722921, 18.062116, 18.316512, 18.655707, 18.910103, 19.249297, 19.503693, 19.842888, 20.097284, 20.436479, 20.690875, 21.030069, 21.369264, 21.62366, 21.962855, 22.302049, 22.556445, 22.89564, 23.234835, 23.574029, 23.913224, 24.16762, 24.506815, 24.846009, 25.185204, 25.524399, 25.863593, 26.202788, 26.541983, 26.881177, 27.220372, 27.559567, 27.898761, 28.237956, 28.577151, 28.916345, 29.25554, 29.594735, 29.933929, 30.357923, 30.697117, 31.036312, 31.375507, 31.7995, 32.138695, 32.477889, 32.817084, 33.241077, 33.580272, 34.004265, 34.34346, 34.682655, 35.106648, 35.445843, 35.869836, 36.209031, 36.633024, 36.972219, 37.396212, 37.735407, 38.1594, 38.583393, 38.922588, 39.346581, 39.770575, 40.109769, 40.533763, 40.957756, 41.381749, 41.720944, 42.144937, 42.568931, 42.992924, 43.416917, 43.756112, 44.180105, 44.604099, 45.028092, 45.452085, 45.876079, 46.300072, 46.724065, 47.148059, 47.572052, 47.996045, 48.420039, 48.928831, 49.352824, 49.776817, 50.200811, 50.624804, 51.048797, 51.557589, 51.981583, 52.405576, 52.914368, 53.338361, 53.762355, 54.271147, 54.69514, 55.119133, 55.627925, 56.051919, 56.560711, 56.984704, 57.408697, 57.917489, 58.341483, 58.850275, 59.359067, 59.78306, 60.291852, 60.715845, 61.224637, 61.733429, 62.157423, 62.666215, 63.175007, 63.599, 64.107792, 64.616584, 65.125376, 65.549369, 66.058161, 66.566953, 67.075745, 67.584537, 68.093329, 68.602121, 69.026115, 69.534907, 70.043699, 70.552491, 71.061283, 71.570075, 72.078867, 72.587659, 73.096451, 73.605243, 74.198833)+cms.vdouble(74.707625, 75.216417, 75.725209, 76.234001, 76.742793, 77.251585, 77.845176, 78.353968, 78.86276, 79.371552, 79.965143, 80.473935, 80.982727, 81.576317, 82.085109, 82.593901, 83.187492, 83.696284, 84.289875, 84.798667, 85.307459, 85.901049, 86.409841, 86.749036, -0, 0, 0.1473171, 0.22097565, 0.2946342, 0.36829274, 0.51560984, 0.58926839, 0.66292694, 0.73658549, 0.88390259, 0.95756113, 1.1048782, 1.1785368, 1.2521953, 1.3995124, 1.473171, 1.6204881, 1.6941466, 1.8414637, 1.9887808, 2.0624394, 2.2097565, 2.3570736, 2.4307321, 2.5780492, 2.7253663, 2.8726834, 3.0200005, 3.0936591, 3.2409761, 3.3882932, 3.5356103, 3.6829274, 3.8302445, 3.9775616, 4.1248787, 4.2721958, 4.4195129, 4.6404886, 4.7878057, 4.9351228, 5.0824399, 5.229757, 5.3770741, 5.5980497, 5.7453668, 5.8926839, 6.1136596, 6.2609766, 6.4082937, 6.6292694, 6.7765865, 6.9975621, 7.1448792, 7.3658549, 7.513172, 7.7341476, 7.8814647, 8.1024404, 8.323416, 8.4707331, 8.6917088, 8.9126844, 9.0600015, 9.2809772, 9.5019528, 9.7229284, 9.9439041, 10.091221, 10.312197, 10.533172, 10.754148, 10.975124, 11.196099, 11.417075, 11.638051, 11.859026, 12.080002, 12.300978, 12.521953, 12.742929, 13.037563, 13.258539, 13.479514, 13.70049, 13.921466, 14.2161, 14.437076, 14.658051, 14.952685, 15.173661, 15.394637, 15.689271, 15.910247, 16.204881, 16.425856, 16.720491, 16.941466, 17.2361, 17.457076, 17.75171, 17.972686, 18.26732, 18.561954, 18.78293, 19.077564, 19.372198, 19.593174, 19.887808, 20.182442, 20.477077, 20.771711, 20.992686, 21.287321, 21.581955, 21.876589, 22.171223, 22.465857, 22.760492, 23.055126, 23.34976, 23.644394, 23.939028, 24.233663, 24.528297, 24.822931, 25.117565, 25.412199, 25.706834, 26.001468, 26.36976, 26.664395, 26.959029, 27.253663, 27.621956, 27.91659, 28.211224, 28.505858, 28.874151, 29.168785, 29.537078, 29.831712, 30.126346, 30.494639, 30.789273, 31.157566, 31.4522, 31.820493, 32.115127, 32.48342, 32.778054, 33.146347, 33.51464, 33.809274, 34.177567, 34.545859, 34.840494, 35.208786, 35.577079, 35.945372, 36.240006, 36.608299, 36.976592, 37.344884, 37.713177, 38.007811, 38.376104, 38.744397, 39.112689, 39.480982, 39.849275, 40.217568, 40.58586, 40.954153, 41.322446, 41.690739, 42.059031, 42.500983, 42.869275, 43.237568, 43.605861, 43.974154, 44.342446, 44.784398, 45.15269, 45.520983, 45.962934, 46.331227, 46.69952, 47.141471, 47.509764, 47.878057, 48.320008, 48.688301, 49.130252, 49.498545, 49.866838, 50.308789, 50.677082, 51.119033, 51.560984, 51.929277, 52.371228, 52.739521, 53.181472, 53.623424, 53.991716, 54.433668, 54.875619, 55.243912, 55.685863, 56.127814, 56.569765, 56.938058, 57.38001, 57.821961, 58.263912, 58.705863, 59.147815, 59.589766, 59.958059, 60.40001, 60.841961, 61.283913, 61.725864, 62.167815, 62.609766, 63.051718, 63.493669, 63.93562)+cms.vdouble(64.45123, 64.893182, 65.335133, 65.777084, 66.219035, 66.660987, 67.102938, 67.618548, 68.060499, 68.50245, 68.944402, 69.460012, 69.901963, 70.343914, 70.859524, 71.301475, 71.743427, 72.259036, 72.700988, 73.216598, 73.658549, 74.1005, 74.61611, 75.058061, 75.352695, -0, 0, 0.12541802, 0.18812703, 0.25083604, 0.31354505, 0.43896307, 0.50167207, 0.56438108, 0.62709009, 0.75250811, 0.81521712, 0.94063514, 1.0033441, 1.0660532, 1.1914712, 1.2541802, 1.3795982, 1.4423072, 1.5677252, 1.6931433, 1.7558523, 1.8812703, 2.0066883, 2.0693973, 2.1948153, 2.3202333, 2.4456514, 2.5710694, 2.6337784, 2.7591964, 2.8846144, 3.0100324, 3.1354505, 3.2608685, 3.3862865, 3.5117045, 3.6371225, 3.7625406, 3.9506676, 4.0760856, 4.2015036, 4.3269216, 4.4523397, 4.5777577, 4.7658847, 4.8913027, 5.0167207, 5.2048478, 5.3302658, 5.4556838, 5.6438108, 5.7692289, 5.9573559, 6.0827739, 6.2709009, 6.396319, 6.584446, 6.709864, 6.897991, 7.0861181, 7.2115361, 7.3996631, 7.5877901, 7.7132081, 7.9013352, 8.0894622, 8.2775892, 8.4657163, 8.5911343, 8.7792613, 8.9673883, 9.1555154, 9.3436424, 9.5317694, 9.7198964, 9.9080235, 10.096151, 10.284278, 10.472405, 10.660532, 10.848659, 11.099495, 11.287622, 11.475749, 11.663876, 11.852003, 12.102839, 12.290966, 12.479093, 12.729929, 12.918056, 13.106183, 13.357019, 13.545146, 13.795982, 13.984109, 14.234945, 14.423072, 14.673908, 14.862035, 15.112871, 15.300998, 15.551834, 15.80267, 15.990797, 16.241633, 16.492469, 16.680596, 16.931433, 17.182269, 17.433105, 17.683941, 17.872068, 18.122904, 18.37374, 18.624576, 18.875412, 19.126248, 19.377084, 19.62792, 19.878756, 20.129592, 20.380428, 20.631264, 20.8821, 21.132936, 21.383772, 21.634608, 21.885444, 22.13628, 22.449825, 22.700661, 22.951497, 23.202333, 23.515878, 23.766715, 24.017551, 24.268387, 24.581932, 24.832768, 25.146313, 25.397149, 25.647985, 25.96153, 26.212366, 26.525911, 26.776747, 27.090292, 27.341128, 27.654673, 27.905509, 28.219054, 28.532599, 28.783435, 29.09698, 29.410525, 29.661361, 29.974906, 30.288452, 30.601997, 30.852833, 31.166378, 31.479923, 31.793468, 32.107013, 32.357849, 32.671394, 32.984939, 33.298484, 33.612029, 33.925574, 34.239119, 34.552664, 34.866209, 35.179754, 35.493299, 35.806844, 36.183098, 36.496643, 36.810188, 37.123734, 37.437279, 37.750824, 38.127078, 38.440623, 38.754168, 39.130422, 39.443967, 39.757512, 40.133766, 40.447311, 40.760856, 41.13711, 41.450655, 41.826909, 42.140454, 42.453999, 42.830253, 43.143798, 43.520052, 43.896307, 44.209852, 44.586106, 44.899651, 45.275905, 45.652159, 45.965704, 46.341958, 46.718212, 47.031757, 47.408011, 47.784265, 48.160519, 48.474064, 48.850318, 49.226572, 49.602826, 49.97908, 50.355334, 50.731589, 51.045134, 51.421388, 51.797642, 52.173896, 52.55015, 52.926404, 53.302658, 53.678912, 54.055166)+cms.vdouble(54.43142, 54.870383, 55.246637, 55.622891, 55.999145, 56.375399, 56.751653, 57.127907, 57.566871, 57.943125, 58.319379, 58.695633, 59.134596, 59.51085, 59.887104, 60.326067, 60.702321, 61.078575, 61.517538, 61.893792, 62.332755, 62.709009, 63.085263, 63.524226, 63.90048, 64.151317, -0, 0.13401506, 0.26803012, 0.40204518, 0.53606024, 0.67007529, 0.93810541, 1.0721205, 1.2061355, 1.3401506, 1.6081807, 1.7421958, 2.0102259, 2.1442409, 2.278256, 2.5462861, 2.6803012, 2.9483313, 3.0823464, 3.3503765, 3.6184066, 3.7524216, 4.0204518, 4.2884819, 4.4224969, 4.6905271, 4.9585572, 5.2265873, 5.4946174, 5.6286325, 5.8966626, 6.1646927, 6.4327228, 6.7007529, 6.9687831, 7.2368132, 7.5048433, 7.7728734, 8.0409035, 8.4429487, 8.7109788, 8.9790089, 9.2470391, 9.5150692, 9.7830993, 10.185144, 10.453175, 10.721205, 11.12325, 11.39128, 11.65931, 12.061355, 12.329385, 12.731431, 12.999461, 13.401506, 13.669536, 14.071581, 14.339611, 14.741656, 15.143702, 15.411732, 15.813777, 16.215822, 16.483852, 16.885897, 17.287943, 17.689988, 18.092033, 18.360063, 18.762108, 19.164153, 19.566199, 19.968244, 20.370289, 20.772334, 21.174379, 21.576424, 21.97847, 22.380515, 22.78256, 23.184605, 23.720665, 24.122711, 24.524756, 24.926801, 25.328846, 25.864906, 26.266952, 26.668997, 27.205057, 27.607102, 28.009147, 28.545208, 28.947253, 29.483313, 29.885358, 30.421418, 30.823464, 31.359524, 31.761569, 32.297629, 32.699674, 33.235735, 33.771795, 34.17384, 34.7099, 35.24596, 35.648006, 36.184066, 36.720126, 37.256186, 37.792247, 38.194292, 38.730352, 39.266412, 39.802472, 40.338533, 40.874593, 41.410653, 41.946713, 42.482774, 43.018834, 43.554894, 44.090954, 44.627015, 45.163075, 45.699135, 46.235195, 46.771256, 47.307316, 47.977391, 48.513451, 49.049512, 49.585572, 50.255647, 50.791707, 51.327768, 51.863828, 52.533903, 53.069963, 53.740039, 54.276099, 54.812159, 55.482234, 56.018295, 56.68837, 57.22443, 57.894505, 58.430566, 59.100641, 59.636701, 60.306776, 60.976852, 61.512912, 62.182987, 62.853063, 63.389123, 64.059198, 64.729273, 65.399349, 65.935409, 66.605484, 67.27556, 67.945635, 68.61571, 69.15177, 69.821846, 70.491921, 71.161996, 71.832072, 72.502147, 73.172222, 73.842297, 74.512373, 75.182448, 75.852523, 76.522599, 77.326689, 77.996764, 78.66684, 79.336915, 80.00699, 80.677065, 81.481156, 82.151231, 82.821306, 83.625397, 84.295472, 84.965547, 85.769638, 86.439713, 87.109788, 87.913879, 88.583954, 89.388044, 90.05812, 90.728195, 91.532285, 92.20236, 93.006451, 93.810541, 94.480616, 95.284707, 95.954782, 96.758872, 97.562963, 98.233038, 99.037128, 99.841219, 100.51129, 101.31538, 102.11947, 102.92357, 103.59364, 104.39773, 105.20182, 106.00591, 106.81, 107.61409, 108.41818, 109.08826, 109.89235, 110.69644, 111.50053, 112.30462, 113.10871, 113.9128, 114.71689)+cms.vdouble(115.52098, 116.32507, 117.26318, 118.06727, 118.87136, 119.67545, 120.47954, 121.28363, 122.08772, 123.02582, 123.82991, 124.634, 125.4381, 126.3762, 127.18029, 127.98438, 128.92249, 129.72658, 130.53067, 131.46877, 132.27286, 133.21097, 134.01506, 134.81915, 135.75725, 136.56134, 137.09741, -0, 0.10460836, 0.20921672, 0.31382508, 0.41843344, 0.5230418, 0.73225853, 0.83686689, 0.94147525, 1.0460836, 1.2553003, 1.3599087, 1.5691254, 1.6737338, 1.7783421, 1.9875589, 2.0921672, 2.3013839, 2.4059923, 2.615209, 2.8244257, 2.9290341, 3.1382508, 3.3474675, 3.4520759, 3.6612926, 3.8705094, 4.0797261, 4.2889428, 4.3935512, 4.6027679, 4.8119846, 5.0212013, 5.230418, 5.4396348, 5.6488515, 5.8580682, 6.0672849, 6.2765017, 6.5903267, 6.7995435, 7.0087602, 7.2179769, 7.4271936, 7.6364103, 7.9502354, 8.1594522, 8.3686689, 8.682494, 8.8917107, 9.1009274, 9.4147525, 9.6239692, 9.9377943, 10.147011, 10.460836, 10.670053, 10.983878, 11.193095, 11.50692, 11.820745, 12.029962, 12.343787, 12.657612, 12.866828, 13.180653, 13.494479, 13.808304, 14.122129, 14.331345, 14.645171, 14.958996, 15.272821, 15.586646, 15.900471, 16.214296, 16.528121, 16.841946, 17.155771, 17.469596, 17.783421, 18.097246, 18.51568, 18.829505, 19.14333, 19.457155, 19.77098, 20.189414, 20.503239, 20.817064, 21.235497, 21.549322, 21.863147, 22.281581, 22.595406, 23.013839, 23.327664, 23.746098, 24.059923, 24.478356, 24.792182, 25.210615, 25.52444, 25.942874, 26.361307, 26.675132, 27.093565, 27.511999, 27.825824, 28.244257, 28.662691, 29.081124, 29.499558, 29.813383, 30.231816, 30.65025, 31.068683, 31.487117, 31.90555, 32.323984, 32.742417, 33.16085, 33.579284, 33.997717, 34.416151, 34.834584, 35.253018, 35.671451, 36.089885, 36.508318, 36.926751, 37.449793, 37.868227, 38.28666, 38.705094, 39.228135, 39.646569, 40.065002, 40.483436, 41.006477, 41.424911, 41.947953, 42.366386, 42.78482, 43.307861, 43.726295, 44.249337, 44.66777, 45.190812, 45.609245, 46.132287, 46.550721, 47.073762, 47.596804, 48.015238, 48.538279, 49.061321, 49.479755, 50.002797, 50.525838, 51.04888, 51.467314, 51.990355, 52.513397, 53.036439, 53.559481, 53.977914, 54.500956, 55.023998, 55.54704, 56.070081, 56.593123, 57.116165, 57.639207, 58.162249, 58.68529, 59.208332, 59.731374, 60.359024, 60.882066, 61.405108, 61.92815, 62.451191, 62.974233, 63.601883, 64.124925, 64.647967, 65.275617, 65.798659, 66.321701, 66.949351, 67.472393, 67.995435, 68.623085, 69.146127, 69.773777, 70.296819, 70.81986, 71.447511, 71.970552, 72.598202, 73.225853, 73.748894, 74.376545, 74.899586, 75.527237, 76.154887, 76.677929, 77.305579, 77.933229, 78.456271, 79.083921, 79.711571, 80.339221, 80.862263, 81.489913, 82.117563, 82.745213, 83.372864, 84.000514, 84.628164, 85.151206, 85.778856, 86.406506, 87.034156, 87.661806, 88.289457, 88.917107)+cms.vdouble(89.544757, 90.172407, 90.800057, 91.532316, 92.159966, 92.787616, 93.415266, 94.042916, 94.670567, 95.298217, 96.030475, 96.658125, 97.285776, 97.913426, 98.645684, 99.273335, 99.900985, 100.63324, 101.26089, 101.88854, 102.6208, 103.24845, 103.98071, 104.60836, 105.23601, 105.96827, 106.59592, 107.01435, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113)+cms.vdouble(113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5)+cms.vdouble(113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112)+cms.vdouble(112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5)+cms.vdouble(112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5)#, - -# L1HcalEtThresholdsNegativeEta = cms.vdouble( -L1CaloInputScalesProducer.L1HcalEtThresholdsNegativeEta = cms.vdouble( -0, 0, 0, 0, 0.70733067, 0.88416334, 1.2378287, 1.4146613, 1.591494, 1.7683267, 2.121992, 2.2988247, 2.65249, 2.8293227, 3.0061554, 3.3598207, 3.5366534, 3.8903187, 4.0671514, 4.4208167, 4.774482, 4.9513147, 5.30498, 5.6586454, 5.835478, 6.1891434, 6.5428087, 6.896474, 7.2501394, 7.426972, 7.7806374, 8.1343027, 8.4879681, 8.8416334, 9.1952987, 9.5489641, 9.9026294, 10.256295, 10.60996, 11.140458, 11.494123, 11.847789, 12.201454, 12.555119, 12.908785, 13.439283, 13.792948, 14.146613, 14.677111, 15.030777, 15.384442, 15.91494, 16.268605, 16.799103, 17.152769, 17.683267, 18.036932, 18.56743, 18.921095, 19.451593, 19.982091, 20.335757, 20.866255, 21.396753, 21.750418, 22.280916, 22.811414, 23.341912, 23.87241, 24.226075, 24.756573, 25.287071, 25.81757, 26.348068, 26.878566, 27.409064, 27.939562, 28.47006, 29.000558, 29.531056, 30.061554, 30.592052, 31.299382, 31.82988, 32.360378, 32.890876, 33.421374, 34.128705, 34.659203, 35.189701, 35.897032, 36.42753, 36.958028, 37.665358, 38.195856, 38.903187, 39.433685, 40.141016, 40.671514, 41.378844, 41.909342, 42.616673, 43.147171, 43.854502, 44.561832, 45.09233, 45.799661, 46.506992, 47.03749, 47.74482, 48.452151, 49.159482, 49.866812, 50.39731, 51.104641, 51.811972, 52.519302, 53.226633, 53.933964, 54.641294, 55.348625, 56.055956, 56.763286, 57.470617, 58.177948, 58.885278, 59.592609, 60.29994, 61.00727, 61.714601, 62.421932, 63.306095, 64.013426, 64.720756, 65.428087, 66.31225, 67.019581, 67.726912, 68.434242, 69.318406, 70.025736, 70.9099, 71.61723, 72.324561, 73.208724, 73.916055, 74.800218, 75.507549, 76.391712, 77.099043, 77.983207, 78.690537, 79.574701, 80.458864, 81.166195, 82.050358, 82.934521, 83.641852, 84.526015, 85.410179, 86.294342, 87.001673, 87.885836, 88.769999, 89.654163, 90.538326, 91.245657, 92.12982, 93.013983, 93.898147, 94.78231, 95.666473, 96.550637, 97.4348, 98.318963, 99.203127, 100.08729, 100.97145, 102.03245, 102.91661, 103.80078, 104.68494, 105.5691, 106.45327, 107.51426, 108.39843, 109.28259, 110.34358, 111.22775, 112.11191, 113.17291, 114.05707, 114.94123, 116.00223, 116.88639, 117.94739, 118.83155, 119.71572, 120.77671, 121.66088, 122.72187, 123.78287, 124.66703, 125.72803, 126.61219, 127.67319, 128.73418, 129.61835, 130.67934, 131.74034, 132.6245, 133.6855, 134.74649, 135.80749, 136.69165, 137.75265, 138.81364, 139.87464, 140.93564, 141.99663, 143.05763, 143.94179, 145.00279, 146.06378, 147.12478, 148.18578, 149.24677, 150.30777, 151.36876, 152.42976, 153.49076, 154.72858, 155.78958, 156.85058, 157.91157, 158.97257, 160.03356, 161.09456, 162.33239, 163.39339, 164.45438, 165.51538, 166.75321, 167.8142, 168.8752, 170.11303, 171.17402, 172.23502, 173.47285, 174.53384, 175.77167, 176.83267, 177.89366, 179.13149, 180.19249)+cms.vdouble(180.89982, -0, 0, 0, 0, 0.70201378, 0.87751722, 1.2285241, 1.4040276, 1.579531, 1.7550344, 2.1060413, 2.2815448, 2.6325517, 2.8080551, 2.9835586, 3.3345654, 3.5100689, 3.8610758, 4.0365792, 4.3875861, 4.738593, 4.9140964, 5.2651033, 5.6161102, 5.7916137, 6.1426205, 6.4936274, 6.8446343, 7.1956412, 7.3711447, 7.7221515, 8.0731584, 8.4241653, 8.7751722, 9.1261791, 9.477186, 9.8281929, 10.1792, 10.530207, 11.056717, 11.407724, 11.758731, 12.109738, 12.460745, 12.811751, 13.338262, 13.689269, 14.040276, 14.566786, 14.917793, 15.2688, 15.79531, 16.146317, 16.672827, 17.023834, 17.550344, 17.901351, 18.427862, 18.778869, 19.305379, 19.831889, 20.182896, 20.709406, 21.235917, 21.586924, 22.113434, 22.639944, 23.166455, 23.692965, 24.043972, 24.570482, 25.096993, 25.623503, 26.150013, 26.676524, 27.203034, 27.729544, 28.256055, 28.782565, 29.309075, 29.835586, 30.362096, 31.06411, 31.59062, 32.11713, 32.643641, 33.170151, 33.872165, 34.398675, 34.925185, 35.627199, 36.153709, 36.68022, 37.382234, 37.908744, 38.610758, 39.137268, 39.839282, 40.365792, 41.067806, 41.594316, 42.29633, 42.82284, 43.524854, 44.226868, 44.753378, 45.455392, 46.157406, 46.683916, 47.38593, 48.087944, 48.789957, 49.491971, 50.018482, 50.720495, 51.422509, 52.124523, 52.826537, 53.52855, 54.230564, 54.932578, 55.634592, 56.336606, 57.038619, 57.740633, 58.442647, 59.144661, 59.846674, 60.548688, 61.250702, 61.952716, 62.830233, 63.532247, 64.234261, 64.936274, 65.813792, 66.515805, 67.217819, 67.919833, 68.79735, 69.499364, 70.376881, 71.078895, 71.780909, 72.658426, 73.36044, 74.237957, 74.939971, 75.817488, 76.519502, 77.397019, 78.099033, 78.97655, 79.854067, 80.556081, 81.433598, 82.311115, 83.013129, 83.890646, 84.768164, 85.645681, 86.347695, 87.225212, 88.102729, 88.980246, 89.857763, 90.559777, 91.437294, 92.314812, 93.192329, 94.069846, 94.947363, 95.824881, 96.702398, 97.579915, 98.457432, 99.334949, 100.21247, 101.26549, 102.143, 103.02052, 103.89804, 104.77556, 105.65307, 106.70609, 107.58361, 108.46113, 109.51415, 110.39167, 111.26918, 112.3222, 113.19972, 114.07724, 115.13026, 116.00778, 117.0608, 117.93831, 118.81583, 119.86885, 120.74637, 121.79939, 122.85241, 123.72993, 124.78295, 125.66047, 126.71349, 127.76651, 128.64402, 129.69705, 130.75007, 131.62758, 132.6806, 133.73362, 134.78665, 135.66416, 136.71718, 137.7702, 138.82322, 139.87624, 140.92927, 141.98229, 142.8598, 143.91282, 144.96584, 146.01887, 147.07189, 148.12491, 149.17793, 150.23095, 151.28397, 152.33699, 153.56551, 154.61853, 155.67155, 156.72458, 157.7776, 158.83062, 159.88364, 161.11216, 162.16518, 163.2182, 164.27122, 165.49975, 166.55277, 167.60579, 168.83431, 169.88733, 170.94035, 172.16888, 173.2219, 174.45042, 175.50344, 176.55646, 177.78499)+cms.vdouble(178.83801, 179.54002, -0, 0, 0, 0, 0.69157744, 0.86447181, 1.2102605, 1.3831549, 1.5560492, 1.7289436, 2.0747323, 2.2476267, 2.5934154, 2.7663098, 2.9392041, 3.2849929, 3.4578872, 3.8036759, 3.9765703, 4.322359, 4.6681477, 4.8410421, 5.1868308, 5.5326196, 5.7055139, 6.0513026, 6.3970914, 6.7428801, 7.0886688, 7.2615632, 7.6073519, 7.9531406, 8.2989293, 8.6447181, 8.9905068, 9.3362955, 9.6820842, 10.027873, 10.373662, 10.892345, 11.238133, 11.583922, 11.929711, 12.2755, 12.621288, 13.139971, 13.48576, 13.831549, 14.350232, 14.696021, 15.041809, 15.560492, 15.906281, 16.424964, 16.770753, 17.289436, 17.635225, 18.153908, 18.499697, 19.01838, 19.537063, 19.882852, 20.401535, 20.920218, 21.266006, 21.784689, 22.303373, 22.822056, 23.340739, 23.686527, 24.205211, 24.723894, 25.242577, 25.76126, 26.279943, 26.798626, 27.317309, 27.835992, 28.354675, 28.873358, 29.392041, 29.910724, 30.602302, 31.120985, 31.639668, 32.158351, 32.677034, 33.368612, 33.887295, 34.405978, 35.097555, 35.616238, 36.134921, 36.826499, 37.345182, 38.036759, 38.555443, 39.24702, 39.765703, 40.45728, 40.975964, 41.667541, 42.186224, 42.877802, 43.569379, 44.088062, 44.77964, 45.471217, 45.9899, 46.681477, 47.373055, 48.064632, 48.75621, 49.274893, 49.96647, 50.658048, 51.349625, 52.041203, 52.73278, 53.424358, 54.115935, 54.807512, 55.49909, 56.190667, 56.882245, 57.573822, 58.2654, 58.956977, 59.648555, 60.340132, 61.031709, 61.896181, 62.587759, 63.279336, 63.970914, 64.835385, 65.526963, 66.21854, 66.910118, 67.77459, 68.466167, 69.330639, 70.022216, 70.713794, 71.578265, 72.269843, 73.134315, 73.825892, 74.690364, 75.381941, 76.246413, 76.937991, 77.802462, 78.666934, 79.358512, 80.222984, 81.087455, 81.779033, 82.643505, 83.507976, 84.372448, 85.064026, 85.928497, 86.792969, 87.657441, 88.521913, 89.21349, 90.077962, 90.942434, 91.806906, 92.671378, 93.535849, 94.400321, 95.264793, 96.129265, 96.993737, 97.858208, 98.72268, 99.760046, 100.62452, 101.48899, 102.35346, 103.21793, 104.08241, 105.11977, 105.98424, 106.84872, 107.88608, 108.75055, 109.61502, 110.65239, 111.51686, 112.38133, 113.4187, 114.28317, 115.32054, 116.18501, 117.04948, 118.08685, 118.95132, 119.98869, 121.02605, 121.89052, 122.92789, 123.79236, 124.82973, 125.86709, 126.73157, 127.76893, 128.8063, 129.67077, 130.70814, 131.7455, 132.78287, 133.64734, 134.68471, 135.72207, 136.75944, 137.79681, 138.83417, 139.87154, 140.73601, 141.77338, 142.81074, 143.84811, 144.88547, 145.92284, 146.96021, 147.99757, 149.03494, 150.07231, 151.28257, 152.31993, 153.3573, 154.39466, 155.43203, 156.4694, 157.50676, 158.71702, 159.75439, 160.79176, 161.82912, 163.03938, 164.07675, 165.11411, 166.32438, 167.36174, 168.39911, 169.60937, 170.64673, 171.85699, 172.89436, 173.93173)+cms.vdouble(175.14199, 176.17935, 176.87093, -0, 0, 0, 0, 0.67639901, 0.84549877, 1.1836983, 1.352798, 1.5218978, 1.6909975, 2.029197, 2.1982968, 2.5364963, 2.7055961, 2.8746958, 3.2128953, 3.3819951, 3.7201946, 3.8892943, 4.2274938, 4.5656933, 4.7347931, 5.0729926, 5.4111921, 5.5802919, 5.9184914, 6.2566909, 6.5948904, 6.9330899, 7.1021896, 7.4403892, 7.7785887, 8.1167882, 8.4549877, 8.7931872, 9.1313867, 9.4695862, 9.8077857, 10.145985, 10.653284, 10.991484, 11.329683, 11.667883, 12.006082, 12.344282, 12.851581, 13.189781, 13.52798, 14.03528, 14.373479, 14.711679, 15.218978, 15.557177, 16.064477, 16.402676, 16.909975, 17.248175, 17.755474, 18.093674, 18.600973, 19.108272, 19.446472, 19.953771, 20.46107, 20.79927, 21.306569, 21.813868, 22.321167, 22.828467, 23.166666, 23.673965, 24.181265, 24.688564, 25.195863, 25.703163, 26.210462, 26.717761, 27.22506, 27.73236, 28.239659, 28.746958, 29.254257, 29.930656, 30.437956, 30.945255, 31.452554, 31.959853, 32.636252, 33.143552, 33.650851, 34.32725, 34.834549, 35.341848, 36.018247, 36.525547, 37.201946, 37.709245, 38.385644, 38.892943, 39.569342, 40.076642, 40.753041, 41.26034, 41.936739, 42.613138, 43.120437, 43.796836, 44.473235, 44.980534, 45.656933, 46.333332, 47.009731, 47.68613, 48.19343, 48.869829, 49.546228, 50.222627, 50.899026, 51.575425, 52.251824, 52.928223, 53.604622, 54.281021, 54.95742, 55.633819, 56.310218, 56.986617, 57.663016, 58.339415, 59.015814, 59.692213, 60.537712, 61.214111, 61.89051, 62.566909, 63.412408, 64.088807, 64.765206, 65.441605, 66.287103, 66.963502, 67.809001, 68.4854, 69.161799, 70.007298, 70.683697, 71.529196, 72.205595, 73.051094, 73.727493, 74.572991, 75.24939, 76.094889, 76.940388, 77.616787, 78.462286, 79.307784, 79.984183, 80.829682, 81.675181, 82.52068, 83.197079, 84.042577, 84.888076, 85.733575, 86.579074, 87.255473, 88.100972, 88.94647, 89.791969, 90.637468, 91.482967, 92.328465, 93.173964, 94.019463, 94.864962, 95.71046, 96.555959, 97.570558, 98.416057, 99.261555, 100.10705, 100.95255, 101.79805, 102.81265, 103.65815, 104.50365, 105.51825, 106.36374, 107.20924, 108.22384, 109.06934, 109.91484, 110.92944, 111.77494, 112.78954, 113.63503, 114.48053, 115.49513, 116.34063, 117.35523, 118.36983, 119.21533, 120.22992, 121.07542, 122.09002, 123.10462, 123.95012, 124.96472, 125.97932, 126.82482, 127.83941, 128.85401, 129.86861, 130.71411, 131.72871, 132.74331, 133.75791, 134.7725, 135.7871, 136.8017, 137.6472, 138.6618, 139.6764, 140.69099, 141.70559, 142.72019, 143.73479, 144.74939, 145.76399, 146.77859, 147.96228, 148.97688, 149.99148, 151.00608, 152.02068, 153.03528, 154.04988, 155.23357, 156.24817, 157.26277, 158.27737, 159.46107, 160.47567, 161.49026, 162.67396, 163.68856, 164.70316, 165.88686, 166.90146, 168.08515, 169.09975)+cms.vdouble(170.11435, 171.29805, 172.31265, 172.98905, -0, 0, 0, 0, 0.6570034, 0.82125425, 1.149756, 1.3140068, 1.4782577, 1.6425085, 1.9710102, 2.1352611, 2.4637628, 2.6280136, 2.7922645, 3.1207662, 3.285017, 3.6135187, 3.7777696, 4.1062713, 4.434773, 4.5990238, 4.9275255, 5.2560272, 5.4202781, 5.7487798, 6.0772815, 6.4057832, 6.7342849, 6.8985357, 7.2270374, 7.5555391, 7.8840408, 8.2125425, 8.5410442, 8.8695459, 9.1980476, 9.5265493, 9.855051, 10.347804, 10.676305, 11.004807, 11.333309, 11.66181, 11.990312, 12.483065, 12.811566, 13.140068, 13.632821, 13.961322, 14.289824, 14.782577, 15.111078, 15.603831, 15.932333, 16.425085, 16.753587, 17.246339, 17.574841, 18.067594, 18.560346, 18.888848, 19.3816, 19.874353, 20.202855, 20.695607, 21.18836, 21.681112, 22.173865, 22.502367, 22.995119, 23.487872, 23.980624, 24.473377, 24.966129, 25.458882, 25.951634, 26.444387, 26.93714, 27.429892, 27.922645, 28.415397, 29.072401, 29.565153, 30.057906, 30.550658, 31.043411, 31.700414, 32.193167, 32.685919, 33.342923, 33.835675, 34.328428, 34.985431, 35.478184, 36.135187, 36.62794, 37.284943, 37.777696, 38.434699, 38.927452, 39.584455, 40.077208, 40.734211, 41.391214, 41.883967, 42.54097, 43.197974, 43.690726, 44.34773, 45.004733, 45.661737, 46.31874, 46.811492, 47.468496, 48.125499, 48.782503, 49.439506, 50.096509, 50.753513, 51.410516, 52.06752, 52.724523, 53.381527, 54.03853, 54.695533, 55.352537, 56.00954, 56.666544, 57.323547, 57.98055, 58.801805, 59.458808, 60.115811, 60.772815, 61.594069, 62.251072, 62.908076, 63.565079, 64.386334, 65.043337, 65.864591, 66.521595, 67.178598, 67.999852, 68.656856, 69.47811, 70.135113, 70.956368, 71.613371, 72.434625, 73.091629, 73.912883, 74.734137, 75.391141, 76.212395, 77.033649, 77.690652, 78.511907, 79.333161, 80.154415, 80.811419, 81.632673, 82.453927, 83.275181, 84.096436, 84.753439, 85.574693, 86.395948, 87.217202, 88.038456, 88.85971, 89.680965, 90.502219, 91.323473, 92.144727, 92.965982, 93.787236, 94.772741, 95.593995, 96.415249, 97.236504, 98.057758, 98.879012, 99.864517, 100.68577, 101.50703, 102.49253, 103.31379, 104.13504, 105.12054, 105.9418, 106.76305, 107.74856, 108.56981, 109.55532, 110.37657, 111.19783, 112.18333, 113.00459, 113.99009, 114.9756, 115.79685, 116.78235, 117.60361, 118.58911, 119.57462, 120.39587, 121.38138, 122.36688, 123.18814, 124.17364, 125.15915, 126.14465, 126.96591, 127.95141, 128.93692, 129.92242, 130.90793, 131.89343, 132.87894, 133.70019, 134.6857, 135.6712, 136.65671, 137.64221, 138.62772, 139.61322, 140.59873, 141.58423, 142.56974, 143.71949, 144.705, 145.6905, 146.67601, 147.66151, 148.64702, 149.63253, 150.78228, 151.76779, 152.75329, 153.7388, 154.88855, 155.87406, 156.85956, 158.00932, 158.99482, 159.98033, 161.13008, 162.11559, 163.26535)+cms.vdouble(164.25085, 165.23636, 166.38611, 167.37162, 168.02862, -0, 0, 0, 0, 0.63402104, 0.7925263, 1.1095368, 1.2680421, 1.4265473, 1.5850526, 1.9020631, 2.0605684, 2.3775789, 2.5360842, 2.6945894, 3.0115999, 3.1701052, 3.4871157, 3.645621, 3.9626315, 4.279642, 4.4381473, 4.7551578, 5.0721683, 5.2306736, 5.5476841, 5.8646946, 6.1817051, 6.4987157, 6.6572209, 6.9742314, 7.291242, 7.6082525, 7.925263, 8.2422735, 8.559284, 8.8762946, 9.1933051, 9.5103156, 9.9858314, 10.302842, 10.619852, 10.936863, 11.253873, 11.570884, 12.0464, 12.36341, 12.680421, 13.155937, 13.472947, 13.789958, 14.265473, 14.582484, 15.058, 15.37501, 15.850526, 16.167537, 16.643052, 16.960063, 17.435579, 17.911094, 18.228105, 18.703621, 19.179136, 19.496147, 19.971663, 20.447179, 20.922694, 21.39821, 21.715221, 22.190736, 22.666252, 23.141768, 23.617284, 24.092799, 24.568315, 25.043831, 25.519347, 25.994863, 26.470378, 26.945894, 27.42141, 28.055431, 28.530947, 29.006463, 29.481978, 29.957494, 30.591515, 31.067031, 31.542547, 32.176568, 32.652084, 33.127599, 33.76162, 34.237136, 34.871157, 35.346673, 35.980694, 36.45621, 37.090231, 37.565747, 38.199768, 38.675283, 39.309304, 39.943325, 40.418841, 41.052862, 41.686883, 42.162399, 42.79642, 43.430441, 44.064462, 44.698483, 45.173999, 45.80802, 46.442041, 47.076062, 47.710083, 48.344104, 48.978125, 49.612146, 50.246167, 50.880188, 51.514209, 52.14823, 52.782252, 53.416273, 54.050294, 54.684315, 55.318336, 55.952357, 56.744883, 57.378904, 58.012925, 58.646946, 59.439472, 60.073493, 60.707515, 61.341536, 62.134062, 62.768083, 63.560609, 64.19463, 64.828651, 65.621178, 66.255199, 67.047725, 67.681746, 68.474272, 69.108293, 69.90082, 70.534841, 71.327367, 72.119893, 72.753914, 73.546441, 74.338967, 74.972988, 75.765514, 76.558041, 77.350567, 77.984588, 78.777114, 79.56964, 80.362167, 81.154693, 81.788714, 82.58124, 83.373767, 84.166293, 84.958819, 85.751346, 86.543872, 87.336398, 88.128924, 88.921451, 89.713977, 90.506503, 91.457535, 92.250061, 93.042588, 93.835114, 94.62764, 95.420166, 96.371198, 97.163724, 97.956251, 98.907282, 99.699808, 100.49233, 101.44337, 102.23589, 103.02842, 103.97945, 104.77198, 105.72301, 106.51553, 107.30806, 108.25909, 109.05162, 110.00265, 110.95368, 111.74621, 112.69724, 113.48977, 114.4408, 115.39183, 116.18436, 117.13539, 118.08642, 118.87894, 119.82998, 120.78101, 121.73204, 122.52457, 123.4756, 124.42663, 125.37766, 126.32869, 127.27972, 128.23076, 129.02328, 129.97431, 130.92534, 131.87638, 132.82741, 133.77844, 134.72947, 135.6805, 136.63153, 137.58257, 138.6921, 139.64313, 140.59417, 141.5452, 142.49623, 143.44726, 144.39829, 145.50783, 146.45886, 147.40989, 148.36092, 149.47046, 150.42149, 151.37252, 152.48206, 153.43309, 154.38412, 155.49366, 156.44469)+cms.vdouble(157.55423, 158.50526, 159.45629, 160.56583, 161.51686, 162.15088, -0, 0, 0, 0, 0.60814195, 0.76017743, 1.0642484, 1.2162839, 1.3683194, 1.5203549, 1.8244258, 1.9764613, 2.2805323, 2.4325678, 2.5846033, 2.8886743, 3.0407097, 3.3447807, 3.4968162, 3.8008872, 4.1049581, 4.2569936, 4.5610646, 4.8651356, 5.0171711, 5.321242, 5.625313, 5.929384, 6.233455, 6.3854904, 6.6895614, 6.9936324, 7.2977034, 7.6017743, 7.9058453, 8.2099163, 8.5139873, 8.8180582, 9.1221292, 9.5782357, 9.8823066, 10.186378, 10.490449, 10.79452, 11.098591, 11.554697, 11.858768, 12.162839, 12.618945, 12.923016, 13.227087, 13.683194, 13.987265, 14.443371, 14.747442, 15.203549, 15.50762, 15.963726, 16.267797, 16.723904, 17.18001, 17.484081, 17.940187, 18.396294, 18.700365, 19.156471, 19.612578, 20.068684, 20.524791, 20.828862, 21.284968, 21.741075, 22.197181, 22.653288, 23.109394, 23.5655, 24.021607, 24.477713, 24.93382, 25.389926, 25.846033, 26.302139, 26.910281, 27.366388, 27.822494, 28.278601, 28.734707, 29.342849, 29.798955, 30.255062, 30.863204, 31.31931, 31.775417, 32.383559, 32.839665, 33.447807, 33.903914, 34.512056, 34.968162, 35.576304, 36.03241, 36.640552, 37.096659, 37.704801, 38.312943, 38.769049, 39.377191, 39.985333, 40.44144, 41.049581, 41.657723, 42.265865, 42.874007, 43.330114, 43.938256, 44.546398, 45.15454, 45.762682, 46.370824, 46.978965, 47.587107, 48.195249, 48.803391, 49.411533, 50.019675, 50.627817, 51.235959, 51.844101, 52.452243, 53.060385, 53.668527, 54.428704, 55.036846, 55.644988, 56.25313, 57.013308, 57.62145, 58.229591, 58.837733, 59.597911, 60.206053, 60.96623, 61.574372, 62.182514, 62.942692, 63.550834, 64.311011, 64.919153, 65.67933, 66.287472, 67.04765, 67.655792, 68.415969, 69.176147, 69.784288, 70.544466, 71.304643, 71.912785, 72.672963, 73.43314, 74.193318, 74.80146, 75.561637, 76.321814, 77.081992, 77.842169, 78.450311, 79.210489, 79.970666, 80.730844, 81.491021, 82.251198, 83.011376, 83.771553, 84.531731, 85.291908, 86.052086, 86.812263, 87.724476, 88.484653, 89.244831, 90.005008, 90.765186, 91.525363, 92.437576, 93.197753, 93.957931, 94.870144, 95.630321, 96.390499, 97.302712, 98.062889, 98.823066, 99.735279, 100.49546, 101.40767, 102.16785, 102.92802, 103.84024, 104.60041, 105.51263, 106.42484, 107.18502, 108.09723, 108.85741, 109.76962, 110.68183, 111.44201, 112.35422, 113.26644, 114.02662, 114.93883, 115.85104, 116.76325, 117.52343, 118.43564, 119.34786, 120.26007, 121.17228, 122.0845, 122.99671, 123.75689, 124.6691, 125.58131, 126.49353, 127.40574, 128.31795, 129.23016, 130.14238, 131.05459, 131.9668, 133.03105, 133.94326, 134.85548, 135.76769, 136.6799, 137.59212, 138.50433, 139.56858, 140.48079, 141.393, 142.30522, 143.36946, 144.28168, 145.19389, 146.25814, 147.17035, 148.08256, 149.14681)+cms.vdouble(150.05903, 151.12327, 152.03549, 152.9477, 154.01195, 154.92416, 155.5323, -0, 0, 0, 0, 0.5800716, 0.7250895, 1.0151253, 1.1601432, 1.3051611, 1.450179, 1.7402148, 1.8852327, 2.1752685, 2.3202864, 2.4653043, 2.7553401, 2.900358, 3.1903938, 3.3354117, 3.6254475, 3.9154833, 4.0605012, 4.350537, 4.6405728, 4.7855907, 5.0756265, 5.3656623, 5.6556981, 5.9457339, 6.0907518, 6.3807876, 6.6708234, 6.9608592, 7.250895, 7.5409308, 7.8309666, 8.1210024, 8.4110382, 8.701074, 9.1361277, 9.4261635, 9.7161993, 10.006235, 10.296271, 10.586307, 11.02136, 11.311396, 11.601432, 12.036486, 12.326521, 12.616557, 13.051611, 13.341647, 13.7767, 14.066736, 14.50179, 14.791826, 15.226879, 15.516915, 15.951969, 16.387023, 16.677058, 17.112112, 17.547166, 17.837202, 18.272255, 18.707309, 19.142363, 19.577416, 19.867452, 20.302506, 20.73756, 21.172613, 21.607667, 22.042721, 22.477774, 22.912828, 23.347882, 23.782936, 24.217989, 24.653043, 25.088097, 25.668168, 26.103222, 26.538276, 26.973329, 27.408383, 27.988455, 28.423508, 28.858562, 29.438634, 29.873687, 30.308741, 30.888813, 31.323866, 31.903938, 32.338992, 32.919063, 33.354117, 33.934189, 34.369242, 34.949314, 35.384368, 35.964439, 36.544511, 36.979564, 37.559636, 38.139708, 38.574761, 39.154833, 39.734905, 40.314976, 40.895048, 41.330101, 41.910173, 42.490245, 43.070316, 43.650388, 44.230459, 44.810531, 45.390603, 45.970674, 46.550746, 47.130817, 47.710889, 48.290961, 48.871032, 49.451104, 50.031175, 50.611247, 51.191319, 51.916408, 52.49648, 53.076551, 53.656623, 54.381712, 54.961784, 55.541856, 56.121927, 56.847017, 57.427088, 58.152178, 58.732249, 59.312321, 60.037411, 60.617482, 61.342572, 61.922643, 62.647733, 63.227804, 63.952894, 64.532965, 65.258055, 65.983144, 66.563216, 67.288306, 68.013395, 68.593467, 69.318556, 70.043646, 70.768735, 71.348807, 72.073896, 72.798986, 73.524075, 74.249165, 74.829236, 75.554326, 76.279415, 77.004505, 77.729594, 78.454684, 79.179773, 79.904863, 80.629952, 81.355042, 82.080131, 82.805221, 83.675328, 84.400418, 85.125507, 85.850597, 86.575686, 87.300776, 88.170883, 88.895973, 89.621062, 90.49117, 91.216259, 91.941349, 92.811456, 93.536545, 94.261635, 95.131742, 95.856832, 96.726939, 97.452029, 98.177118, 99.047226, 99.772315, 100.64242, 101.51253, 102.23762, 103.10773, 103.83282, 104.70292, 105.57303, 106.29812, 107.16823, 108.03834, 108.76342, 109.63353, 110.50364, 111.37375, 112.09884, 112.96894, 113.83905, 114.70916, 115.57927, 116.44937, 117.31948, 118.04457, 118.91468, 119.78479, 120.65489, 121.525, 122.39511, 123.26521, 124.13532, 125.00543, 125.87554, 126.89066, 127.76077, 128.63088, 129.50098, 130.37109, 131.2412, 132.11131, 133.12643, 133.99654, 134.86665, 135.73675, 136.75188, 137.62199, 138.49209, 139.50722, 140.37733, 141.24743)+cms.vdouble(142.26256, 143.13267, 144.14779, 145.0179, 145.88801, 146.90313, 147.77324, 148.35331, -0, 0, 0, 0, 0.55049288, 0.6881161, 0.96336254, 1.1009858, 1.238609, 1.3762322, 1.6514786, 1.7891019, 2.0643483, 2.2019715, 2.3395948, 2.6148412, 2.7524644, 3.0277109, 3.1653341, 3.4405805, 3.715827, 3.8534502, 4.1286966, 4.4039431, 4.5415663, 4.8168127, 5.0920592, 5.3673056, 5.642552, 5.7801753, 6.0554217, 6.3306682, 6.6059146, 6.881161, 7.1564075, 7.4316539, 7.7069004, 7.9821468, 8.2573932, 8.6702629, 8.9455093, 9.2207558, 9.4960022, 9.7712487, 10.046495, 10.459365, 10.734611, 11.009858, 11.422727, 11.697974, 11.97322, 12.38609, 12.661336, 13.074206, 13.349452, 13.762322, 14.037569, 14.450438, 14.725685, 15.138554, 15.551424, 15.82667, 16.23954, 16.65241, 16.927656, 17.340526, 17.753395, 18.166265, 18.579135, 18.854381, 19.267251, 19.680121, 20.09299, 20.50586, 20.91873, 21.331599, 21.744469, 22.157339, 22.570208, 22.983078, 23.395948, 23.808817, 24.35931, 24.77218, 25.185049, 25.597919, 26.010789, 26.561282, 26.974151, 27.387021, 27.937514, 28.350383, 28.763253, 29.313746, 29.726616, 30.277109, 30.689978, 31.240471, 31.653341, 32.203834, 32.616703, 33.167196, 33.580066, 34.130559, 34.681052, 35.093921, 35.644414, 36.194907, 36.607777, 37.15827, 37.708762, 38.259255, 38.809748, 39.222618, 39.773111, 40.323604, 40.874097, 41.424589, 41.975082, 42.525575, 43.076068, 43.626561, 44.177054, 44.727547, 45.27804, 45.828532, 46.379025, 46.929518, 47.480011, 48.030504, 48.580997, 49.269113, 49.819606, 50.370099, 50.920592, 51.608708, 52.159201, 52.709694, 53.260186, 53.948302, 54.498795, 55.186911, 55.737404, 56.287897, 56.976013, 57.526506, 58.214622, 58.765115, 59.453231, 60.003724, 60.69184, 61.242333, 61.930449, 62.618565, 63.169058, 63.857174, 64.54529, 65.095783, 65.783899, 66.472016, 67.160132, 67.710625, 68.398741, 69.086857, 69.774973, 70.463089, 71.013582, 71.701698, 72.389814, 73.07793, 73.766046, 74.454162, 75.142278, 75.830395, 76.518511, 77.206627, 77.894743, 78.582859, 79.408598, 80.096714, 80.784831, 81.472947, 82.161063, 82.849179, 83.674918, 84.363034, 85.05115, 85.87689, 86.565006, 87.253122, 88.078861, 88.766977, 89.455093, 90.280833, 90.968949, 91.794688, 92.482804, 93.17092, 93.99666, 94.684776, 95.510515, 96.336254, 97.024371, 97.85011, 98.538226, 99.363965, 100.1897, 100.87782, 101.70356, 102.5293, 103.21742, 104.04315, 104.86889, 105.69463, 106.38275, 107.20849, 108.03423, 108.85997, 109.68571, 110.51145, 111.33719, 112.0253, 112.85104, 113.67678, 114.50252, 115.32826, 116.154, 116.97974, 117.80548, 118.63122, 119.45696, 120.42032, 121.24606, 122.0718, 122.89754, 123.72328, 124.54901, 125.37475, 126.33812, 127.16386, 127.9896, 128.81533, 129.7787, 130.60444, 131.43018, 132.39354, 133.21928)+cms.vdouble(134.04502, 135.00838, 135.83412, 136.79748, 137.62322, 138.44896, 139.41232, 140.23806, 140.78855, -0, 0, 0, 0, 0.52003679, 0.65004599, 0.91006438, 1.0400736, 1.1700828, 1.300092, 1.5601104, 1.6901196, 1.950138, 2.0801472, 2.2101564, 2.4701747, 2.6001839, 2.8602023, 2.9902115, 3.2502299, 3.5102483, 3.6402575, 3.9002759, 4.1602943, 4.2903035, 4.5503219, 4.8103403, 5.0703587, 5.3303771, 5.4603863, 5.7204047, 5.9804231, 6.2404415, 6.5004599, 6.7604782, 7.0204966, 7.280515, 7.5405334, 7.8005518, 8.1905794, 8.4505978, 8.7106162, 8.9706346, 9.230653, 9.4906714, 9.880699, 10.140717, 10.400736, 10.790763, 11.050782, 11.3108, 11.700828, 11.960846, 12.350874, 12.610892, 13.00092, 13.260938, 13.650966, 13.910984, 14.301012, 14.691039, 14.951058, 15.341085, 15.731113, 15.991131, 16.381159, 16.771186, 17.161214, 17.551242, 17.81126, 18.201288, 18.591315, 18.981343, 19.37137, 19.761398, 20.151426, 20.541453, 20.931481, 21.321508, 21.711536, 22.101564, 22.491591, 23.011628, 23.401655, 23.791683, 24.181711, 24.571738, 25.091775, 25.481803, 25.87183, 26.391867, 26.781895, 27.171922, 27.691959, 28.081987, 28.602023, 28.992051, 29.512088, 29.902115, 30.422152, 30.81218, 31.332216, 31.722244, 32.242281, 32.762318, 33.152345, 33.672382, 34.192419, 34.582446, 35.102483, 35.62252, 36.142557, 36.662594, 37.052621, 37.572658, 38.092695, 38.612732, 39.132768, 39.652805, 40.172842, 40.692879, 41.212915, 41.732952, 42.252989, 42.773026, 43.293063, 43.813099, 44.333136, 44.853173, 45.37321, 45.893247, 46.543293, 47.063329, 47.583366, 48.103403, 48.753449, 49.273486, 49.793522, 50.313559, 50.963605, 51.483642, 52.133688, 52.653725, 53.173762, 53.823808, 54.343844, 54.99389, 55.513927, 56.163973, 56.68401, 57.334056, 57.854093, 58.504139, 59.154185, 59.674221, 60.324267, 60.974313, 61.49435, 62.144396, 62.794442, 63.444488, 63.964525, 64.614571, 65.264617, 65.914663, 66.564709, 67.084746, 67.734792, 68.384838, 69.034884, 69.68493, 70.334976, 70.985022, 71.635068, 72.285114, 72.93516, 73.585206, 74.235252, 75.015307, 75.665353, 76.315399, 76.965445, 77.615491, 78.265537, 79.045592, 79.695638, 80.345684, 81.125739, 81.775785, 82.425831, 83.205886, 83.855932, 84.505978, 85.286033, 85.936079, 86.716134, 87.36618, 88.016226, 88.796282, 89.446328, 90.226383, 91.006438, 91.656484, 92.436539, 93.086585, 93.86664, 94.646695, 95.296741, 96.076797, 96.856852, 97.506898, 98.286953, 99.067008, 99.847063, 100.49711, 101.27716, 102.05722, 102.83727, 103.61733, 104.39739, 105.17744, 105.82749, 106.60754, 107.3876, 108.16765, 108.94771, 109.72776, 110.50782, 111.28787, 112.06793, 112.84798, 113.75805, 114.5381, 115.31816, 116.09821, 116.87827, 117.65832, 118.43838, 119.34844, 120.1285, 120.90855, 121.68861, 122.59867, 123.37873, 124.15878, 125.06885)+cms.vdouble(125.8489, 126.62896, 127.53902, 128.31908, 129.22914, 130.0092, 130.78925, 131.69932, 132.47937, 132.99941, -0, 0, 0, 0, 0.4892627, 0.61157837, 0.85620972, 0.97852539, 1.1008411, 1.2231567, 1.4677881, 1.5901038, 1.8347351, 1.9570508, 2.0793665, 2.3239978, 2.4463135, 2.6909448, 2.8132605, 3.0578919, 3.3025232, 3.4248389, 3.6694702, 3.9141016, 4.0364172, 4.2810486, 4.5256799, 4.7703113, 5.0149426, 5.1372583, 5.3818897, 5.626521, 5.8711524, 6.1157837, 6.3604151, 6.6050464, 6.8496778, 7.0943091, 7.3389405, 7.7058875, 7.9505188, 8.1951502, 8.4397815, 8.6844129, 8.9290442, 9.2959912, 9.5406226, 9.7852539, 10.152201, 10.396832, 10.641464, 11.008411, 11.253042, 11.619989, 11.86462, 12.231567, 12.476199, 12.843146, 13.087777, 13.454724, 13.821671, 14.066303, 14.43325, 14.800197, 15.044828, 15.411775, 15.778722, 16.145669, 16.512616, 16.757247, 17.124194, 17.491141, 17.858088, 18.225035, 18.591982, 18.95893, 19.325877, 19.692824, 20.059771, 20.426718, 20.793665, 21.160612, 21.649874, 22.016821, 22.383768, 22.750715, 23.117662, 23.606925, 23.973872, 24.340819, 24.830082, 25.197029, 25.563976, 26.053239, 26.420186, 26.909448, 27.276395, 27.765658, 28.132605, 28.621868, 28.988815, 29.478077, 29.845025, 30.334287, 30.82355, 31.190497, 31.67976, 32.169022, 32.535969, 33.025232, 33.514495, 34.003757, 34.49302, 34.859967, 35.34923, 35.838493, 36.327755, 36.817018, 37.306281, 37.795543, 38.284806, 38.774069, 39.263331, 39.752594, 40.241857, 40.73112, 41.220382, 41.709645, 42.198908, 42.68817, 43.177433, 43.789011, 44.278274, 44.767537, 45.256799, 45.868378, 46.357641, 46.846903, 47.336166, 47.947744, 48.437007, 49.048585, 49.537848, 50.027111, 50.638689, 51.127952, 51.73953, 52.228793, 52.840371, 53.329634, 53.941212, 54.430475, 55.042053, 55.653632, 56.142894, 56.754473, 57.366051, 57.855314, 58.466892, 59.078471, 59.690049, 60.179312, 60.79089, 61.402468, 62.014047, 62.625625, 63.114888, 63.726466, 64.338045, 64.949623, 65.561201, 66.17278, 66.784358, 67.395936, 68.007515, 68.619093, 69.230672, 69.84225, 70.576144, 71.187722, 71.799301, 72.410879, 73.022457, 73.634036, 74.36793, 74.979508, 75.591087, 76.324981, 76.936559, 77.548137, 78.282031, 78.89361, 79.505188, 80.239082, 80.850661, 81.584555, 82.196133, 82.807711, 83.541605, 84.153184, 84.887078, 85.620972, 86.23255, 86.966444, 87.578023, 88.311917, 89.045811, 89.657389, 90.391283, 91.125177, 91.736756, 92.47065, 93.204544, 93.938438, 94.550016, 95.28391, 96.017804, 96.751698, 97.485592, 98.219486, 98.95338, 99.564959, 100.29885, 101.03275, 101.76664, 102.50053, 103.23443, 103.96832, 104.70222, 105.43611, 106.17001, 107.02621, 107.76011, 108.494, 109.2279, 109.96179, 110.69569, 111.42958, 112.28579, 113.01968, 113.75358, 114.48747, 115.34368, 116.07757, 116.81147)+cms.vdouble(117.66768, 118.40157, 119.13547, 119.99168, 120.72557, 121.58178, 122.31567, 123.04957, 123.90578, 124.63967, 125.12893, -0, 0, 0, 0, 0.45864772, 0.57330965, 0.8026335, 0.91729543, 1.0319574, 1.1466193, 1.3759432, 1.4906051, 1.7199289, 1.8345909, 1.9492528, 2.1785767, 2.2932386, 2.5225624, 2.6372244, 2.8665482, 3.0958721, 3.210534, 3.4398579, 3.6691817, 3.7838437, 4.0131675, 4.2424914, 4.4718152, 4.7011391, 4.815801, 5.0451249, 5.2744487, 5.5037726, 5.7330965, 5.9624203, 6.1917442, 6.421068, 6.6503919, 6.8797158, 7.2237015, 7.4530254, 7.6823493, 7.9116731, 8.140997, 8.3703208, 8.7143066, 8.9436305, 9.1729543, 9.5169401, 9.746264, 9.9755878, 10.319574, 10.548897, 10.892883, 11.122207, 11.466193, 11.695517, 12.039503, 12.268826, 12.612812, 12.956798, 13.186122, 13.530108, 13.874093, 14.103417, 14.447403, 14.791389, 15.135375, 15.47936, 15.708684, 16.05267, 16.396656, 16.740642, 17.084627, 17.428613, 17.772599, 18.116585, 18.460571, 18.804556, 19.148542, 19.492528, 19.836514, 20.295161, 20.639147, 20.983133, 21.327119, 21.671105, 22.129752, 22.473738, 22.817724, 23.276372, 23.620357, 23.964343, 24.422991, 24.766977, 25.225624, 25.56961, 26.028258, 26.372244, 26.830891, 27.174877, 27.633525, 27.977511, 28.436158, 28.894806, 29.238792, 29.69744, 30.156087, 30.500073, 30.958721, 31.417369, 31.876016, 32.334664, 32.67865, 33.137298, 33.595945, 34.054593, 34.513241, 34.971888, 35.430536, 35.889184, 36.347832, 36.806479, 37.265127, 37.723775, 38.182422, 38.64107, 39.099718, 39.558366, 40.017013, 40.475661, 41.048971, 41.507618, 41.966266, 42.424914, 42.998223, 43.456871, 43.915519, 44.374167, 44.947476, 45.406124, 45.979434, 46.438081, 46.896729, 47.470039, 47.928686, 48.501996, 48.960644, 49.533953, 49.992601, 50.565911, 51.024558, 51.597868, 52.171178, 52.629825, 53.203135, 53.776445, 54.235093, 54.808402, 55.381712, 55.955021, 56.413669, 56.986979, 57.560288, 58.133598, 58.706908, 59.165555, 59.738865, 60.312175, 60.885484, 61.458794, 62.032104, 62.605413, 63.178723, 63.752033, 64.325342, 64.898652, 65.471962, 66.159933, 66.733243, 67.306552, 67.879862, 68.453172, 69.026481, 69.714453, 70.287763, 70.861072, 71.549044, 72.122353, 72.695663, 73.383635, 73.956944, 74.530254, 75.218226, 75.791535, 76.479507, 77.052816, 77.626126, 78.314098, 78.887407, 79.575379, 80.26335, 80.83666, 81.524632, 82.097941, 82.785913, 83.473884, 84.047194, 84.735166, 85.423137, 85.996447, 86.684418, 87.37239, 88.060362, 88.633671, 89.321643, 90.009614, 90.697586, 91.385558, 92.073529, 92.761501, 93.33481, 94.022782, 94.710753, 95.398725, 96.086697, 96.774668, 97.46264, 98.150611, 98.838583, 99.526555, 100.32919, 101.01716, 101.70513, 102.3931, 103.08107, 103.76905, 104.45702, 105.25965, 105.94762, 106.63559, 107.32357, 108.1262, 108.81417)+cms.vdouble(109.50214, 110.30478, 110.99275, 111.68072, 112.48335, 113.17132, 113.97396, 114.66193, 115.3499, 116.15253, 116.84051, 117.29915, -0, 0, 0, 0, 0.42858365, 0.53572957, 0.75002139, 0.85716731, 0.96431322, 1.0714591, 1.285751, 1.3928969, 1.6071887, 1.7143346, 1.8214805, 2.0357724, 2.1429183, 2.3572101, 2.464356, 2.6786478, 2.8929397, 3.0000856, 3.2143774, 3.4286692, 3.5358151, 3.750107, 3.9643988, 4.1786906, 4.3929824, 4.5001284, 4.7144202, 4.928712, 5.1430038, 5.3572957, 5.5715875, 5.7858793, 6.0001711, 6.214463, 6.4287548, 6.7501925, 6.9644844, 7.1787762, 7.393068, 7.6073598, 7.8216517, 8.1430894, 8.3573812, 8.5716731, 8.8931108, 9.1074026, 9.3216945, 9.6431322, 9.857424, 10.178862, 10.393154, 10.714591, 10.928883, 11.250321, 11.464613, 11.78605, 12.107488, 12.32178, 12.643218, 12.964656, 13.178947, 13.500385, 13.821823, 14.143261, 14.464698, 14.67899, 15.000428, 15.321866, 15.643303, 15.964741, 16.286179, 16.607617, 16.929054, 17.250492, 17.57193, 17.893368, 18.214805, 18.536243, 18.964827, 19.286264, 19.607702, 19.92914, 20.250578, 20.679161, 21.000599, 21.322037, 21.75062, 22.072058, 22.393496, 22.82208, 23.143517, 23.572101, 23.893539, 24.322122, 24.64356, 25.072144, 25.393581, 25.822165, 26.143603, 26.572186, 27.00077, 27.322208, 27.750792, 28.179375, 28.500813, 28.929397, 29.35798, 29.786564, 30.215148, 30.536585, 30.965169, 31.393753, 31.822336, 32.25092, 32.679504, 33.108087, 33.536671, 33.965254, 34.393838, 34.822422, 35.251005, 35.679589, 36.108173, 36.536756, 36.96534, 37.393924, 37.822507, 38.358237, 38.786821, 39.215404, 39.643988, 40.179717, 40.608301, 41.036885, 41.465468, 42.001198, 42.429782, 42.965511, 43.394095, 43.822679, 44.358408, 44.786992, 45.322721, 45.751305, 46.287035, 46.715618, 47.251348, 47.679931, 48.215661, 48.751391, 49.179974, 49.715704, 50.251433, 50.680017, 51.215747, 51.751476, 52.287206, 52.715789, 53.251519, 53.787248, 54.322978, 54.858708, 55.287291, 55.823021, 56.35875, 56.89448, 57.430209, 57.965939, 58.501669, 59.037398, 59.573128, 60.108857, 60.644587, 61.180316, 61.823192, 62.358922, 62.894651, 63.430381, 63.96611, 64.50184, 65.144715, 65.680445, 66.216174, 66.85905, 67.394779, 67.930509, 68.573384, 69.109114, 69.644844, 70.287719, 70.823449, 71.466324, 72.002054, 72.537783, 73.180659, 73.716388, 74.359264, 75.002139, 75.537869, 76.180744, 76.716474, 77.359349, 78.002225, 78.537954, 79.18083, 79.823705, 80.359435, 81.00231, 81.645186, 82.288061, 82.823791, 83.466666, 84.109542, 84.752417, 85.395293, 86.038168, 86.681044, 87.216773, 87.859649, 88.502524, 89.1454, 89.788275, 90.431151, 91.074026, 91.716902, 92.359777, 93.002653, 93.752674, 94.39555, 95.038425, 95.681301, 96.324176, 96.967051, 97.609927, 98.359948, 99.002824, 99.645699, 100.28857, 101.0386)+cms.vdouble(101.68147, 102.32435, 103.07437, 103.71724, 104.36012, 105.11014, 105.75302, 106.50304, 107.14591, 107.78879, 108.53881, 109.18169, 109.61027, -0, 0, 0, 0, 0.39937975, 0.49922469, 0.69891457, 0.79875951, 0.89860445, 0.99844938, 1.1981393, 1.2979842, 1.4976741, 1.597519, 1.697364, 1.8970538, 1.9968988, 2.1965886, 2.2964336, 2.4961235, 2.6958133, 2.7956583, 2.9953482, 3.195038, 3.294883, 3.4945728, 3.6942627, 3.8939526, 4.0936425, 4.1934874, 4.3931773, 4.5928672, 4.792557, 4.9922469, 5.1919368, 5.3916267, 5.5913166, 5.7910064, 5.9906963, 6.2902311, 6.489921, 6.6896109, 6.8893008, 7.0889906, 7.2886805, 7.5882153, 7.7879052, 7.9875951, 8.2871299, 8.4868198, 8.6865096, 8.9860445, 9.1857343, 9.4852691, 9.684959, 9.9844938, 10.184184, 10.483719, 10.683408, 10.982943, 11.282478, 11.482168, 11.781703, 12.081238, 12.280927, 12.580462, 12.879997, 13.179532, 13.479067, 13.678757, 13.978291, 14.277826, 14.577361, 14.876896, 15.176431, 15.475965, 15.7755, 16.075035, 16.37457, 16.674105, 16.97364, 17.273174, 17.672554, 17.972089, 18.271624, 18.571159, 18.870693, 19.270073, 19.569608, 19.869143, 20.268522, 20.568057, 20.867592, 21.266972, 21.566507, 21.965886, 22.265421, 22.664801, 22.964336, 23.363716, 23.66325, 24.06263, 24.362165, 24.761545, 25.160924, 25.460459, 25.859839, 26.259219, 26.558754, 26.958133, 27.357513, 27.756893, 28.156273, 28.455807, 28.855187, 29.254567, 29.653947, 30.053326, 30.452706, 30.852086, 31.251466, 31.650845, 32.050225, 32.449605, 32.848985, 33.248364, 33.647744, 34.047124, 34.446504, 34.845884, 35.245263, 35.744488, 36.143868, 36.543247, 36.942627, 37.441852, 37.841232, 38.240611, 38.639991, 39.139216, 39.538596, 40.03782, 40.4372, 40.83658, 41.335805, 41.735184, 42.234409, 42.633789, 43.133013, 43.532393, 44.031618, 44.430998, 44.930222, 45.429447, 45.828827, 46.328051, 46.827276, 47.226656, 47.725881, 48.225105, 48.72433, 49.12371, 49.622934, 50.122159, 50.621384, 51.120608, 51.519988, 52.019213, 52.518438, 53.017662, 53.516887, 54.016112, 54.515336, 55.014561, 55.513786, 56.01301, 56.512235, 57.01146, 57.610529, 58.109754, 58.608979, 59.108204, 59.607428, 60.106653, 60.705723, 61.204947, 61.704172, 62.303242, 62.802466, 63.301691, 63.900761, 64.399985, 64.89921, 65.49828, 65.997504, 66.596574, 67.095799, 67.595023, 68.194093, 68.693318, 69.292387, 69.891457, 70.390682, 70.989751, 71.488976, 72.088046, 72.687115, 73.18634, 73.785409, 74.384479, 74.883704, 75.482773, 76.081843, 76.680913, 77.180137, 77.779207, 78.378277, 78.977346, 79.576416, 80.175486, 80.774555, 81.27378, 81.87285, 82.471919, 83.070989, 83.670058, 84.269128, 84.868198, 85.467267, 86.066337, 86.665407, 87.364321, 87.963391, 88.56246, 89.16153, 89.7606, 90.359669, 90.958739, 91.657653, 92.256723, 92.855793, 93.454862)+cms.vdouble(94.153777, 94.752847, 95.351916, 96.050831, 96.6499, 97.24897, 97.947885, 98.546954, 99.245869, 99.844938, 100.44401, 101.14292, 101.74199, 102.14137, -0, 0, 0, 0, 0.37126937, 0.46408671, 0.64972139, 0.74253873, 0.83535608, 0.92817342, 1.1138081, 1.2066254, 1.3922601, 1.4850775, 1.5778948, 1.7635295, 1.8563468, 2.0419815, 2.1347989, 2.3204335, 2.5060682, 2.5988856, 2.7845203, 2.9701549, 3.0629723, 3.248607, 3.4342416, 3.6198763, 3.805511, 3.8983284, 4.083963, 4.2695977, 4.4552324, 4.6408671, 4.8265018, 5.0121365, 5.1977711, 5.3834058, 5.5690405, 5.8474925, 6.0331272, 6.2187619, 6.4043966, 6.5900313, 6.7756659, 7.054118, 7.2397527, 7.4253873, 7.7038394, 7.889474, 8.0751087, 8.3535608, 8.5391954, 8.8176475, 9.0032821, 9.2817342, 9.4673689, 9.7458209, 9.9314556, 10.209908, 10.48836, 10.673994, 10.952446, 11.230898, 11.416533, 11.694985, 11.973437, 12.251889, 12.530341, 12.715976, 12.994428, 13.27288, 13.551332, 13.829784, 14.108236, 14.386688, 14.66514, 14.943592, 15.222044, 15.500496, 15.778948, 16.0574, 16.428669, 16.707122, 16.985574, 17.264026, 17.542478, 17.913747, 18.192199, 18.470651, 18.84192, 19.120372, 19.398824, 19.770094, 20.048546, 20.419815, 20.698267, 21.069537, 21.347989, 21.719258, 21.99771, 22.368979, 22.647431, 23.018701, 23.38997, 23.668422, 24.039692, 24.410961, 24.689413, 25.060682, 25.431952, 25.803221, 26.17449, 26.452942, 26.824212, 27.195481, 27.566751, 27.93802, 28.309289, 28.680559, 29.051828, 29.423097, 29.794367, 30.165636, 30.536905, 30.908175, 31.279444, 31.650714, 32.021983, 32.393252, 32.764522, 33.228608, 33.599878, 33.971147, 34.342416, 34.806503, 35.177773, 35.549042, 35.920311, 36.384398, 36.755667, 37.219754, 37.591023, 37.962293, 38.426379, 38.797649, 39.261736, 39.633005, 40.097092, 40.468361, 40.932448, 41.303717, 41.767804, 42.23189, 42.60316, 43.067247, 43.531333, 43.902603, 44.366689, 44.830776, 45.294863, 45.666132, 46.130219, 46.594306, 47.058392, 47.522479, 47.893748, 48.357835, 48.821922, 49.286008, 49.750095, 50.214182, 50.678269, 51.142355, 51.606442, 52.070529, 52.534615, 52.998702, 53.555606, 54.019693, 54.48378, 54.947866, 55.411953, 55.87604, 56.432944, 56.89703, 57.361117, 57.918021, 58.382108, 58.846195, 59.403099, 59.867185, 60.331272, 60.888176, 61.352263, 61.909167, 62.373254, 62.83734, 63.394244, 63.858331, 64.415235, 64.972139, 65.436226, 65.99313, 66.457217, 67.014121, 67.571025, 68.035112, 68.592016, 69.14892, 69.613006, 70.16991, 70.726814, 71.283718, 71.747805, 72.304709, 72.861613, 73.418517, 73.975421, 74.532325, 75.089229, 75.553316, 76.11022, 76.667124, 77.224028, 77.780932, 78.337836, 78.89474, 79.451645, 80.008549, 80.565453, 81.215174, 81.772078, 82.328982, 82.885886, 83.44279, 83.999694, 84.556598, 85.20632, 85.763224, 86.320128)+cms.vdouble(86.877032, 87.526753, 88.083657, 88.640561, 89.290283, 89.847187, 90.404091, 91.053812, 91.610716, 92.260438, 92.817342, 93.374246, 94.023967, 94.580871, 94.952141, -0, 0, 0, 0, 0.34441886, 0.43052357, 0.602733, 0.68883772, 0.77494243, 0.86104714, 1.0332566, 1.1193613, 1.2915707, 1.3776754, 1.4637801, 1.6359896, 1.7220943, 1.8943037, 1.9804084, 2.1526179, 2.3248273, 2.410932, 2.5831414, 2.7553509, 2.8414556, 3.013665, 3.1858744, 3.3580839, 3.5302933, 3.616398, 3.7886074, 3.9608169, 4.1330263, 4.3052357, 4.4774452, 4.6496546, 4.821864, 4.9940734, 5.1662829, 5.424597, 5.5968064, 5.7690159, 5.9412253, 6.1134347, 6.2856442, 6.5439583, 6.7161677, 6.8883772, 7.1466913, 7.3189007, 7.4911102, 7.7494243, 7.9216337, 8.1799479, 8.3521573, 8.6104714, 8.7826809, 9.040995, 9.2132044, 9.4715186, 9.7298327, 9.9020422, 10.160356, 10.41867, 10.59088, 10.849194, 11.107508, 11.365822, 11.624136, 11.796346, 12.05466, 12.312974, 12.571288, 12.829602, 13.087917, 13.346231, 13.604545, 13.862859, 14.121173, 14.379487, 14.637801, 14.896116, 15.240534, 15.498849, 15.757163, 16.015477, 16.273791, 16.61821, 16.876524, 17.134838, 17.479257, 17.737571, 17.995885, 18.340304, 18.598618, 18.943037, 19.201351, 19.54577, 19.804084, 20.148503, 20.406817, 20.751236, 21.00955, 21.353969, 21.698388, 21.956702, 22.301121, 22.64554, 22.903854, 23.248273, 23.592692, 23.937111, 24.281529, 24.539844, 24.884262, 25.228681, 25.5731, 25.917519, 26.261938, 26.606357, 26.950776, 27.295194, 27.639613, 27.984032, 28.328451, 28.67287, 29.017289, 29.361708, 29.706126, 30.050545, 30.394964, 30.825488, 31.169907, 31.514325, 31.858744, 32.289268, 32.633687, 32.978106, 33.322524, 33.753048, 34.097467, 34.52799, 34.872409, 35.216828, 35.647352, 35.991771, 36.422294, 36.766713, 37.197237, 37.541656, 37.972179, 38.316598, 38.747122, 39.177645, 39.522064, 39.952588, 40.383111, 40.72753, 41.158054, 41.588577, 42.019101, 42.36352, 42.794043, 43.224567, 43.65509, 44.085614, 44.430033, 44.860556, 45.29108, 45.721603, 46.152127, 46.582651, 47.013174, 47.443698, 47.874221, 48.304745, 48.735268, 49.165792, 49.68242, 50.112944, 50.543467, 50.973991, 51.404515, 51.835038, 52.351666, 52.78219, 53.212714, 53.729342, 54.159865, 54.590389, 55.107017, 55.537541, 55.968064, 56.484693, 56.915216, 57.431845, 57.862368, 58.292892, 58.80952, 59.240044, 59.756672, 60.2733, 60.703824, 61.220452, 61.650976, 62.167604, 62.684232, 63.114756, 63.631384, 64.148012, 64.578536, 65.095164, 65.611792, 66.128421, 66.558944, 67.075573, 67.592201, 68.108829, 68.625457, 69.142086, 69.658714, 70.089238, 70.605866, 71.122494, 71.639122, 72.155751, 72.672379, 73.189007, 73.705636, 74.222264, 74.738892, 75.341625, 75.858253, 76.374882, 76.89151, 77.408138, 77.924767, 78.441395, 79.044128, 79.560756)+cms.vdouble(80.077384, 80.594013, 81.196746, 81.713374, 82.230002, 82.832735, 83.349364, 83.865992, 84.468725, 84.985353, 85.588086, 86.104714, 86.621343, 87.224076, 87.740704, 88.085123, -0, 0, 0, 0, 0.31893747, 0.39867184, 0.55814058, 0.63787495, 0.71760932, 0.79734368, 0.95681242, 1.0365468, 1.1960155, 1.2757499, 1.3554843, 1.514953, 1.5946874, 1.7541561, 1.8338905, 1.9933592, 2.1528279, 2.2325623, 2.3920311, 2.5514998, 2.6312342, 2.7907029, 2.9501716, 3.1096404, 3.2691091, 3.3488435, 3.5083122, 3.6677809, 3.8272497, 3.9867184, 4.1461872, 4.3056559, 4.4651246, 4.6245934, 4.7840621, 5.0232652, 5.182734, 5.3422027, 5.5016714, 5.6611402, 5.8206089, 6.059812, 6.2192807, 6.3787495, 6.6179526, 6.7774213, 6.9368901, 7.1760932, 7.3355619, 7.574765, 7.7342337, 7.9734368, 8.1329056, 8.3721087, 8.5315774, 8.7707805, 9.0099836, 9.1694524, 9.4086555, 9.6478586, 9.8073273, 10.04653, 10.285734, 10.524937, 10.76414, 10.923608, 11.162812, 11.402015, 11.641218, 11.880421, 12.119624, 12.358827, 12.59803, 12.837233, 13.076436, 13.31564, 13.554843, 13.794046, 14.112983, 14.352186, 14.591389, 14.830593, 15.069796, 15.388733, 15.627936, 15.867139, 16.186077, 16.42528, 16.664483, 16.98342, 17.222624, 17.541561, 17.780764, 18.099702, 18.338905, 18.657842, 18.897045, 19.215983, 19.455186, 19.774123, 20.093061, 20.332264, 20.651201, 20.970139, 21.209342, 21.528279, 21.847217, 22.166154, 22.485092, 22.724295, 23.043232, 23.36217, 23.681107, 24.000045, 24.318982, 24.63792, 24.956857, 25.275795, 25.594732, 25.91367, 26.232607, 26.551545, 26.870482, 27.18942, 27.508357, 27.827295, 28.146232, 28.544904, 28.863841, 29.182779, 29.501716, 29.900388, 30.219326, 30.538263, 30.857201, 31.255872, 31.57481, 31.973482, 32.292419, 32.611357, 33.010029, 33.328966, 33.727638, 34.046575, 34.445247, 34.764185, 35.162856, 35.481794, 35.880466, 36.279138, 36.598075, 36.996747, 37.395419, 37.714356, 38.113028, 38.5117, 38.910372, 39.229309, 39.627981, 40.026653, 40.425325, 40.823997, 41.142934, 41.541606, 41.940278, 42.33895, 42.737621, 43.136293, 43.534965, 43.933637, 44.332309, 44.730981, 45.129653, 45.528324, 46.006731, 46.405402, 46.804074, 47.202746, 47.601418, 48.00009, 48.478496, 48.877168, 49.27584, 49.754246, 50.152918, 50.55159, 51.029996, 51.428668, 51.82734, 52.305746, 52.704418, 53.182824, 53.581496, 53.980167, 54.458574, 54.857246, 55.335652, 55.814058, 56.21273, 56.691136, 57.089808, 57.568214, 58.04662, 58.445292, 58.923698, 59.402105, 59.800776, 60.279183, 60.757589, 61.235995, 61.634667, 62.113073, 62.591479, 63.069885, 63.548292, 64.026698, 64.505104, 64.903776, 65.382182, 65.860588, 66.338995, 66.817401, 67.295807, 67.774213, 68.252619, 68.731026, 69.209432, 69.767572, 70.245979, 70.724385, 71.202791, 71.681197, 72.159603, 72.63801, 73.19615)+cms.vdouble(73.674556, 74.152963, 74.631369, 75.189509, 75.667916, 76.146322, 76.704462, 77.182869, 77.661275, 78.219415, 78.697822, 79.255962, 79.734368, 80.212775, 80.770915, 81.249321, 81.568259, -0, 0, 0.29488721, 0.44233082, 0.58977443, 0.73721804, 1.0321053, 1.1795489, 1.3269925, 1.4744361, 1.7693233, 1.9167669, 2.2116541, 2.3590977, 2.5065413, 2.8014285, 2.9488721, 3.2437594, 3.391203, 3.6860902, 3.9809774, 4.128421, 4.4233082, 4.7181954, 4.865639, 5.1605263, 5.4554135, 5.7503007, 6.0451879, 6.1926315, 6.4875187, 6.7824059, 7.0772932, 7.3721804, 7.6670676, 7.9619548, 8.256842, 8.5517292, 8.8466164, 9.2889473, 9.5838345, 9.8787217, 10.173609, 10.468496, 10.763383, 11.205714, 11.500601, 11.795489, 12.237819, 12.532707, 12.827594, 13.269925, 13.564812, 14.007143, 14.30203, 14.744361, 15.039248, 15.481579, 15.776466, 16.218797, 16.661128, 16.956015, 17.398346, 17.840677, 18.135564, 18.577895, 19.020225, 19.462556, 19.904887, 20.199774, 20.642105, 21.084436, 21.526767, 21.969098, 22.411428, 22.853759, 23.29609, 23.738421, 24.180752, 24.623082, 25.065413, 25.507744, 26.097519, 26.539849, 26.98218, 27.424511, 27.866842, 28.456616, 28.898947, 29.341278, 29.931052, 30.373383, 30.815714, 31.405488, 31.847819, 32.437594, 32.879924, 33.469699, 33.91203, 34.501804, 34.944135, 35.533909, 35.97624, 36.566015, 37.155789, 37.59812, 38.187894, 38.777669, 39.22, 39.809774, 40.399548, 40.989323, 41.579097, 42.021428, 42.611203, 43.200977, 43.790751, 44.380526, 44.9703, 45.560075, 46.149849, 46.739624, 47.329398, 47.919172, 48.508947, 49.098721, 49.688496, 50.27827, 50.868045, 51.457819, 52.047593, 52.784811, 53.374586, 53.96436, 54.554135, 55.291353, 55.881127, 56.470902, 57.060676, 57.797894, 58.387669, 59.124887, 59.714661, 60.304435, 61.041653, 61.631428, 62.368646, 62.95842, 63.695638, 64.285413, 65.022631, 65.612405, 66.349623, 67.086841, 67.676616, 68.413834, 69.151052, 69.740826, 70.478044, 71.215262, 71.95248, 72.542255, 73.279473, 74.016691, 74.753909, 75.491127, 76.080901, 76.818119, 77.555338, 78.292556, 79.029774, 79.766992, 80.50421, 81.241428, 81.978646, 82.715864, 83.453082, 84.1903, 85.074962, 85.81218, 86.549398, 87.286616, 88.023834, 88.761052, 89.645713, 90.382931, 91.120149, 92.004811, 92.742029, 93.479247, 94.363909, 95.101127, 95.838345, 96.723007, 97.460225, 98.344886, 99.082104, 99.819322, 100.70398, 101.4412, 102.32586, 103.21053, 103.94774, 104.8324, 105.56962, 106.45428, 107.33895, 108.07616, 108.96083, 109.84549, 110.58271, 111.46737, 112.35203, 113.23669, 113.97391, 114.85857, 115.74323, 116.62789, 117.51256, 118.39722, 119.28188, 120.0191, 120.90376, 121.78842, 122.67308, 123.55774, 124.4424, 125.32707, 126.21173, 127.09639, 127.98105, 129.01316, 129.89782, 130.78248, 131.66714, 132.5518, 133.43646, 134.32113)+cms.vdouble(135.35323, 136.23789, 137.12255, 138.00722, 139.03932, 139.92398, 140.80865, 141.84075, 142.72541, 143.61007, 144.64218, 145.52684, 146.55895, 147.44361, 148.32827, 149.36037, 150.24504, 150.83481, -0, 0, 0.27229209, 0.40843813, 0.54458417, 0.68073022, 0.9530223, 1.0891683, 1.2253144, 1.3614604, 1.6337525, 1.7698986, 2.0421906, 2.1783367, 2.3144827, 2.5867748, 2.7229209, 2.9952129, 3.131359, 3.4036511, 3.6759432, 3.8120892, 4.0843813, 4.3566734, 4.4928194, 4.7651115, 5.0374036, 5.3096957, 5.5819878, 5.7181338, 5.9904259, 6.262718, 6.5350101, 6.8073022, 7.0795942, 7.3518863, 7.6241784, 7.8964705, 8.1687626, 8.5772007, 8.8494928, 9.1217849, 9.394077, 9.6663691, 9.9386611, 10.347099, 10.619391, 10.891683, 11.300122, 11.572414, 11.844706, 12.253144, 12.525436, 12.933874, 13.206166, 13.614604, 13.886896, 14.295335, 14.567627, 14.976065, 15.384503, 15.656795, 16.065233, 16.473671, 16.745963, 17.154401, 17.56284, 17.971278, 18.379716, 18.652008, 19.060446, 19.468884, 19.877322, 20.28576, 20.694199, 21.102637, 21.511075, 21.919513, 22.327951, 22.736389, 23.144827, 23.553265, 24.09785, 24.506288, 24.914726, 25.323164, 25.731602, 26.276186, 26.684624, 27.093063, 27.637647, 28.046085, 28.454523, 28.999107, 29.407545, 29.952129, 30.360568, 30.905152, 31.31359, 31.858174, 32.266612, 32.811196, 33.219635, 33.764219, 34.308803, 34.717241, 35.261825, 35.806409, 36.214847, 36.759432, 37.304016, 37.8486, 38.393184, 38.801622, 39.346206, 39.890791, 40.435375, 40.979959, 41.524543, 42.069127, 42.613712, 43.158296, 43.70288, 44.247464, 44.792048, 45.336632, 45.881217, 46.425801, 46.970385, 47.514969, 48.059553, 48.740283, 49.284868, 49.829452, 50.374036, 51.054766, 51.59935, 52.143935, 52.688519, 53.369249, 53.913833, 54.594563, 55.139147, 55.683732, 56.364462, 56.909046, 57.589776, 58.13436, 58.815091, 59.359675, 60.040405, 60.584989, 61.265719, 61.94645, 62.491034, 63.171764, 63.852494, 64.397078, 65.077809, 65.758539, 66.439269, 66.983853, 67.664583, 68.345314, 69.026044, 69.706774, 70.251358, 70.932088, 71.612819, 72.293549, 72.974279, 73.655009, 74.33574, 75.01647, 75.6972, 76.37793, 77.05866, 77.739391, 78.556267, 79.236997, 79.917727, 80.598458, 81.279188, 81.959918, 82.776794, 83.457524, 84.138255, 84.955131, 85.635861, 86.316591, 87.133468, 87.814198, 88.494928, 89.311804, 89.992535, 90.809411, 91.490141, 92.170871, 92.987747, 93.668478, 94.485354, 95.30223, 95.98296, 96.799837, 97.480567, 98.297443, 99.114319, 99.79505, 100.61193, 101.4288, 102.10953, 102.92641, 103.74328, 104.56016, 105.24089, 106.05777, 106.87464, 107.69152, 108.5084, 109.32527, 110.14215, 110.82288, 111.63976, 112.45663, 113.27351, 114.09038, 114.90726, 115.72414, 116.54101, 117.35789, 118.17477, 119.12779, 119.94466, 120.76154, 121.57842, 122.39529, 123.21217)+cms.vdouble(124.02905, 124.98207, 125.79894, 126.61582, 127.4327, 128.38572, 129.20259, 130.01947, 130.97249, 131.78937, 132.60625, 133.55927, 134.37614, 135.32917, 136.14604, 136.96292, 137.91594, 138.73282, 139.2774, -0, 0, 0.25114638, 0.37671957, 0.50229277, 0.62786596, 0.87901234, 1.0045855, 1.1301587, 1.2557319, 1.5068783, 1.6324515, 1.8835979, 2.0091711, 2.1347443, 2.3858906, 2.5114638, 2.7626102, 2.8881834, 3.1393298, 3.3904762, 3.5160494, 3.7671957, 4.0183421, 4.1439153, 4.3950617, 4.6462081, 4.8973545, 5.1485009, 5.274074, 5.5252204, 5.7763668, 6.0275132, 6.2786596, 6.529806, 6.7809523, 7.0320987, 7.2832451, 7.5343915, 7.9111111, 8.1622574, 8.4134038, 8.6645502, 8.9156966, 9.166843, 9.5435626, 9.7947089, 10.045855, 10.422575, 10.673721, 10.924868, 11.301587, 11.552734, 11.929453, 12.1806, 12.557319, 12.808466, 13.185185, 13.436331, 13.813051, 14.189771, 14.440917, 14.817637, 15.194356, 15.445503, 15.822222, 16.198942, 16.575661, 16.952381, 17.203527, 17.580247, 17.956966, 18.333686, 18.710406, 19.087125, 19.463845, 19.840564, 20.217284, 20.594003, 20.970723, 21.347443, 21.724162, 22.226455, 22.603174, 22.979894, 23.356614, 23.733333, 24.235626, 24.612346, 24.989065, 25.491358, 25.868077, 26.244797, 26.74709, 27.123809, 27.626102, 28.002822, 28.505114, 28.881834, 29.384127, 29.760846, 30.263139, 30.639859, 31.142151, 31.644444, 32.021164, 32.523457, 33.025749, 33.402469, 33.904762, 34.407054, 34.909347, 35.41164, 35.78836, 36.290652, 36.792945, 37.295238, 37.797531, 38.299823, 38.802116, 39.304409, 39.806702, 40.308994, 40.811287, 41.31358, 41.815873, 42.318166, 42.820458, 43.322751, 43.825044, 44.327337, 44.955203, 45.457495, 45.959788, 46.462081, 47.089947, 47.59224, 48.094532, 48.596825, 49.224691, 49.726984, 50.35485, 50.857143, 51.359435, 51.987301, 52.489594, 53.11746, 53.619753, 54.247619, 54.749911, 55.377777, 55.88007, 56.507936, 57.135802, 57.638095, 58.265961, 58.893827, 59.39612, 60.023986, 60.651851, 61.279717, 61.78201, 62.409876, 63.037742, 63.665608, 64.293474, 64.795767, 65.423633, 66.051499, 66.679365, 67.307231, 67.935097, 68.562963, 69.190829, 69.818694, 70.44656, 71.074426, 71.702292, 72.455731, 73.083597, 73.711463, 74.339329, 74.967195, 75.595061, 76.3485, 76.976366, 77.604232, 78.357671, 78.985537, 79.613403, 80.366843, 80.994709, 81.622574, 82.376014, 83.00388, 83.757319, 84.385185, 85.013051, 85.76649, 86.394356, 87.147795, 87.901234, 88.5291, 89.282539, 89.910405, 90.663844, 91.417283, 92.045149, 92.798589, 93.552028, 94.179894, 94.933333, 95.686772, 96.440211, 97.068077, 97.821516, 98.574955, 99.328394, 100.08183, 100.83527, 101.58871, 102.21658, 102.97002, 103.72346, 104.4769, 105.23033, 105.98377, 106.73721, 107.49065, 108.24409, 108.99753, 109.87654, 110.62998, 111.38342, 112.13686, 112.8903)+cms.vdouble(113.64374, 114.39718, 115.27619, 116.02963, 116.78307, 117.53651, 118.41552, 119.16896, 119.9224, 120.80141, 121.55485, 122.30829, 123.1873, 123.94074, 124.81975, 125.57319, 126.32663, 127.20564, 127.95908, 128.46137, -0, 0, 0.23109399, 0.34664098, 0.46218798, 0.57773497, 0.80882896, 0.92437596, 1.039923, 1.1554699, 1.3865639, 1.5021109, 1.7332049, 1.8487519, 1.9642989, 2.1953929, 2.3109399, 2.5420339, 2.6575809, 2.8886749, 3.1197689, 3.2353159, 3.4664098, 3.6975038, 3.8130508, 4.0441448, 4.2752388, 4.5063328, 4.7374268, 4.8529738, 5.0840678, 5.3151618, 5.5462558, 5.7773497, 6.0084437, 6.2395377, 6.4706317, 6.7017257, 6.9328197, 7.2794607, 7.5105547, 7.7416487, 7.9727426, 8.2038366, 8.4349306, 8.7815716, 9.0126656, 9.2437596, 9.5904006, 9.8214946, 10.052589, 10.39923, 10.630324, 10.976965, 11.208059, 11.554699, 11.785793, 12.132434, 12.363528, 12.710169, 13.05681, 13.287904, 13.634545, 13.981186, 14.21228, 14.558921, 14.905562, 15.252203, 15.598844, 15.829938, 16.176579, 16.52322, 16.869861, 17.216502, 17.563143, 17.909784, 18.256425, 18.603066, 18.949707, 19.296348, 19.642989, 19.98963, 20.451818, 20.798459, 21.1451, 21.491741, 21.838382, 22.30057, 22.647211, 22.993852, 23.45604, 23.802681, 24.149322, 24.61151, 24.958151, 25.420339, 25.76698, 26.229168, 26.575809, 27.037997, 27.384638, 27.846826, 28.193467, 28.655655, 29.117843, 29.464484, 29.926672, 30.38886, 30.735501, 31.197689, 31.659877, 32.122065, 32.584253, 32.930894, 33.393082, 33.85527, 34.317457, 34.779645, 35.241833, 35.704021, 36.166209, 36.628397, 37.090585, 37.552773, 38.014961, 38.477149, 38.939337, 39.401525, 39.863713, 40.325901, 40.788089, 41.365824, 41.828012, 42.2902, 42.752388, 43.330123, 43.792311, 44.254499, 44.716687, 45.294422, 45.75661, 46.334345, 46.796533, 47.258721, 47.836456, 48.298644, 48.876379, 49.338567, 49.916302, 50.37849, 50.956225, 51.418413, 51.996148, 52.573883, 53.036071, 53.613806, 54.191541, 54.653729, 55.231464, 55.809199, 56.386934, 56.849121, 57.426856, 58.004591, 58.582326, 59.160061, 59.622249, 60.199984, 60.777719, 61.355454, 61.933189, 62.510924, 63.088659, 63.666394, 64.244129, 64.821864, 65.399599, 65.977334, 66.670616, 67.248351, 67.826086, 68.403821, 68.981556, 69.559291, 70.252573, 70.830308, 71.408043, 72.101325, 72.67906, 73.256795, 73.950077, 74.527812, 75.105547, 75.798829, 76.376564, 77.069846, 77.647581, 78.225316, 78.918598, 79.496332, 80.189614, 80.882896, 81.460631, 82.153913, 82.731648, 83.42493, 84.118212, 84.695947, 85.389229, 86.082511, 86.660246, 87.353528, 88.04681, 88.740092, 89.317827, 90.011109, 90.704391, 91.397673, 92.090955, 92.784237, 93.477519, 94.055254, 94.748536, 95.441818, 96.1351, 96.828382, 97.521664, 98.214946, 98.908228, 99.60151, 100.29479, 101.10362, 101.7969, 102.49018, 103.18347)+cms.vdouble(103.87675, 104.57003, 105.26331, 106.07214, 106.76542, 107.45871, 108.15199, 108.96082, 109.6541, 110.34738, 111.15621, 111.84949, 112.54277, 113.3516, 114.04488, 114.85371, 115.54699, 116.24028, 117.04911, 117.74239, 118.20458, -0, 0, 0.2111512, 0.3167268, 0.4223024, 0.527878, 0.7390292, 0.8446048, 0.9501804, 1.055756, 1.2669072, 1.3724828, 1.583634, 1.6892096, 1.7947852, 2.0059364, 2.111512, 2.3226632, 2.4282388, 2.63939, 2.8505412, 2.9561168, 3.167268, 3.3784192, 3.4839948, 3.695146, 3.9062972, 4.1174484, 4.3285996, 4.4341752, 4.6453264, 4.8564776, 5.0676288, 5.27878, 5.4899312, 5.7010824, 5.9122336, 6.1233848, 6.334536, 6.6512628, 6.862414, 7.0735652, 7.2847164, 7.4958676, 7.7070188, 8.0237456, 8.2348968, 8.446048, 8.7627748, 8.973926, 9.1850772, 9.501804, 9.7129552, 10.029682, 10.240833, 10.55756, 10.768711, 11.085438, 11.296589, 11.613316, 11.930043, 12.141194, 12.457921, 12.774648, 12.985799, 13.302526, 13.619252, 13.935979, 14.252706, 14.463857, 14.780584, 15.097311, 15.414038, 15.730764, 16.047491, 16.364218, 16.680945, 16.997672, 17.314398, 17.631125, 17.947852, 18.264579, 18.686881, 19.003608, 19.320335, 19.637062, 19.953788, 20.376091, 20.692818, 21.009544, 21.431847, 21.748574, 22.0653, 22.487603, 22.80433, 23.226632, 23.543359, 23.965661, 24.282388, 24.70469, 25.021417, 25.44372, 25.760446, 26.182749, 26.605051, 26.921778, 27.34408, 27.766383, 28.08311, 28.505412, 28.927714, 29.350017, 29.772319, 30.089046, 30.511348, 30.933651, 31.355953, 31.778256, 32.200558, 32.62286, 33.045163, 33.467465, 33.889768, 34.31207, 34.734372, 35.156675, 35.578977, 36.00128, 36.423582, 36.845884, 37.268187, 37.796065, 38.218367, 38.64067, 39.062972, 39.59085, 40.013152, 40.435455, 40.857757, 41.385635, 41.807938, 42.335816, 42.758118, 43.18042, 43.708298, 44.130601, 44.658479, 45.080781, 45.608659, 46.030962, 46.55884, 46.981142, 47.50902, 48.036898, 48.4592, 48.987078, 49.514956, 49.937259, 50.465137, 50.993015, 51.520893, 51.943195, 52.471073, 52.998951, 53.526829, 54.054707, 54.47701, 55.004888, 55.532766, 56.060644, 56.588522, 57.1164, 57.644278, 58.172156, 58.700034, 59.227912, 59.75579, 60.283668, 60.917121, 61.444999, 61.972877, 62.500755, 63.028633, 63.556511, 64.189965, 64.717843, 65.245721, 65.879174, 66.407052, 66.93493, 67.568384, 68.096262, 68.62414, 69.257594, 69.785472, 70.418925, 70.946803, 71.474681, 72.108135, 72.636013, 73.269466, 73.90292, 74.430798, 75.064252, 75.59213, 76.225583, 76.859037, 77.386915, 78.020368, 78.653822, 79.1817, 79.815154, 80.448607, 81.082061, 81.609939, 82.243392, 82.876846, 83.5103, 84.143753, 84.777207, 85.41066, 85.938538, 86.571992, 87.205446, 87.838899, 88.472353, 89.105806, 89.73926, 90.372714, 91.006167, 91.639621, 92.37865, 93.012104, 93.645557)+cms.vdouble(94.279011, 94.912464, 95.545918, 96.179372, 96.918401, 97.551854, 98.185308, 98.818762, 99.557791, 100.19124, 100.8247, 101.56373, 102.19718, 102.83063, 103.56966, 104.20312, 104.94215, 105.5756, 106.20905, 106.94808, 107.58154, 108.00384, -0, 0, 0.19065189, 0.28597784, 0.38130379, 0.47662974, 0.66728163, 0.76260758, 0.85793353, 0.95325947, 1.1439114, 1.2392373, 1.4298892, 1.5252152, 1.6205411, 1.811193, 1.9065189, 2.0971708, 2.1924968, 2.3831487, 2.5738006, 2.6691265, 2.8597784, 3.0504303, 3.1457563, 3.3364082, 3.5270601, 3.7177119, 3.9083638, 4.0036898, 4.1943417, 4.3849936, 4.5756455, 4.7662974, 4.9569493, 5.1476012, 5.3382531, 5.5289049, 5.7195568, 6.0055347, 6.1961866, 6.3868385, 6.5774904, 6.7681423, 6.9587942, 7.244772, 7.4354239, 7.6260758, 7.9120536, 8.1027055, 8.2933574, 8.5793353, 8.7699872, 9.055965, 9.2466169, 9.5325947, 9.7232466, 10.009224, 10.199876, 10.485854, 10.771832, 10.962484, 11.248462, 11.53444, 11.725092, 12.011069, 12.297047, 12.583025, 12.869003, 13.059655, 13.345633, 13.63161, 13.917588, 14.203566, 14.489544, 14.775522, 15.0615, 15.347478, 15.633455, 15.919433, 16.205411, 16.491389, 16.872693, 17.158671, 17.444648, 17.730626, 18.016604, 18.397908, 18.683886, 18.969864, 19.351167, 19.637145, 19.923123, 20.304427, 20.590405, 20.971708, 21.257686, 21.63899, 21.924968, 22.306272, 22.59225, 22.973553, 23.259531, 23.640835, 24.022139, 24.308117, 24.68942, 25.070724, 25.356702, 25.738006, 26.11931, 26.500613, 26.881917, 27.167895, 27.549199, 27.930503, 28.311806, 28.69311, 29.074414, 29.455718, 29.837022, 30.218325, 30.599629, 30.980933, 31.362237, 31.74354, 32.124844, 32.506148, 32.887452, 33.268756, 33.650059, 34.126689, 34.507993, 34.889297, 35.270601, 35.74723, 36.128534, 36.509838, 36.891142, 37.367771, 37.749075, 38.225705, 38.607009, 38.988312, 39.464942, 39.846246, 40.322876, 40.70418, 41.180809, 41.562113, 42.038743, 42.420047, 42.896676, 43.373306, 43.75461, 44.23124, 44.707869, 45.089173, 45.565803, 46.042433, 46.519062, 46.900366, 47.376996, 47.853626, 48.330255, 48.806885, 49.188189, 49.664819, 50.141448, 50.618078, 51.094708, 51.571338, 52.047967, 52.524597, 53.001227, 53.477856, 53.954486, 54.431116, 55.003072, 55.479701, 55.956331, 56.432961, 56.909591, 57.38622, 57.958176, 58.434806, 58.911435, 59.483391, 59.960021, 60.436651, 61.008606, 61.485236, 61.961866, 62.533821, 63.010451, 63.582407, 64.059037, 64.535666, 65.107622, 65.584252, 66.156207, 66.728163, 67.204793, 67.776749, 68.253378, 68.825334, 69.39729, 69.873919, 70.445875, 71.017831, 71.494461, 72.066416, 72.638372, 73.210328, 73.686957, 74.258913, 74.830869, 75.402824, 75.97478, 76.546736, 77.118691, 77.595321, 78.167277, 78.739233, 79.311188, 79.883144, 80.4551, 81.027055, 81.599011, 82.170967, 82.742922, 83.410204, 83.98216)+cms.vdouble(84.554115, 85.126071, 85.698027, 86.269982, 86.841938, 87.50922, 88.081175, 88.653131, 89.225087, 89.892368, 90.464324, 91.03628, 91.703561, 92.275517, 92.847473, 93.514754, 94.08671, 94.753992, 95.325947, 95.897903, 96.565185, 97.13714, 97.518444, -0, 0, 0.16959733, 0.254396, 0.33919467, 0.42399333, 0.59359067, 0.67838933, 0.763188, 0.84798667, 1.017584, 1.1023827, 1.27198, 1.3567787, 1.4415773, 1.6111747, 1.6959733, 1.8655707, 1.9503693, 2.1199667, 2.289564, 2.3743627, 2.54396, 2.7135573, 2.798356, 2.9679533, 3.1375507, 3.307148, 3.4767453, 3.561544, 3.7311413, 3.9007387, 4.070336, 4.2399333, 4.4095307, 4.579128, 4.7487253, 4.9183227, 5.08792, 5.342316, 5.5119133, 5.6815107, 5.851108, 6.0207053, 6.1903027, 6.4446987, 6.614296, 6.7838933, 7.0382893, 7.2078867, 7.377484, 7.63188, 7.8014773, 8.0558733, 8.2254707, 8.4798667, 8.649464, 8.90386, 9.0734573, 9.3278533, 9.5822493, 9.7518467, 10.006243, 10.260639, 10.430236, 10.684632, 10.939028, 11.193424, 11.44782, 11.617417, 11.871813, 12.126209, 12.380605, 12.635001, 12.889397, 13.143793, 13.398189, 13.652585, 13.906981, 14.161377, 14.415773, 14.670169, 15.009364, 15.26376, 15.518156, 15.772552, 16.026948, 16.366143, 16.620539, 16.874935, 17.214129, 17.468525, 17.722921, 18.062116, 18.316512, 18.655707, 18.910103, 19.249297, 19.503693, 19.842888, 20.097284, 20.436479, 20.690875, 21.030069, 21.369264, 21.62366, 21.962855, 22.302049, 22.556445, 22.89564, 23.234835, 23.574029, 23.913224, 24.16762, 24.506815, 24.846009, 25.185204, 25.524399, 25.863593, 26.202788, 26.541983, 26.881177, 27.220372, 27.559567, 27.898761, 28.237956, 28.577151, 28.916345, 29.25554, 29.594735, 29.933929, 30.357923, 30.697117, 31.036312, 31.375507, 31.7995, 32.138695, 32.477889, 32.817084, 33.241077, 33.580272, 34.004265, 34.34346, 34.682655, 35.106648, 35.445843, 35.869836, 36.209031, 36.633024, 36.972219, 37.396212, 37.735407, 38.1594, 38.583393, 38.922588, 39.346581, 39.770575, 40.109769, 40.533763, 40.957756, 41.381749, 41.720944, 42.144937, 42.568931, 42.992924, 43.416917, 43.756112, 44.180105, 44.604099, 45.028092, 45.452085, 45.876079, 46.300072, 46.724065, 47.148059, 47.572052, 47.996045, 48.420039, 48.928831, 49.352824, 49.776817, 50.200811, 50.624804, 51.048797, 51.557589, 51.981583, 52.405576, 52.914368, 53.338361, 53.762355, 54.271147, 54.69514, 55.119133, 55.627925, 56.051919, 56.560711, 56.984704, 57.408697, 57.917489, 58.341483, 58.850275, 59.359067, 59.78306, 60.291852, 60.715845, 61.224637, 61.733429, 62.157423, 62.666215, 63.175007, 63.599, 64.107792, 64.616584, 65.125376, 65.549369, 66.058161, 66.566953, 67.075745, 67.584537, 68.093329, 68.602121, 69.026115, 69.534907, 70.043699, 70.552491, 71.061283, 71.570075, 72.078867, 72.587659, 73.096451, 73.605243, 74.198833)+cms.vdouble(74.707625, 75.216417, 75.725209, 76.234001, 76.742793, 77.251585, 77.845176, 78.353968, 78.86276, 79.371552, 79.965143, 80.473935, 80.982727, 81.576317, 82.085109, 82.593901, 83.187492, 83.696284, 84.289875, 84.798667, 85.307459, 85.901049, 86.409841, 86.749036, -0, 0, 0.1473171, 0.22097565, 0.2946342, 0.36829274, 0.51560984, 0.58926839, 0.66292694, 0.73658549, 0.88390259, 0.95756113, 1.1048782, 1.1785368, 1.2521953, 1.3995124, 1.473171, 1.6204881, 1.6941466, 1.8414637, 1.9887808, 2.0624394, 2.2097565, 2.3570736, 2.4307321, 2.5780492, 2.7253663, 2.8726834, 3.0200005, 3.0936591, 3.2409761, 3.3882932, 3.5356103, 3.6829274, 3.8302445, 3.9775616, 4.1248787, 4.2721958, 4.4195129, 4.6404886, 4.7878057, 4.9351228, 5.0824399, 5.229757, 5.3770741, 5.5980497, 5.7453668, 5.8926839, 6.1136596, 6.2609766, 6.4082937, 6.6292694, 6.7765865, 6.9975621, 7.1448792, 7.3658549, 7.513172, 7.7341476, 7.8814647, 8.1024404, 8.323416, 8.4707331, 8.6917088, 8.9126844, 9.0600015, 9.2809772, 9.5019528, 9.7229284, 9.9439041, 10.091221, 10.312197, 10.533172, 10.754148, 10.975124, 11.196099, 11.417075, 11.638051, 11.859026, 12.080002, 12.300978, 12.521953, 12.742929, 13.037563, 13.258539, 13.479514, 13.70049, 13.921466, 14.2161, 14.437076, 14.658051, 14.952685, 15.173661, 15.394637, 15.689271, 15.910247, 16.204881, 16.425856, 16.720491, 16.941466, 17.2361, 17.457076, 17.75171, 17.972686, 18.26732, 18.561954, 18.78293, 19.077564, 19.372198, 19.593174, 19.887808, 20.182442, 20.477077, 20.771711, 20.992686, 21.287321, 21.581955, 21.876589, 22.171223, 22.465857, 22.760492, 23.055126, 23.34976, 23.644394, 23.939028, 24.233663, 24.528297, 24.822931, 25.117565, 25.412199, 25.706834, 26.001468, 26.36976, 26.664395, 26.959029, 27.253663, 27.621956, 27.91659, 28.211224, 28.505858, 28.874151, 29.168785, 29.537078, 29.831712, 30.126346, 30.494639, 30.789273, 31.157566, 31.4522, 31.820493, 32.115127, 32.48342, 32.778054, 33.146347, 33.51464, 33.809274, 34.177567, 34.545859, 34.840494, 35.208786, 35.577079, 35.945372, 36.240006, 36.608299, 36.976592, 37.344884, 37.713177, 38.007811, 38.376104, 38.744397, 39.112689, 39.480982, 39.849275, 40.217568, 40.58586, 40.954153, 41.322446, 41.690739, 42.059031, 42.500983, 42.869275, 43.237568, 43.605861, 43.974154, 44.342446, 44.784398, 45.15269, 45.520983, 45.962934, 46.331227, 46.69952, 47.141471, 47.509764, 47.878057, 48.320008, 48.688301, 49.130252, 49.498545, 49.866838, 50.308789, 50.677082, 51.119033, 51.560984, 51.929277, 52.371228, 52.739521, 53.181472, 53.623424, 53.991716, 54.433668, 54.875619, 55.243912, 55.685863, 56.127814, 56.569765, 56.938058, 57.38001, 57.821961, 58.263912, 58.705863, 59.147815, 59.589766, 59.958059, 60.40001, 60.841961, 61.283913, 61.725864, 62.167815, 62.609766, 63.051718, 63.493669, 63.93562)+cms.vdouble(64.45123, 64.893182, 65.335133, 65.777084, 66.219035, 66.660987, 67.102938, 67.618548, 68.060499, 68.50245, 68.944402, 69.460012, 69.901963, 70.343914, 70.859524, 71.301475, 71.743427, 72.259036, 72.700988, 73.216598, 73.658549, 74.1005, 74.61611, 75.058061, 75.352695, -0, 0, 0.12541802, 0.18812703, 0.25083604, 0.31354505, 0.43896307, 0.50167207, 0.56438108, 0.62709009, 0.75250811, 0.81521712, 0.94063514, 1.0033441, 1.0660532, 1.1914712, 1.2541802, 1.3795982, 1.4423072, 1.5677252, 1.6931433, 1.7558523, 1.8812703, 2.0066883, 2.0693973, 2.1948153, 2.3202333, 2.4456514, 2.5710694, 2.6337784, 2.7591964, 2.8846144, 3.0100324, 3.1354505, 3.2608685, 3.3862865, 3.5117045, 3.6371225, 3.7625406, 3.9506676, 4.0760856, 4.2015036, 4.3269216, 4.4523397, 4.5777577, 4.7658847, 4.8913027, 5.0167207, 5.2048478, 5.3302658, 5.4556838, 5.6438108, 5.7692289, 5.9573559, 6.0827739, 6.2709009, 6.396319, 6.584446, 6.709864, 6.897991, 7.0861181, 7.2115361, 7.3996631, 7.5877901, 7.7132081, 7.9013352, 8.0894622, 8.2775892, 8.4657163, 8.5911343, 8.7792613, 8.9673883, 9.1555154, 9.3436424, 9.5317694, 9.7198964, 9.9080235, 10.096151, 10.284278, 10.472405, 10.660532, 10.848659, 11.099495, 11.287622, 11.475749, 11.663876, 11.852003, 12.102839, 12.290966, 12.479093, 12.729929, 12.918056, 13.106183, 13.357019, 13.545146, 13.795982, 13.984109, 14.234945, 14.423072, 14.673908, 14.862035, 15.112871, 15.300998, 15.551834, 15.80267, 15.990797, 16.241633, 16.492469, 16.680596, 16.931433, 17.182269, 17.433105, 17.683941, 17.872068, 18.122904, 18.37374, 18.624576, 18.875412, 19.126248, 19.377084, 19.62792, 19.878756, 20.129592, 20.380428, 20.631264, 20.8821, 21.132936, 21.383772, 21.634608, 21.885444, 22.13628, 22.449825, 22.700661, 22.951497, 23.202333, 23.515878, 23.766715, 24.017551, 24.268387, 24.581932, 24.832768, 25.146313, 25.397149, 25.647985, 25.96153, 26.212366, 26.525911, 26.776747, 27.090292, 27.341128, 27.654673, 27.905509, 28.219054, 28.532599, 28.783435, 29.09698, 29.410525, 29.661361, 29.974906, 30.288452, 30.601997, 30.852833, 31.166378, 31.479923, 31.793468, 32.107013, 32.357849, 32.671394, 32.984939, 33.298484, 33.612029, 33.925574, 34.239119, 34.552664, 34.866209, 35.179754, 35.493299, 35.806844, 36.183098, 36.496643, 36.810188, 37.123734, 37.437279, 37.750824, 38.127078, 38.440623, 38.754168, 39.130422, 39.443967, 39.757512, 40.133766, 40.447311, 40.760856, 41.13711, 41.450655, 41.826909, 42.140454, 42.453999, 42.830253, 43.143798, 43.520052, 43.896307, 44.209852, 44.586106, 44.899651, 45.275905, 45.652159, 45.965704, 46.341958, 46.718212, 47.031757, 47.408011, 47.784265, 48.160519, 48.474064, 48.850318, 49.226572, 49.602826, 49.97908, 50.355334, 50.731589, 51.045134, 51.421388, 51.797642, 52.173896, 52.55015, 52.926404, 53.302658, 53.678912, 54.055166)+cms.vdouble(54.43142, 54.870383, 55.246637, 55.622891, 55.999145, 56.375399, 56.751653, 57.127907, 57.566871, 57.943125, 58.319379, 58.695633, 59.134596, 59.51085, 59.887104, 60.326067, 60.702321, 61.078575, 61.517538, 61.893792, 62.332755, 62.709009, 63.085263, 63.524226, 63.90048, 64.151317, -0, 0.13401506, 0.26803012, 0.40204518, 0.53606024, 0.67007529, 0.93810541, 1.0721205, 1.2061355, 1.3401506, 1.6081807, 1.7421958, 2.0102259, 2.1442409, 2.278256, 2.5462861, 2.6803012, 2.9483313, 3.0823464, 3.3503765, 3.6184066, 3.7524216, 4.0204518, 4.2884819, 4.4224969, 4.6905271, 4.9585572, 5.2265873, 5.4946174, 5.6286325, 5.8966626, 6.1646927, 6.4327228, 6.7007529, 6.9687831, 7.2368132, 7.5048433, 7.7728734, 8.0409035, 8.4429487, 8.7109788, 8.9790089, 9.2470391, 9.5150692, 9.7830993, 10.185144, 10.453175, 10.721205, 11.12325, 11.39128, 11.65931, 12.061355, 12.329385, 12.731431, 12.999461, 13.401506, 13.669536, 14.071581, 14.339611, 14.741656, 15.143702, 15.411732, 15.813777, 16.215822, 16.483852, 16.885897, 17.287943, 17.689988, 18.092033, 18.360063, 18.762108, 19.164153, 19.566199, 19.968244, 20.370289, 20.772334, 21.174379, 21.576424, 21.97847, 22.380515, 22.78256, 23.184605, 23.720665, 24.122711, 24.524756, 24.926801, 25.328846, 25.864906, 26.266952, 26.668997, 27.205057, 27.607102, 28.009147, 28.545208, 28.947253, 29.483313, 29.885358, 30.421418, 30.823464, 31.359524, 31.761569, 32.297629, 32.699674, 33.235735, 33.771795, 34.17384, 34.7099, 35.24596, 35.648006, 36.184066, 36.720126, 37.256186, 37.792247, 38.194292, 38.730352, 39.266412, 39.802472, 40.338533, 40.874593, 41.410653, 41.946713, 42.482774, 43.018834, 43.554894, 44.090954, 44.627015, 45.163075, 45.699135, 46.235195, 46.771256, 47.307316, 47.977391, 48.513451, 49.049512, 49.585572, 50.255647, 50.791707, 51.327768, 51.863828, 52.533903, 53.069963, 53.740039, 54.276099, 54.812159, 55.482234, 56.018295, 56.68837, 57.22443, 57.894505, 58.430566, 59.100641, 59.636701, 60.306776, 60.976852, 61.512912, 62.182987, 62.853063, 63.389123, 64.059198, 64.729273, 65.399349, 65.935409, 66.605484, 67.27556, 67.945635, 68.61571, 69.15177, 69.821846, 70.491921, 71.161996, 71.832072, 72.502147, 73.172222, 73.842297, 74.512373, 75.182448, 75.852523, 76.522599, 77.326689, 77.996764, 78.66684, 79.336915, 80.00699, 80.677065, 81.481156, 82.151231, 82.821306, 83.625397, 84.295472, 84.965547, 85.769638, 86.439713, 87.109788, 87.913879, 88.583954, 89.388044, 90.05812, 90.728195, 91.532285, 92.20236, 93.006451, 93.810541, 94.480616, 95.284707, 95.954782, 96.758872, 97.562963, 98.233038, 99.037128, 99.841219, 100.51129, 101.31538, 102.11947, 102.92357, 103.59364, 104.39773, 105.20182, 106.00591, 106.81, 107.61409, 108.41818, 109.08826, 109.89235, 110.69644, 111.50053, 112.30462, 113.10871, 113.9128, 114.71689)+cms.vdouble(115.52098, 116.32507, 117.26318, 118.06727, 118.87136, 119.67545, 120.47954, 121.28363, 122.08772, 123.02582, 123.82991, 124.634, 125.4381, 126.3762, 127.18029, 127.98438, 128.92249, 129.72658, 130.53067, 131.46877, 132.27286, 133.21097, 134.01506, 134.81915, 135.75725, 136.56134, 137.09741, -0, 0.10460836, 0.20921672, 0.31382508, 0.41843344, 0.5230418, 0.73225853, 0.83686689, 0.94147525, 1.0460836, 1.2553003, 1.3599087, 1.5691254, 1.6737338, 1.7783421, 1.9875589, 2.0921672, 2.3013839, 2.4059923, 2.615209, 2.8244257, 2.9290341, 3.1382508, 3.3474675, 3.4520759, 3.6612926, 3.8705094, 4.0797261, 4.2889428, 4.3935512, 4.6027679, 4.8119846, 5.0212013, 5.230418, 5.4396348, 5.6488515, 5.8580682, 6.0672849, 6.2765017, 6.5903267, 6.7995435, 7.0087602, 7.2179769, 7.4271936, 7.6364103, 7.9502354, 8.1594522, 8.3686689, 8.682494, 8.8917107, 9.1009274, 9.4147525, 9.6239692, 9.9377943, 10.147011, 10.460836, 10.670053, 10.983878, 11.193095, 11.50692, 11.820745, 12.029962, 12.343787, 12.657612, 12.866828, 13.180653, 13.494479, 13.808304, 14.122129, 14.331345, 14.645171, 14.958996, 15.272821, 15.586646, 15.900471, 16.214296, 16.528121, 16.841946, 17.155771, 17.469596, 17.783421, 18.097246, 18.51568, 18.829505, 19.14333, 19.457155, 19.77098, 20.189414, 20.503239, 20.817064, 21.235497, 21.549322, 21.863147, 22.281581, 22.595406, 23.013839, 23.327664, 23.746098, 24.059923, 24.478356, 24.792182, 25.210615, 25.52444, 25.942874, 26.361307, 26.675132, 27.093565, 27.511999, 27.825824, 28.244257, 28.662691, 29.081124, 29.499558, 29.813383, 30.231816, 30.65025, 31.068683, 31.487117, 31.90555, 32.323984, 32.742417, 33.16085, 33.579284, 33.997717, 34.416151, 34.834584, 35.253018, 35.671451, 36.089885, 36.508318, 36.926751, 37.449793, 37.868227, 38.28666, 38.705094, 39.228135, 39.646569, 40.065002, 40.483436, 41.006477, 41.424911, 41.947953, 42.366386, 42.78482, 43.307861, 43.726295, 44.249337, 44.66777, 45.190812, 45.609245, 46.132287, 46.550721, 47.073762, 47.596804, 48.015238, 48.538279, 49.061321, 49.479755, 50.002797, 50.525838, 51.04888, 51.467314, 51.990355, 52.513397, 53.036439, 53.559481, 53.977914, 54.500956, 55.023998, 55.54704, 56.070081, 56.593123, 57.116165, 57.639207, 58.162249, 58.68529, 59.208332, 59.731374, 60.359024, 60.882066, 61.405108, 61.92815, 62.451191, 62.974233, 63.601883, 64.124925, 64.647967, 65.275617, 65.798659, 66.321701, 66.949351, 67.472393, 67.995435, 68.623085, 69.146127, 69.773777, 70.296819, 70.81986, 71.447511, 71.970552, 72.598202, 73.225853, 73.748894, 74.376545, 74.899586, 75.527237, 76.154887, 76.677929, 77.305579, 77.933229, 78.456271, 79.083921, 79.711571, 80.339221, 80.862263, 81.489913, 82.117563, 82.745213, 83.372864, 84.000514, 84.628164, 85.151206, 85.778856, 86.406506, 87.034156, 87.661806, 88.289457, 88.917107)+cms.vdouble(89.544757, 90.172407, 90.800057, 91.532316, 92.159966, 92.787616, 93.415266, 94.042916, 94.670567, 95.298217, 96.030475, 96.658125, 97.285776, 97.913426, 98.645684, 99.273335, 99.900985, 100.63324, 101.26089, 101.88854, 102.6208, 103.24845, 103.98071, 104.60836, 105.23601, 105.96827, 106.59592, 107.01435, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5, 113)+cms.vdouble(113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112, 112.5)+cms.vdouble(113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5, 112)+cms.vdouble(112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5, -0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48, 48.5, 49, 49.5, 50, 50.5, 51, 51.5, 52, 52.5, 53, 53.5, 54, 54.5, 55, 55.5, 56, 56.5, 57, 57.5, 58, 58.5, 59, 59.5, 60, 60.5, 61, 61.5, 62, 62.5, 63, 63.5, 64, 64.5, 65, 65.5, 66, 66.5, 67, 67.5, 68, 68.5, 69, 69.5, 70, 70.5, 71, 71.5, 72, 72.5, 73, 73.5, 74, 74.5, 75, 75.5, 76, 76.5, 77, 77.5, 78, 78.5, 79, 79.5, 80, 80.5, 81, 81.5, 82, 82.5, 83, 83.5, 84, 84.5, 85, 85.5, 86, 86.5, 87, 87.5, 88, 88.5, 89, 89.5, 90, 90.5, 91, 91.5, 92, 92.5, 93, 93.5, 94, 94.5, 95, 95.5, 96, 96.5, 97, 97.5, 98, 98.5, 99, 99.5, 100, 100.5, 101, 101.5, 102, 102.5, 103, 103.5, 104, 104.5, 105, 105.5, 106, 106.5, 107, 107.5, 108, 108.5, 109, 109.5, 110, 110.5, 111, 111.5)+cms.vdouble(112, 112.5, 113, 113.5, 114, 114.5, 115, 115.5, 116, 116.5, 117, 117.5, 118, 118.5, 119, 119.5, 120, 120.5, 121, 121.5, 122, 122.5, 123, 123.5, 124, 124.5, 125, 125.5, 126, 126.5, 127, 127.5) -#) diff --git a/L1Trigger/L1TCalorimeter/python/caloStage2Params_cfi.py b/L1Trigger/L1TCalorimeter/python/caloStage2Params_cfi.py deleted file mode 100644 index aeae9fc80dfda..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/caloStage2Params_cfi.py +++ /dev/null @@ -1,68 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from L1Trigger.L1TCalorimeter.caloParams_cfi import caloParamsSource -import L1Trigger.L1TCalorimeter.caloParams_cfi -caloStage2Params = L1Trigger.L1TCalorimeter.caloParams_cfi.caloParams.clone() - -# towers -caloStage2Params.towerLsbH = cms.double(0.5) -caloStage2Params.towerLsbE = cms.double(0.5) -caloStage2Params.towerLsbSum = cms.double(0.5) -caloStage2Params.towerNBitsH = cms.int32(8) -caloStage2Params.towerNBitsE = cms.int32(8) -caloStage2Params.towerNBitsSum = cms.int32(9) -caloStage2Params.towerNBitsRatio = cms.int32(3) -caloStage2Params.towerEncoding = cms.bool(False) - -# regions -caloStage2Params.regionLsb = cms.double(0.5) -caloStage2Params.regionPUSType = cms.string("None") -caloStage2Params.regionPUSParams = cms.vdouble() - -# EG -caloStage2Params.egLsb = cms.double(0.5) -caloStage2Params.egSeedThreshold = cms.double(2.) -caloStage2Params.egNeighbourThreshold = cms.double(1.) -caloStage2Params.egHcalThreshold = cms.double(1.) -caloStage2Params.egMaxHcalEt = cms.double(0.) -caloStage2Params.egEtToRemoveHECut = cms.double(128.) -caloStage2Params.egMaxHOverELUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egMaxHOverELUT.txt") -caloStage2Params.egShapeIdLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egShapeIdLUT.txt") -caloStage2Params.egIsoPUSType = cms.string("None") -caloStage2Params.egIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egIsoLUT_PU40bx25.txt") -caloStage2Params.egIsoAreaNrTowersEta = cms.uint32(2) -caloStage2Params.egIsoAreaNrTowersPhi = cms.uint32(4) -caloStage2Params.egIsoVetoNrTowersPhi = cms.uint32(3) -caloStage2Params.egIsoPUEstTowerGranularity = cms.uint32(1) -caloStage2Params.egIsoMaxEtaAbsForTowerSum = cms.uint32(4) -caloStage2Params.egIsoMaxEtaAbsForIsoSum = cms.uint32(27) -caloStage2Params.egCalibrationLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egCalibrationLUT.txt") - -# Tau -caloStage2Params.tauLsb = cms.double(0.5) -caloStage2Params.tauSeedThreshold = cms.double(0.) -caloStage2Params.tauNeighbourThreshold = cms.double(0.) -caloStage2Params.tauIsoPUSType = cms.string("None") -caloStage2Params.tauIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt") -caloStage2Params.tauCalibrationLUTFileBarrelA = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelA.txt") -caloStage2Params.tauCalibrationLUTFileBarrelB = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelB.txt") -caloStage2Params.tauCalibrationLUTFileBarrelC = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTBarrelC.txt") -caloStage2Params.tauCalibrationLUTFileEndcapsA = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsA.txt") -caloStage2Params.tauCalibrationLUTFileEndcapsB = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsB.txt") -caloStage2Params.tauCalibrationLUTFileEndcapsC = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEndcapsC.txt") -caloStage2Params.tauCalibrationLUTFileEta = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauCalibrationLUTEta.txt") - -# jets -caloStage2Params.jetLsb = cms.double(0.5) -caloStage2Params.jetSeedThreshold = cms.double(0.) -caloStage2Params.jetNeighbourThreshold = cms.double(0.) -caloStage2Params.jetPUSType = cms.string("None") -caloStage2Params.jetCalibrationType = cms.string("None") -caloStage2Params.jetCalibrationParams = cms.vdouble() - -# sums -caloStage2Params.etSumLsb = cms.double(0.5) -caloStage2Params.etSumEtaMin = cms.vint32(-999, -999, -999, -999) -caloStage2Params.etSumEtaMax = cms.vint32(999, 999, 999, 999) -caloStage2Params.etSumEtThreshold = cms.vdouble(0., 0., 0., 0.) - diff --git a/L1Trigger/L1TCalorimeter/python/caloStage1JetSF_cfi.py b/L1Trigger/L1TCalorimeter/python/jetSF_cfi.py similarity index 100% rename from L1Trigger/L1TCalorimeter/python/caloStage1JetSF_cfi.py rename to L1Trigger/L1TCalorimeter/python/jetSF_cfi.py diff --git a/L1Trigger/L1TCalorimeter/python/l1tCaloAnalyzer_cfi.py b/L1Trigger/L1TCalorimeter/python/l1tCaloAnalyzer_cfi.py new file mode 100644 index 0000000000000..b00c15e946a9f --- /dev/null +++ b/L1Trigger/L1TCalorimeter/python/l1tCaloAnalyzer_cfi.py @@ -0,0 +1,11 @@ +import FWCore.ParameterSet.Config as cms + +l1tStage2CaloAnalyzer = cms.EDAnalyzer('l1t::Stage2CaloAnalyzer', + towerToken = cms.InputTag("l1tCaloStage2Digis"), #After Compression + towerPreCompressionToken = cms.InputTag("l1tCaloStage2Layer1Digis"), #Before Compression + clusterToken = cms.InputTag("l1tCaloStage2Digis"), + egToken = cms.InputTag("l1tCaloStage2Digis"), + tauToken = cms.InputTag("l1tCaloStage2Digis"), + jetToken = cms.InputTag("l1tCaloStage2Digis"), + etSumToken = cms.InputTag("l1tCaloStage2Digis") +) diff --git a/L1Trigger/L1TCalorimeter/python/l1tCaloParams_cfi.py b/L1Trigger/L1TCalorimeter/python/l1tCaloParams_cfi.py new file mode 100644 index 0000000000000..5eea53d71d646 --- /dev/null +++ b/L1Trigger/L1TCalorimeter/python/l1tCaloParams_cfi.py @@ -0,0 +1,74 @@ +import FWCore.ParameterSet.Config as cms + +l1tCaloParamsSource = cms.ESSource( + "EmptyESSource", + recordName = cms.string('L1TCaloParamsRcd'), + iovIsRunNotTime = cms.bool(True), + firstValid = cms.vuint32(1) +) + +l1tCaloParams = cms.ESProducer( + "l1t::CaloParamsESProducer", + + # towers + towerLsbH = cms.double(0.5), + towerLsbE = cms.double(0.5), + towerLsbSum = cms.double(0.5), + towerNBitsH = cms.int32(8), + towerNBitsE = cms.int32(8), + towerNBitsSum = cms.int32(9), + towerNBitsRatio = cms.int32(3), + towerEncoding = cms.bool(False), + + # regions + regionLsb = cms.double(0.5), + regionPUSType = cms.string("None"), + regionPUSParams = cms.vdouble(), + + # EG + egLsb = cms.double(0.5), + egSeedThreshold = cms.double(2.), + egNeighbourThreshold = cms.double(1.), + egMaxHcalEt = cms.double(0.), + egEtToRemoveHECut = cms.double(128.), + egMaxHOverE = cms.double(0.15), + egIsoPUSType = cms.string("None"), + egIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egIsoLUT.txt"), + egIsoAreaNrTowersEta = cms.uint32(2), + egIsoAreaNrTowersPhi = cms.uint32(4), + egIsoVetoNrTowersPhi = cms.uint32(3), + egIsoPUEstTowerGranularity = cms.uint32(1), + egIsoMaxEtaAbsForTowerSum = cms.uint32(4), + egIsoMaxEtaAbsForIsoSum = cms.uint32(27), + + # Tau + tauLsb = cms.double(0.5), + tauSeedThreshold = cms.double(0.), + tauNeighbourThreshold = cms.double(0.), + tauIsoPUSType = cms.string("None"), + tauIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt"), + + # jets + jetLsb = cms.double(0.5), + jetSeedThreshold = cms.double(0.), + jetNeighbourThreshold = cms.double(0.), + jetPUSType = cms.string("None"), + jetCalibrationType = cms.string("None"), + jetCalibrationParams = cms.vdouble(), + + # sums + etSumLsb = cms.double(0.5), + ettEtaMin = cms.int32(-999), + ettEtaMax = cms.int32(999), + ettEtThreshold = cms.double(0.), + httEtaMin = cms.int32(-999), + httEtaMax = cms.int32(999), + httEtThreshold = cms.double(0.), + metEtaMin = cms.int32(-999), + metEtaMax = cms.int32(999), + metEtThreshold = cms.double(0.), + mhtEtaMin = cms.int32(-999), + mhtEtaMax = cms.int32(999), + mhtEtThreshold = cms.double(0.) + +) diff --git a/L1Trigger/L1TCalorimeter/python/caloStage2Digis_cfi.py b/L1Trigger/L1TCalorimeter/python/l1tCaloStage2Digis_cfi.py similarity index 52% rename from L1Trigger/L1TCalorimeter/python/caloStage2Digis_cfi.py rename to L1Trigger/L1TCalorimeter/python/l1tCaloStage2Digis_cfi.py index e90759ba50ba5..e3952d0fd0b2a 100644 --- a/L1Trigger/L1TCalorimeter/python/caloStage2Digis_cfi.py +++ b/L1Trigger/L1TCalorimeter/python/l1tCaloStage2Digis_cfi.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms -caloStage2Digis = cms.EDProducer( +l1tCaloStage2Digis = cms.EDProducer( "l1t::Stage2Layer2Producer", - towerToken = cms.InputTag("caloStage2Layer1Digis"), + towerToken = cms.InputTag("l1tCaloStage2Layer1Digis"), firmware = cms.int32(1) ) diff --git a/L1Trigger/L1TCalorimeter/python/caloStage2Layer1Digis_cfi.py b/L1Trigger/L1TCalorimeter/python/l1tCaloStage2Layer1Digis_cfi.py similarity index 87% rename from L1Trigger/L1TCalorimeter/python/caloStage2Layer1Digis_cfi.py rename to L1Trigger/L1TCalorimeter/python/l1tCaloStage2Layer1Digis_cfi.py index 7c90b8a22ee03..75e063922af48 100644 --- a/L1Trigger/L1TCalorimeter/python/caloStage2Layer1Digis_cfi.py +++ b/L1Trigger/L1TCalorimeter/python/l1tCaloStage2Layer1Digis_cfi.py @@ -1,6 +1,6 @@ import FWCore.ParameterSet.Config as cms -caloStage2Layer1Digis = cms.EDProducer( +l1tCaloStage2Layer1Digis = cms.EDProducer( "l1t::Stage2Layer1Producer", verbosity = cms.int32(2), bxFirst = cms.int32(0), diff --git a/L1Trigger/L1TCalorimeter/python/l1tCaloStage2Params_cfi.py b/L1Trigger/L1TCalorimeter/python/l1tCaloStage2Params_cfi.py new file mode 100644 index 0000000000000..6212162996fab --- /dev/null +++ b/L1Trigger/L1TCalorimeter/python/l1tCaloStage2Params_cfi.py @@ -0,0 +1,74 @@ +import FWCore.ParameterSet.Config as cms + +l1tCaloParamsSource = cms.ESSource( + "EmptyESSource", + recordName = cms.string('L1TCaloParamsRcd'), + iovIsRunNotTime = cms.bool(True), + firstValid = cms.vuint32(1) +) + +l1tCaloStage2Params = cms.ESProducer( + "l1t::CaloParamsESProducer", + + # towers + towerLsbH = cms.double(0.5), + towerLsbE = cms.double(0.5), + towerLsbSum = cms.double(0.5), + towerNBitsH = cms.int32(8), + towerNBitsE = cms.int32(8), + towerNBitsSum = cms.int32(9), + towerNBitsRatio = cms.int32(3), + towerEncoding = cms.bool(False), + + # regions + regionLsb = cms.double(0.5), + regionPUSType = cms.string("None"), + regionPUSParams = cms.vdouble(), + + # EG + egLsb = cms.double(0.5), + egSeedThreshold = cms.double(2.), + egNeighbourThreshold = cms.double(1.), + egMaxHcalEt = cms.double(0.), + egEtToRemoveHECut = cms.double(128.), + egMaxHOverE = cms.double(0.15), + egIsoPUSType = cms.string("None"), + egIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egIsoLUT_PU40bx25.txt"), + egIsoAreaNrTowersEta = cms.uint32(2), + egIsoAreaNrTowersPhi = cms.uint32(4), + egIsoVetoNrTowersPhi = cms.uint32(3), + egIsoPUEstTowerGranularity = cms.uint32(1), + egIsoMaxEtaAbsForTowerSum = cms.uint32(4), + egIsoMaxEtaAbsForIsoSum = cms.uint32(27), + + # Tau + tauLsb = cms.double(0.5), + tauSeedThreshold = cms.double(0.), + tauNeighbourThreshold = cms.double(0.), + tauIsoPUSType = cms.string("None"), + tauIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt"), + + # jets + jetLsb = cms.double(0.5), + jetSeedThreshold = cms.double(0.), + jetNeighbourThreshold = cms.double(0.), + jetPUSType = cms.string("None"), + jetCalibrationType = cms.string("None"), + jetCalibrationParams = cms.vdouble(), + + # sums + etSumLsb = cms.double(0.5), + ettEtaMin = cms.int32(-999), + ettEtaMax = cms.int32(999), + ettEtThreshold = cms.double(0.), + httEtaMin = cms.int32(-999), + httEtaMax = cms.int32(999), + httEtThreshold = cms.double(0.), + metEtaMin = cms.int32(-999), + metEtaMax = cms.int32(999), + metEtThreshold = cms.double(0.), + mhtEtaMin = cms.int32(-999), + mhtEtaMax = cms.int32(999), + mhtEtThreshold = cms.double(0.) + +) diff --git a/L1Trigger/L1TCalorimeter/python/l1tCaloStage2TowerDigis_cfi.py b/L1Trigger/L1TCalorimeter/python/l1tCaloStage2TowerDigis_cfi.py new file mode 100644 index 0000000000000..abe978bf7c33e --- /dev/null +++ b/L1Trigger/L1TCalorimeter/python/l1tCaloStage2TowerDigis_cfi.py @@ -0,0 +1,10 @@ +import FWCore.ParameterSet.Config as cms + +l1tCaloStage2TowerDigis = cms.EDProducer( + "l1t::L1TCaloTowerProducer", + verbosity = cms.int32(2), + bxFirst = cms.int32(0), + bxLast = cms.int32(0), + ecalToken = cms.InputTag("ecalDigis:EcalTriggerPrimitives"), + hcalToken = cms.InputTag("hcalDigis") +) diff --git a/L1Trigger/L1TCalorimeter/python/l1tStage2CaloAnalyzer_cfi.py b/L1Trigger/L1TCalorimeter/python/l1tStage2CaloAnalyzer_cfi.py index 40bdfc9c263ed..b00c15e946a9f 100644 --- a/L1Trigger/L1TCalorimeter/python/l1tStage2CaloAnalyzer_cfi.py +++ b/L1Trigger/L1TCalorimeter/python/l1tStage2CaloAnalyzer_cfi.py @@ -1,11 +1,11 @@ import FWCore.ParameterSet.Config as cms l1tStage2CaloAnalyzer = cms.EDAnalyzer('l1t::Stage2CaloAnalyzer', - towerToken = cms.InputTag("caloStage2Digis"), #After Compression - towerPreCompressionToken = cms.InputTag("caloStage2Layer1Digis"), #Before Compression - clusterToken = cms.InputTag("caloStage2Digis"), - egToken = cms.InputTag("caloStage2Digis"), - tauToken = cms.InputTag("caloStage2Digis"), - jetToken = cms.InputTag("caloStage2Digis"), - etSumToken = cms.InputTag("caloStage2Digis") + towerToken = cms.InputTag("l1tCaloStage2Digis"), #After Compression + towerPreCompressionToken = cms.InputTag("l1tCaloStage2Layer1Digis"), #Before Compression + clusterToken = cms.InputTag("l1tCaloStage2Digis"), + egToken = cms.InputTag("l1tCaloStage2Digis"), + tauToken = cms.InputTag("l1tCaloStage2Digis"), + jetToken = cms.InputTag("l1tCaloStage2Digis"), + etSumToken = cms.InputTag("l1tCaloStage2Digis") ) diff --git a/L1Trigger/L1TCalorimeter/python/l1tStage2CaloParams_cfi.py b/L1Trigger/L1TCalorimeter/python/l1tStage2CaloParams_cfi.py new file mode 100644 index 0000000000000..cd5e4ec64f1da --- /dev/null +++ b/L1Trigger/L1TCalorimeter/python/l1tStage2CaloParams_cfi.py @@ -0,0 +1,72 @@ +import FWCore.ParameterSet.Config as cms + +l1tCaloParamsSource = cms.ESSource( + "EmptyESSource", + recordName = cms.string('L1TCaloParamsRcd'), + iovIsRunNotTime = cms.bool(True), + firstValid = cms.vuint32(1) +) + +l1tStage2CaloParams = cms.ESProducer( + "l1t::CaloParamsESProducer", + + # towers + towerLsbH = cms.double(0.5), + towerLsbE = cms.double(0.5), + towerLsbSum = cms.double(0.5), + towerNBitsH = cms.int32(8), + towerNBitsE = cms.int32(8), + towerNBitsSum = cms.int32(9), + towerNBitsRatio = cms.int32(3), + towerEncoding = cms.bool(False), + + # regions + regionLsb = cms.double(0.5), + regionPUSType = cms.string("None"), + regionPUSParams = cms.vdouble(), + + # EG + egLsb = cms.double(0.5), + egSeedThreshold = cms.double(0.), + egNeighbourThreshold = cms.double(0.), + egMaxHcalEt = cms.double(0.), + egMaxHOverE = cms.double(20.), #cut is H/E <= egMaxHOverE/128 + egIsoPUSType = cms.string("None"), + egIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/egIsoLUT.txt"), + egIsoAreaNrTowersEta = cms.uint32(2), + egIsoAreaNrTowersPhi = cms.uint32(4), + egIsoVetoNrTowersPhi = cms.uint32(3), + egIsoPUEstTowerGranularity = cms.uint32(1), + egIsoMaxEtaAbsForTowerSum = cms.uint32(4), + + # Tau + tauLsb = cms.double(0.5), + tauSeedThreshold = cms.double(0.), + tauNeighbourThreshold = cms.double(0.), + tauIsoPUSType = cms.string("None"), + tauIsoLUTFile = cms.FileInPath("L1Trigger/L1TCalorimeter/data/tauIsoLUT.txt"), + + # jets + jetLsb = cms.double(0.5), + jetSeedThreshold = cms.double(0.), + jetNeighbourThreshold = cms.double(0.), + jetPUSType = cms.string("None"), + jetCalibrationType = cms.string("None"), + jetCalibrationParams = cms.vdouble(), + + # sums + etSumLsb = cms.double(0.5), + ettEtaMin = cms.int32(-999), + ettEtaMax = cms.int32(999), + ettEtThreshold = cms.double(0.), + httEtaMin = cms.int32(-999), + httEtaMax = cms.int32(999), + httEtThreshold = cms.double(0.), + metEtaMin = cms.int32(-999), + metEtaMax = cms.int32(999), + metEtThreshold = cms.double(0.), + mhtEtaMin = cms.int32(-999), + mhtEtaMax = cms.int32(999), + mhtEtThreshold = cms.double(0.) + +) diff --git a/L1Trigger/L1TCalorimeter/python/l1tStage2InputPatternWriter_cfi.py b/L1Trigger/L1TCalorimeter/python/l1tStage2InputPatternWriter_cfi.py index 6e0cf53e49200..dfe7aa7119b08 100644 --- a/L1Trigger/L1TCalorimeter/python/l1tStage2InputPatternWriter_cfi.py +++ b/L1Trigger/L1TCalorimeter/python/l1tStage2InputPatternWriter_cfi.py @@ -2,6 +2,6 @@ import FWCore.ParameterSet.Config as cms l1tStage2InputPatternWriter = cms.EDAnalyzer('Stage2InputPatternWriter', - towerToken = cms.InputTag("caloStage2Layer1Digis"), + towerToken = cms.InputTag("l1tCaloStage2Layer1Digis"), filename = cms.untracked.string("pattern.txt") ) diff --git a/L1Trigger/L1TCalorimeter/python/rctUpgradeFormatDigis_cfi.py b/L1Trigger/L1TCalorimeter/python/rctUpgradeFormatDigis_cfi.py deleted file mode 100644 index 51c43b787a571..0000000000000 --- a/L1Trigger/L1TCalorimeter/python/rctUpgradeFormatDigis_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -rctUpgradeFormatDigis = cms.EDProducer( - "l1t::L1TCaloRCTToUpgradeConverter", - regionTag = cms.InputTag("rctDigis"), - emTag = cms.InputTag("rctDigis") -) - - diff --git a/L1Trigger/L1TCalorimeter/python/caloStage1RegionSF_cfi.py b/L1Trigger/L1TCalorimeter/python/regionSF_cfi.py similarity index 100% rename from L1Trigger/L1TCalorimeter/python/caloStage1RegionSF_cfi.py rename to L1Trigger/L1TCalorimeter/python/regionSF_cfi.py diff --git a/L1Trigger/L1TCalorimeter/src/CaloParamsStage1.cc b/L1Trigger/L1TCalorimeter/src/CaloParamsStage1.cc deleted file mode 100644 index 3ba58b411a7d6..0000000000000 --- a/L1Trigger/L1TCalorimeter/src/CaloParamsStage1.cc +++ /dev/null @@ -1,10 +0,0 @@ -// CaloParamsStage1.cc -// Author: R. Alex Barbieri -// -// Wrapper class for CaloParams and Et scales - -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" - -namespace l1t { - CaloParamsStage1::CaloParamsStage1(const CaloParams p) : CaloParams(p) {}; -} diff --git a/L1Trigger/L1TCalorimeter/src/CaloTools.cc b/L1Trigger/L1TCalorimeter/src/CaloTools.cc index 9e3477bba621d..9c396a5a5f8f6 100644 --- a/L1Trigger/L1TCalorimeter/src/CaloTools.cc +++ b/L1Trigger/L1TCalorimeter/src/CaloTools.cc @@ -12,13 +12,11 @@ const l1t::CaloTower& l1t::CaloTools::getTower(const std::vector { size_t towerIndex = CaloTools::caloTowerHash(iEta, iPhi); if(towerIndex l1t::CaloTools::towerEtaBounds(int ieta) -{ - if(ieta==0) ieta = 1; - if(ieta>32) ieta = 32; - if(ieta<-32) ieta = -32; - const float towerEtas[33] = {0,0.087,0.174,0.261,0.348,0.435,0.522,0.609,0.696,0.783,0.870,0.957,1.044,1.131,1.218,1.305,1.392,1.479,1.566,1.653,1.740,1.830,1.930,2.043,2.172,2.322,2.5,2.650,3.000,3.5,4.0,4.5,5.0}; - return std::make_pair( towerEtas[abs(ieta)-1],towerEtas[abs(ieta)] ); -} - -float l1t::CaloTools::towerEta(int ieta) -{ - std::pair bounds = towerEtaBounds(ieta); - float eta = (bounds.second+bounds.first)/2.; - float sign = ieta>0 ? 1. : -1.; - return sign*eta; -} - -float l1t::CaloTools::towerPhi(int ieta, int iphi) -{ - return (float(iphi)-0.5)*towerPhiSize(ieta); -} - -float l1t::CaloTools::towerEtaSize(int ieta) -{ - std::pair bounds = towerEtaBounds(ieta); - float size = (bounds.second-bounds.first); - return size; -} - -float l1t::CaloTools::towerPhiSize(int ieta) -{ - if(abs(ieta)<=28) return 2.*M_PI/72.; - else return 2.*M_PI/18.; -} - - diff --git a/L1Trigger/L1TCalorimeter/src/HardwareSortingMethods.cc b/L1Trigger/L1TCalorimeter/src/HardwareSortingMethods.cc deleted file mode 100644 index 2ed1f34574f62..0000000000000 --- a/L1Trigger/L1TCalorimeter/src/HardwareSortingMethods.cc +++ /dev/null @@ -1,321 +0,0 @@ -// HardwareSortingMethods.cc -// Authors: R. Alex Barbieri -// Ben Kreis -// -// This file should contain the C++ equivalents of the sorting -// algorithms used in Hardware. Most C++ methods originally written by -// Ben Kreis. - -#include -#include "L1Trigger/L1TCalorimeter/interface/HardwareSortingMethods.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -const bool verbose = false; - -int fw_to_gt_phi_map[] = {4, 3, 2, 1, 0, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5}; -int gt_to_fw_phi_map[] = {4, 3, 2, 1, 0, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5}; - -void print2DVector(std::vector > myVector){ - int nrows = myVector.size(); - int ncols = myVector[0].size(); - std::cout << std::endl; - std::cout << "rows: " << nrows << std::endl; - std::cout << "cols: " << ncols << std::endl; - - for(int r=0; r sort_array(std::vector inputArray){ - std::vector outputArray(inputArray.size()); - for(unsigned int i=0; i inputArray[j].hwPt()) || ( (inputArray[i].hwPt() == inputArray[j].hwPt()) && i > presort(std::vector > energies, int rows, int cols){ - - int row_block_length = energies.size() / cols; - if(energies.size() % cols != 0) row_block_length++; - - l1t::Jet dummyJet; - dummyJet.setHwPt(0); - dummyJet.setHwPhi(99); - dummyJet.setHwEta(99); - std::vector > sorted_energies (rows, std::vector(cols, dummyJet)); - if(verbose) print2DVector( sorted_energies ); - - unsigned int row=0, col=0; - std::vector energy_feeder (cols, dummyJet); - std::vector energy_result (cols, dummyJet); - for(int r=0; r > extract_sub_jet_energy_position_matrix(std::vector > input_matrix, unsigned int row_i, unsigned int row_f, unsigned int col_i, unsigned int col_f){ - std::vector > output_matrix(row_f-row_i+1,std::vector(col_f-col_i+1)); - l1t::Jet dummyJet; - dummyJet.setHwPt(0); - dummyJet.setHwPhi(99); - dummyJet.setHwEta(99); - - for(unsigned int i=0; i input_matrix.size()-1) output_matrix[i][j] = dummyJet; - else output_matrix[i][j] = input_matrix[row_i+i][col_i+j]; - }//j - }//i - return output_matrix; -} - -std::vector > sort_matrix_rows(std::vector > input_matrix){ - std::vector > output_matrix( input_matrix.size(), std::vector (input_matrix[0].size())); - - for(unsigned int i=0; i input_matrix[j][0].hwPt()) || ((input_matrix[i][0].hwPt() == input_matrix[j][0].hwPt()) && i > sort_by_row_in_groups(std::vector > input_matrix, int group_size){ - int n_groups = input_matrix.size()/group_size + (1 - input_matrix.size()/group_size*group_size/input_matrix.size()); //constants must make this an integer - std::vector > output_matrix(input_matrix.size()+(input_matrix.size() % group_size), std::vector (input_matrix[0].size())); - - for(int g=0; g > small_output_matrix = extract_sub_jet_energy_position_matrix(input_matrix, g*group_size, (g+1)*group_size-1, 0, input_matrix[0].size()-1 ); - small_output_matrix = sort_matrix_rows(small_output_matrix); - - for(unsigned int i=0; i array_from_row_sorted_matrix(std::vector > input_matrix, unsigned int n_keep){ - std::vector output_array (n_keep*(n_keep+1)/2); - unsigned int max_row = n_keep-1; - unsigned int max_col = n_keep-1; - - //compute size - if(input_matrix.size() < n_keep) max_row = input_matrix.size()-1; - if(input_matrix[0].size() < n_keep) max_col = input_matrix[0].size()-1; - - unsigned int array_position = 0; - for(unsigned int i=0; i<=max_row; i++){ - for(unsigned int j=0; j<=max_col-i; j++){ - //cout << input_matrix[i][j].hwPt() << endl; - output_array[array_position] = input_matrix[i][j]; - array_position++; - }//j - }//i - - //fill rest with zeros - l1t::Jet dummyJet; - dummyJet.setHwPt(0); - dummyJet.setHwPhi(99); - dummyJet.setHwEta(99); - for(unsigned int k=array_position; k > super_sort_matrix_rows(std::vector > input_matrix, unsigned int group_size, unsigned int n_keep){ - unsigned int n_groups = input_matrix.size()/group_size + (1 - input_matrix.size()/group_size*group_size/input_matrix.size()); //constants must make this an integer - std::vector > output_matrix(n_groups, std::vector(n_keep)); - - for(unsigned int g=0; g > small_output_matrix = extract_sub_jet_energy_position_matrix(input_matrix, g*group_size, (g+1)*group_size-1, 0, input_matrix[0].size()-1 ); - std::vector unsorted_array = array_from_row_sorted_matrix(small_output_matrix, n_keep); - std::vector unsorted_array_without_largest (unsorted_array.size()-1);//we know first element is the biggest - for(unsigned int i=0; i sorted_array_without_largest = sort_array(unsorted_array_without_largest); - - std::vector sorted_array (n_keep); - sorted_array[0] = unsorted_array[0]; - for(unsigned int i=0; i * input, - std::vector * output){ - const int CENTRAL_ETA_SLICES = 14; - const int N_PHI_GROUPS = 5; - const int N_PRESORTED_ROWS_CENTRAL = CENTRAL_ETA_SLICES*N_PHI_GROUPS; - const int PRESORT_DEPTH = 4; - const int N_KEEP_CENTRAL = 4; - const int N_ETA_GROUP_SIZE_CENTRAL = 4; - const int N_ETA_GROUPS_CENTRAL = 4; - - const int HFM_ETA_SLICES = 4; - const int HFP_ETA_SLICES = 4; - const int N_PRESORTED_ROWS_HFM = HFM_ETA_SLICES*N_PHI_GROUPS; - const int N_PRESORTED_ROWS_HFP = HFP_ETA_SLICES*N_PHI_GROUPS; - const int N_KEEP_FORWARD = 4; - - const int cen_nrows = 18; - const int cen_ncols = 14; - const int hfm_nrows = 18, hfp_nrows = 18; - const int hfm_ncols = 4, hfp_ncols = 4; - - std::vector > cen_input_energy (cen_nrows, std::vector(cen_ncols)); - std::vector > hfm_input_energy (hfm_nrows, std::vector(hfm_ncols)); - std::vector > hfp_input_energy (hfp_nrows, std::vector(hfp_ncols)); - - for (std::vector::const_iterator injet = input->begin(); - injet != input->end(); ++injet){ - if(injet->hwEta() >= 4 && injet->hwEta() <= 17 ) - { - unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()]; - unsigned int mycol = injet->hwEta()-4; //hardcoding is bad - cen_input_energy[myrow][mycol] = *injet; - } - else if(injet->hwEta() < 4) - { - unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()]; - unsigned int mycol = injet->hwEta(); //hardcoding is bad - hfm_input_energy[myrow][mycol] = *injet; - } - else if(injet->hwEta() > 17) - { - unsigned int myrow = gt_to_fw_phi_map[injet->hwPhi()]; - unsigned int mycol = injet->hwEta()-18; //hardcoding is bad - hfp_input_energy[myrow][mycol] = *injet; - } - else - edm::LogError("HardwareJetSort") << "Region out of bounds: " << injet->hwEta(); - } - - for(int i = 0; i < cen_nrows; ++i) - for(int j = 0; j < cen_ncols; ++j) - { - if(cen_input_energy[i][j].hwPt() == 0) - { - cen_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]); - cen_input_energy[i][j].setHwEta(4+j); - } - } - - for(int i = 0; i < hfm_nrows; ++i) - for(int j = 0; j < hfm_ncols; ++j) - { - if(hfm_input_energy[i][j].hwPt() == 0) - { - hfm_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]); - hfm_input_energy[i][j].setHwEta(j); - hfm_input_energy[i][j].setHwQual(2); - } - } - - for(int i = 0; i < hfp_nrows; ++i) - for(int j = 0; j < hfp_ncols; ++j) - { - if(hfp_input_energy[i][j].hwPt() == 0) - { - hfp_input_energy[i][j].setHwPhi(fw_to_gt_phi_map[i]); - hfp_input_energy[i][j].setHwEta(j+18); - hfp_input_energy[i][j].setHwQual(2); - } - } - - //Each CLK is one clock - - //CLK 1 - std::vector > presorted_energies_matrix_sig = presort(cen_input_energy, N_PRESORTED_ROWS_CENTRAL, PRESORT_DEPTH); - std::vector > hfm_presorted_energies_matrix_sig = presort(hfm_input_energy, N_PRESORTED_ROWS_HFM, PRESORT_DEPTH); - std::vector > hfp_presorted_energies_matrix_sig = presort(hfp_input_energy, N_PRESORTED_ROWS_HFP, PRESORT_DEPTH); - - //CLK 2 - std::vector > row_presorted_energies_matrix_sig = sort_by_row_in_groups(presorted_energies_matrix_sig, N_PHI_GROUPS); - std::vector > hfm_row_presorted_energies_matrix_sig = sort_by_row_in_groups(hfm_presorted_energies_matrix_sig, N_PHI_GROUPS); - std::vector > hfp_row_presorted_energies_matrix_sig = sort_by_row_in_groups(hfp_presorted_energies_matrix_sig, N_PHI_GROUPS); - - //CLK 3 - std::vector > sorted_eta_slices_energies_matrix_sig = super_sort_matrix_rows(row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_CENTRAL); - std::vector > hfm_sorted_eta_slices_energies_matrix_sig = super_sort_matrix_rows(hfm_row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_FORWARD); - std::vector > hfp_sorted_eta_slices_energies_matrix_sig = super_sort_matrix_rows(hfp_row_presorted_energies_matrix_sig, N_PHI_GROUPS, N_KEEP_FORWARD); - - //CLK 4 - std::vector > row_presorted_eta_slices_energies_matrix_sig = sort_by_row_in_groups(sorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL); - std::vector > hfm_row_presorted_eta_slices_energies_matrix_sig = sort_by_row_in_groups(hfm_sorted_eta_slices_energies_matrix_sig, HFM_ETA_SLICES); - std::vector > hfp_row_presorted_eta_slices_energies_matrix_sig = sort_by_row_in_groups(hfp_sorted_eta_slices_energies_matrix_sig, HFP_ETA_SLICES); - - //CLK 5 - std::vector > sorted_eta_groups_energies_matrix_sig = super_sort_matrix_rows(row_presorted_eta_slices_energies_matrix_sig, N_ETA_GROUP_SIZE_CENTRAL, N_KEEP_CENTRAL); - std::vector > hfm_sorted_final_energies_matrix_sig = super_sort_matrix_rows(hfm_row_presorted_eta_slices_energies_matrix_sig, HFM_ETA_SLICES, N_KEEP_FORWARD); - std::vector > hfp_sorted_final_energies_matrix_sig = super_sort_matrix_rows(hfp_row_presorted_eta_slices_energies_matrix_sig, HFP_ETA_SLICES, N_KEEP_FORWARD); - - //CLK 6 - std::vector > row_presorted_eta_groups_energies_matrix_sig = sort_by_row_in_groups(sorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL); - std::vector > hf_merged_plus_minus_forward_energies_matrix_sig(2, std::vector(N_KEEP_FORWARD)); - hf_merged_plus_minus_forward_energies_matrix_sig[0] = hfm_sorted_final_energies_matrix_sig[0]; - hf_merged_plus_minus_forward_energies_matrix_sig[1] = hfp_sorted_final_energies_matrix_sig[0]; - std::vector > hf_row_presorted_merged_plus_minus_forward_energies_matrix_sig = sort_by_row_in_groups(hf_merged_plus_minus_forward_energies_matrix_sig, 2); - - //CLK 7 - std::vector > sorted_final_energies_matrix_sig = super_sort_matrix_rows(row_presorted_eta_groups_energies_matrix_sig, N_ETA_GROUPS_CENTRAL, N_KEEP_CENTRAL); - std::vector > hf_sorted_final_merged_plus_minus_forward_energies_matrix_sig = super_sort_matrix_rows(hf_row_presorted_merged_plus_minus_forward_energies_matrix_sig, 2, N_KEEP_FORWARD); - - for(unsigned int i = 0; i < 4; ++i) - { - l1t::Jet intjet = sorted_final_energies_matrix_sig[0][i]; - output->push_back(intjet); - } - for(unsigned int i = 0; i < 4; ++i) - { - l1t::Jet intjet = hf_sorted_final_merged_plus_minus_forward_energies_matrix_sig[0][i]; - output->push_back(intjet); - } - } -} diff --git a/L1Trigger/L1TCalorimeter/src/JetCalibrationMethods.cc b/L1Trigger/L1TCalorimeter/src/JetCalibrationMethods.cc index 4aa3f46328251..3ff85cd80c085 100644 --- a/L1Trigger/L1TCalorimeter/src/JetCalibrationMethods.cc +++ b/L1Trigger/L1TCalorimeter/src/JetCalibrationMethods.cc @@ -9,39 +9,51 @@ namespace l1t { - void JetCalibration(std::vector * uncalibjets, - std::vector jetCalibrationParams, + bool compareCorrJets (l1t::Jet m, l1t::Jet n){ + return (m.hwPt() < n.hwPt() ); + } + + void JetCalibration1(std::vector * uncalibjets, + std::vector jetSF, std::vector * jets, - std::string jetCalibrationType, - double jetLSB) + bool applyJetCalibration, + double jetLSB) { for (std::vector::const_iterator uncalibjet = uncalibjets->begin(); uncalibjet != uncalibjets->end(); ++uncalibjet){ - if (jetCalibrationType == "None") { + if (!applyJetCalibration) { l1t::Jet corrjets = *uncalibjet; jets->push_back(corrjets); continue; } + + int jetPt = (uncalibjet->hwPt())*jetLSB; // correction factors are parameterized as functions of physical pt + int jetPhi = uncalibjet->hwPhi(); + int jetEta = uncalibjet->hwEta(); + int jetQual = uncalibjet->hwQual(); + double jpt = 0.0; + + double alpha = jetSF[2*jetEta + 0]; //Scale factor (See jetSF_cfi.py) + double gamma = ((jetSF[2*jetEta + 1])); //Offset + + jpt = jetPt*alpha+gamma; + unsigned int corjetET =(int) (jpt/jetLSB); + + ROOT::Math::LorentzVector > *jetLorentz = + new ROOT::Math::LorentzVector >(); + l1t::Jet corrjets(*jetLorentz, corjetET, jetEta, jetPhi, jetQual); + + jets->push_back(corrjets); + + + } + + std::sort(jets->begin(), jets->end(), compareCorrJets); + std::reverse(jets->begin(), jets->end()); + } +} - if (jetCalibrationType == "Stage1JEC") { - int jetPt = (uncalibjet->hwPt())*jetLSB; // correction factors are parameterized as functions of physical pt - int jetPhi = uncalibjet->hwPhi(); - int jetEta = uncalibjet->hwEta(); - int jetQual = uncalibjet->hwQual(); - double jpt = 0.0; - - double alpha = jetCalibrationParams[2*jetEta + 0]; //Scale factor (See jetSF_cfi.py) - double gamma = ((jetCalibrationParams[2*jetEta + 1])); //Offset - jpt = jetPt*alpha+gamma; - unsigned int corjetET =(int) (jpt/jetLSB); - ROOT::Math::LorentzVector > jetLorentz(0,0,0,0); - l1t::Jet corrjets(*&jetLorentz, corjetET, jetEta, jetPhi, jetQual); - jets->push_back(corrjets); - } - } - } -} diff --git a/L1Trigger/L1TCalorimeter/src/JetFinderMethods.cc b/L1Trigger/L1TCalorimeter/src/JetFinderMethods.cc index a8ed0c632c1bb..bcbdff84216dc 100644 --- a/L1Trigger/L1TCalorimeter/src/JetFinderMethods.cc +++ b/L1Trigger/L1TCalorimeter/src/JetFinderMethods.cc @@ -4,6 +4,7 @@ // This file should contain the different algorithms used to find jets. // Currently the standard is the sliding window method, used by both // HI and PP. +// The sorting of the jets in pT order is handled here. #include "DataFormats/L1TCalorimeter/interface/CaloRegion.h" #include "DataFormats/L1Trigger/interface/Jet.h" @@ -26,43 +27,28 @@ namespace l1t { return diff; } - // turn each central region into a jet - void passThroughJets(const std::vector * regions, - std::vector * uncalibjets) - { - for(std::vector::const_iterator region = regions->begin(); region != regions->end(); region++) { - int jetQual = 0; - if( region->hwEta() < 4 || region->hwEta() > 17) - jetQual = 2; - int jetET = region->hwPt(); - int jetEta = region->hwEta(); - int jetPhi = region->hwPhi(); - - ROOT::Math::LorentzVector > jetLorentz(0,0,0,0); - l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual); - uncalibjets->push_back(theJet); - } + bool compareJets (l1t::Jet i, l1t::Jet j){ + return (i.hwPt() < j.hwPt() ); } - void slidingWindowJetFinder(const int jetSeedThreshold, - const std::vector * regions, + void slidingWindowJetFinder(const int jetSeedThreshold, const std::vector * regions, std::vector * uncalibjets) { // std::cout << "Jet Seed: " << jetSeedThreshold << std::endl; for(std::vector::const_iterator region = regions->begin(); region != regions->end(); region++) { - int regionET = region->hwPt(); //regionPhysicalEt(*region); + double regionET = region->hwPt(); //regionPhysicalEt(*region); if (regionET <= jetSeedThreshold) continue; - int neighborN_et = 0; - int neighborS_et = 0; - int neighborE_et = 0; - int neighborW_et = 0; - int neighborNE_et = 0; - int neighborSW_et = 0; - int neighborNW_et = 0; - int neighborSE_et = 0; + double neighborN_et = 0; + double neighborS_et = 0; + double neighborE_et = 0; + double neighborW_et = 0; + double neighborNE_et = 0; + double neighborSW_et = 0; + double neighborNW_et = 0; + double neighborSE_et = 0; unsigned int nNeighbors = 0; for(std::vector::const_iterator neighbor = regions->begin(); neighbor != regions->end(); neighbor++) { - int neighborET = neighbor->hwPt(); //regionPhysicalEt(*neighbor); + double neighborET = neighbor->hwPt(); //regionPhysicalEt(*neighbor); if(deltaGctPhi(*region, *neighbor) == 1 && (region->hwEta() ) == neighbor->hwEta()) { neighborN_et = neighborET; @@ -123,7 +109,23 @@ namespace l1t { unsigned int jetET = regionET + neighborN_et + neighborS_et + neighborE_et + neighborW_et + neighborNE_et + neighborSW_et + neighborSE_et + neighborNW_et; + /* + int jetPhi = region->hwPhi() * 4 + + ( - 2 * (neighborS_et + neighborSE_et + neighborSW_et) + + 2 * (neighborN_et + neighborNE_et + neighborNW_et) ) / jetET; + if(jetPhi < 0) { + } + else if(jetPhi >= ((int) N_JET_PHI)) { + jetPhi -= N_JET_PHI; + } + int jetEta = region->hwEta() * 4 + + ( - 2 * (neighborW_et + neighborNW_et + neighborSW_et) + + 2 * (neighborE_et + neighborNE_et + neighborSE_et) ) / jetET; + if(jetEta < 0) jetEta = 0; + if(jetEta >= ((int) N_JET_ETA)) jetEta = N_JET_ETA - 1; + */ + // Temporarily use the region granularity -- we will try to improve as above when code is debugged int jetPhi = region->hwPhi(); int jetEta = region->hwEta(); @@ -144,112 +146,262 @@ namespace l1t { if(forward) jetQual |= 0x2; - ROOT::Math::LorentzVector > jetLorentz(0,0,0,0); - l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual); + ROOT::Math::LorentzVector > *jetLorentz = + new ROOT::Math::LorentzVector >(); + l1t::Jet theJet(*jetLorentz, jetET, jetEta, jetPhi, jetQual); //l1t::Jet theJet(0, jetET, jetEta, jetPhi); uncalibjets->push_back(theJet); } } - } - void TwelveByTwelveFinder(const int jetSeedThreshold, - const std::vector * regions, - std::vector * uncalibjets) - { - // std::cout << "Jet Seed: " << jetSeedThreshold << std::endl; - for(std::vector::const_iterator region = regions->begin(); region != regions->end(); region++) { - int regionET = region->hwPt(); //regionPhysicalEt(*region); - if (regionET <= jetSeedThreshold) continue; - int neighborN_et = 0; - int neighborS_et = 0; - int neighborE_et = 0; - int neighborW_et = 0; - int neighborNE_et = 0; - int neighborSW_et = 0; - int neighborNW_et = 0; - int neighborSE_et = 0; - unsigned int nNeighbors = 0; - for(std::vector::const_iterator neighbor = regions->begin(); neighbor != regions->end(); neighbor++) { - int neighborET = neighbor->hwPt(); //regionPhysicalEt(*neighbor); - if(deltaGctPhi(*region, *neighbor) == 1 && - (region->hwEta() ) == neighbor->hwEta()) { - neighborN_et = neighborET; - nNeighbors++; - continue; - } - else if(deltaGctPhi(*region, *neighbor) == -1 && - (region->hwEta() ) == neighbor->hwEta()) { - neighborS_et = neighborET; - nNeighbors++; - continue; - } - else if(deltaGctPhi(*region, *neighbor) == 0 && - (region->hwEta() + 1) == neighbor->hwEta()) { - neighborE_et = neighborET; - nNeighbors++; - continue; - } - else if(deltaGctPhi(*region, *neighbor) == 0 && - (region->hwEta() - 1) == neighbor->hwEta()) { - neighborW_et = neighborET; - nNeighbors++; - continue; - } - else if(deltaGctPhi(*region, *neighbor) == 1 && - (region->hwEta() + 1) == neighbor->hwEta()) { - neighborNE_et = neighborET; - nNeighbors++; - continue; - } - else if(deltaGctPhi(*region, *neighbor) == -1 && - (region->hwEta() - 1) == neighbor->hwEta()) { - neighborSW_et = neighborET; - nNeighbors++; - continue; - } - else if(deltaGctPhi(*region, *neighbor) == 1 && - (region->hwEta() - 1) == neighbor->hwEta()) { - neighborNW_et = neighborET; - nNeighbors++; - continue; - } - else if(deltaGctPhi(*region, *neighbor) == -1 && - (region->hwEta() + 1) == neighbor->hwEta()) { - neighborSE_et = neighborET; - nNeighbors++; - continue; - } - } - unsigned int jetET = regionET + - neighborN_et + neighborS_et + neighborE_et + neighborW_et + - neighborNE_et + neighborSW_et + neighborSE_et + neighborNW_et; + // // separate loops for the central jets at the edges of HF, composed of 6 regions only. + // for(std::vector::const_iterator region = regions->begin(); region != regions->end(); region++) { + // double regionET = region->hwPt(); + // // look at only the left eta wall + // if (region->hwEta() != 4) continue; + // if (regionET < jetSeedThreshold) continue; + // double neighborN_et = 0; + // double neighborS_et = 0; + // double neighborE_et = 0; + // //double neighborW_et = 0; + // double neighborNE_et = 0; + // //double neighborSW_et = 0; + // //double neighborNW_et = 0; + // double neighborSE_et = 0; + // unsigned int nNeighbors = 0; + // for(std::vector::const_iterator neighbor = regions->begin(); neighbor != regions->end(); neighbor++) { - int jetPhi = region->hwPhi(); - int jetEta = region->hwEta(); + // double neighborET = neighbor->hwPt(); //regionPhysicalEt(*neighbor); + // if(deltaGctPhi(*region, *neighbor) == 1 && + // (region->hwEta() ) == neighbor->hwEta()) { + // neighborN_et = neighborET; + // nNeighbors++; + // continue; + // } + // else if(deltaGctPhi(*region, *neighbor) == -1 && + // (region->hwEta() ) == neighbor->hwEta()) { + // neighborS_et = neighborET; + // nNeighbors++; + // continue; + // } + // else if(deltaGctPhi(*region, *neighbor) == 0 && + // (region->hwEta() + 1) == neighbor->hwEta()) { + // neighborE_et = neighborET; + // nNeighbors++; + // continue; + // } + // // else if(deltaGctPhi(*region, *neighbor) == 0 && + // // (region->hwEta() - 1) == neighbor->hwEta()) { + // // neighborW_et = neighborET; + // // nNeighbors++; + // // continue; + // // } + // else if(deltaGctPhi(*region, *neighbor) == 1 && + // (region->hwEta() + 1) == neighbor->hwEta()) { + // neighborNE_et = neighborET; + // nNeighbors++; + // continue; + // } + // // else if(deltaGctPhi(*region, *neighbor) == -1 && + // // (region->hwEta() - 1) == neighbor->hwEta()) { + // // neighborSW_et = neighborET; + // // nNeighbors++; + // // continue; + // // } + // // else if(deltaGctPhi(*region, *neighbor) == 1 && + // // (region->hwEta() - 1) == neighbor->hwEta()) { + // // neighborNW_et = neighborET; + // // nNeighbors++; + // // continue; + // // } + // else if(deltaGctPhi(*region, *neighbor) == -1 && + // (region->hwEta() + 1) == neighbor->hwEta()) { + // neighborSE_et = neighborET; + // nNeighbors++; + // continue; + // } + // } + // if(regionET > neighborN_et && + // //regionET > neighborNW_et && + // //regionET > neighborW_et && + // //regionET > neighborSW_et && + // regionET >= neighborNE_et && + // regionET >= neighborE_et && + // regionET >= neighborSE_et && + // regionET >= neighborS_et) { + // unsigned int jetET = regionET + + // neighborN_et + neighborS_et + neighborE_et + /*neighborW_et +*/ + // neighborNE_et + /*neighborSW_et +*/ neighborSE_et;// + neighborNW_et; + // /* + // int jetPhi = region->hwPhi() * 4 + + // ( - 2 * (neighborS_et + neighborSE_et + neighborSW_et) + // + 2 * (neighborN_et + neighborNE_et + neighborNW_et) ) / jetET; + // if(jetPhi < 0) { - bool neighborCheck = (nNeighbors == 8); - // On the eta edge we only expect 5 neighbors - if (!neighborCheck && (jetEta == 0 || jetEta == 21) && nNeighbors == 5) - neighborCheck = true; + // } + // else if(jetPhi >= ((int) N_JET_PHI)) { + // jetPhi -= N_JET_PHI; + // } + // int jetEta = region->hwEta() * 4 + + // ( - 2 * (neighborW_et + neighborNW_et + neighborSW_et) + // + 2 * (neighborE_et + neighborNE_et + neighborSE_et) ) / jetET; + // if(jetEta < 0) jetEta = 0; + // if(jetEta >= ((int) N_JET_ETA)) jetEta = N_JET_ETA - 1; + // */ + // // Temporarily use the region granularity -- we will try to improve as above when code is debugged + // int jetPhi = region->hwPhi(); + // int jetEta = region->hwEta(); - if (!neighborCheck) { - std::cout << "phi: " << jetPhi << " eta: " << jetEta << " n: " << nNeighbors << std::endl; - assert(false); - } + // bool neighborCheck = (nNeighbors == 5); + // // On the eta edge we only expect 5 neighbors + // // if (!neighborCheck && (jetEta == 0 || jetEta == 21) && nNeighbors == 5) + // // neighborCheck = true; - //first iteration, eta cut defines forward - //const bool forward = (jetEta <= 4 || jetEta >= 17); - const bool forward = (jetEta < 4 || jetEta > 17); - int jetQual = 0; - if(forward) - jetQual |= 0x2; + // if (!neighborCheck) { + // std::cout << "phi: " << jetPhi << " eta: " << jetEta << " n: " << nNeighbors << std::endl; + // assert(false); + // } - ROOT::Math::LorentzVector > jetLorentz(0,0,0,0); - l1t::Jet theJet(*&jetLorentz, jetET, jetEta, jetPhi, jetQual); - //l1t::Jet theJet(0, jetET, jetEta, jetPhi); + // const bool forward = false; //by definition + // int jetQual = 0; + // if(forward) + // jetQual |= 0x2; - uncalibjets->push_back(theJet); - } + // ROOT::Math::LorentzVector > *jetLorentz = + // new ROOT::Math::LorentzVector >(); + // l1t::Jet theJet(*jetLorentz, jetET, jetEta, jetPhi, jetQual); + // //l1t::Jet theJet(0, jetET, jetEta, jetPhi); + + // jets->push_back(theJet); + // } + // } + + // // separate loops for the central jets at the edges of HF, composed of 6 regions only. + // for(std::vector::const_iterator region = regions->begin(); region != regions->end(); region++) { + // double regionET = region->hwPt(); + // // look at only the right eta wall + // if (region->hwEta() != 17) continue; + // if (regionET < jetSeedThreshold) continue; + // double neighborN_et = 0; + // double neighborS_et = 0; + // //double neighborE_et = 0; + // double neighborW_et = 0; + // //double neighborNE_et = 0; + // double neighborSW_et = 0; + // double neighborNW_et = 0; + // //double neighborSE_et = 0; + // unsigned int nNeighbors = 0; + // for(std::vector::const_iterator neighbor = regions->begin(); neighbor != regions->end(); neighbor++) { + + // double neighborET = neighbor->hwPt(); //regionPhysicalEt(*neighbor); + // if(deltaGctPhi(*region, *neighbor) == 1 && + // (region->hwEta() ) == neighbor->hwEta()) { + // neighborN_et = neighborET; + // nNeighbors++; + // continue; + // } + // else if(deltaGctPhi(*region, *neighbor) == -1 && + // (region->hwEta() ) == neighbor->hwEta()) { + // neighborS_et = neighborET; + // nNeighbors++; + // continue; + // } + // // else if(deltaGctPhi(*region, *neighbor) == 0 && + // // (region->hwEta() + 1) == neighbor->hwEta()) { + // // neighborE_et = neighborET; + // // nNeighbors++; + // // continue; + // // } + // else if(deltaGctPhi(*region, *neighbor) == 0 && + // (region->hwEta() - 1) == neighbor->hwEta()) { + // neighborW_et = neighborET; + // nNeighbors++; + // continue; + // } + // // else if(deltaGctPhi(*region, *neighbor) == 1 && + // // (region->hwEta() + 1) == neighbor->hwEta()) { + // // neighborNE_et = neighborET; + // // nNeighbors++; + // // continue; + // // } + // else if(deltaGctPhi(*region, *neighbor) == -1 && + // (region->hwEta() - 1) == neighbor->hwEta()) { + // neighborSW_et = neighborET; + // nNeighbors++; + // continue; + // } + // else if(deltaGctPhi(*region, *neighbor) == 1 && + // (region->hwEta() - 1) == neighbor->hwEta()) { + // neighborNW_et = neighborET; + // nNeighbors++; + // continue; + // } + // // else if(deltaGctPhi(*region, *neighbor) == -1 && + // // (region->hwEta() + 1) == neighbor->hwEta()) { + // // neighborSE_et = neighborET; + // // nNeighbors++; + // // continue; + // // } + // } + // if(//regionET > neighborN_et && + // regionET > neighborNW_et && + // regionET > neighborW_et && + // regionET > neighborSW_et && + // //regionET >= neighborNE_et && + // //regionET >= neighborE_et && + // //regionET >= neighborSE_et && + // regionET >= neighborS_et) { + // unsigned int jetET = regionET + + // neighborN_et + neighborS_et + /*neighborE_et + */neighborW_et + + // /*neighborNE_et +*/ neighborSW_et + /*neighborSE_et + */neighborNW_et; + // /* + // int jetPhi = region->hwPhi() * 4 + + // ( - 2 * (neighborS_et + neighborSE_et + neighborSW_et) + // + 2 * (neighborN_et + neighborNE_et + neighborNW_et) ) / jetET; + // if(jetPhi < 0) { + + // } + // else if(jetPhi >= ((int) N_JET_PHI)) { + // jetPhi -= N_JET_PHI; + // } + // int jetEta = region->hwEta() * 4 + + // ( - 2 * (neighborW_et + neighborNW_et + neighborSW_et) + // + 2 * (neighborE_et + neighborNE_et + neighborSE_et) ) / jetET; + // if(jetEta < 0) jetEta = 0; + // if(jetEta >= ((int) N_JET_ETA)) jetEta = N_JET_ETA - 1; + // */ + // // Temporarily use the region granularity -- we will try to improve as above when code is debugged + // int jetPhi = region->hwPhi(); + // int jetEta = region->hwEta(); + + // bool neighborCheck = (nNeighbors == 5); + // // On the eta edge we only expect 5 neighbors + // // if (!neighborCheck && (jetEta == 0 || jetEta == 21) && nNeighbors == 5) + // // neighborCheck = true; + + // if (!neighborCheck) { + // std::cout << "phi: " << jetPhi << " eta: " << jetEta << " n: " << nNeighbors << std::endl; + // assert(false); + // } + + // const bool forward = false; //by definition + // int jetQual = 0; + // if(forward) + // jetQual |= 0x2; + + // ROOT::Math::LorentzVector > *jetLorentz = + // new ROOT::Math::LorentzVector >(); + // l1t::Jet theJet(*jetLorentz, jetET, jetEta, jetPhi, jetQual); + // //l1t::Jet theJet(0, jetET, jetEta, jetPhi); + + // jets->push_back(theJet); + // } + // } + + //the jets should be sorted, highest pT first. + // do not truncate the jet list, GT converter handles that + std::sort(uncalibjets->begin(), uncalibjets->end(), compareJets); + std::reverse(uncalibjets->begin(), uncalibjets->end()); } } diff --git a/L1Trigger/L1TCalorimeter/src/PUSubtractionMethods.cc b/L1Trigger/L1TCalorimeter/src/PUSubtractionMethods.cc index fd36c63102826..ec6cd5f7baea4 100644 --- a/L1Trigger/L1TCalorimeter/src/PUSubtractionMethods.cc +++ b/L1Trigger/L1TCalorimeter/src/PUSubtractionMethods.cc @@ -44,31 +44,10 @@ namespace l1t { int subEta = region->hwEta(); int subPhi = region->hwPhi(); - ROOT::Math::LorentzVector > ldummy(0,0,0,0); + ROOT::Math::LorentzVector > *lorentz = + new ROOT::Math::LorentzVector >(); - CaloRegion newSubRegion(*&ldummy, 0, 0, subPt, subEta, subPhi, 0, 0, 0); - subRegions->push_back(newSubRegion); - } - } - - void simpleHWSubtraction(const std::vector & regions, - std::vector *subRegions) - { - for(std::vector::const_iterator region = regions.begin(); - region != regions.end(); region++){ - int subEta = region->hwEta(); - int subPhi = region->hwPhi(); - int subPt = region->hwPt(); - - //std::cout << "pre sub: " << subPt; - if(subPt != (2<<10)-1) - subPt = subPt - (10+subEta); // arbitrary value chosen in meeting - if(subPt < 0) - subPt = 0; - //std::cout << " post sub: " << subPt << std::endl; - ROOT::Math::LorentzVector > ldummy(0,0,0,0); - - CaloRegion newSubRegion(*&ldummy, 0, 0, subPt, subEta, subPhi, 0, 0, 0); + CaloRegion newSubRegion(*lorentz, 0, 0, subPt, subEta, subPhi, 0, 0, 0); subRegions->push_back(newSubRegion); } } @@ -76,40 +55,31 @@ namespace l1t { /// --------- New region correction (PUsub, no response correction at the moment) ----------- - void RegionCorrection(const std::vector & regions, - const std::vector & EMCands, + void RegionCorrection(const std::vector & regions, + const std::vector & EMCands, std::vector *subRegions, - std::vector regionPUSParams, - std::string regionPUSType) + std::vector regionSubtraction, + bool PUSubtract) { - - if(regionPUSType == "None") { - for(std::vector::const_iterator notCorrectedRegion = regions.begin(); - notCorrectedRegion != regions.end(); notCorrectedRegion++){ - CaloRegion newSubRegion= *notCorrectedRegion; - subRegions->push_back(newSubRegion); - } - } - - if (regionPUSType == "HICaloRingSub") { - HICaloRingSubtraction(regions, subRegions); - } - - if (regionPUSType == "PUM0") { - int puMult = 0; - - // ------------ This calulates PUM0 ------------------ - for(std::vector::const_iterator notCorrectedRegion = regions.begin(); - notCorrectedRegion != regions.end(); notCorrectedRegion++){ + int puMult = 0; + // ------------ This calulates PUM0 ------------------- + for(std::vector::const_iterator notCorrectedRegion = regions.begin(); + notCorrectedRegion != regions.end(); notCorrectedRegion++){ int regionET = notCorrectedRegion->hwPt(); // cout << "regionET: " << regionET < 0) {puMult++;} - } - - for(std::vector::const_iterator notCorrectedRegion = regions.begin(); - notCorrectedRegion != regions.end(); notCorrectedRegion++){ - + } + + for(std::vector::const_iterator notCorrectedRegion = regions.begin(); + notCorrectedRegion != regions.end(); notCorrectedRegion++){ + + if(!PUSubtract) { + CaloRegion newSubRegion= *notCorrectedRegion; + subRegions->push_back(newSubRegion); + continue; + } + int regionET = notCorrectedRegion->hwPt(); int regionEta = notCorrectedRegion->hwEta(); int regionPhi = notCorrectedRegion->hwPhi(); @@ -118,7 +88,7 @@ namespace l1t { // Only non-empty regions are corrected if (regionET !=0) { int energyECAL2x1=0; - // Find associated 2x1 ECAL energy (EG are calibrated, + // Find associated 2x1 ECAL energy (EG are calibrated, // we should not scale them up, it affects the isolation routines) // 2x1 regions have the MAX tower contained in the 4x4 region that its position points to. // This is to not break isolation. @@ -126,49 +96,49 @@ namespace l1t { egCand != EMCands.end(); egCand++) { int et = egCand->hwPt(); if(egCand->hwPhi() == regionPhi && egCand->hwEta() == regionEta) { - energyECAL2x1=et; - break; // I do not really like "breaks" - } + energyECAL2x1=et; + break; // I do not really like "breaks" + } } - - //comment out region corrections (below) at the moment, since they're broken - + + //comment out region corrections (below) at the moment since they're broken + //double alpha = regionSF[2*regionEta + 0]; //Region Scale factor (See regionSF_cfi) - //double gamma = 2*((regionSF[2*regionEta + 1])/9); //Region Offset. - // It needs to be divided by nine from the jet derived value in the lookup table. - // Multiplied by 2 because gamma is given in regionPhysicalET (=regionEt*regionLSB), + //double gamma = 2*((regionSF[2*regionEta + 1])/9); //Region Offset. + // It needs to be divided by nine from the jet derived value in the lookup table. + // Multiplied by 2 because gamma is given in regionPhysicalET (=regionEt*regionLSB), // while we want regionEt= physicalEt/LSB and LSB=.5. - - + + //if(!ResponseCorr || regionET<20) {alpha=1; gamma=0;} - double alpha=1; double gamma=0; - - + double alpha=1; double gamma=0; + + int pumbin = (int) puMult/22; //396 Regions. Bins are 22 wide. Dividing by 22 gives which bin# of the 18 bins. - - double puSub = regionPUSParams[18*regionEta+pumbin]*2; - // The values in regionSubtraction are MULTIPLIED by - // RegionLSB=.5 (physicalRegionEt), so to get back unmultiplied - // regionSubtraction we want to multiply the number by 2 - // (aka divide by LSB). - + + double puSub = regionSubtraction[18*regionEta+pumbin]*2; + // The values in regionSubtraction are MULTIPLIED by + // RegionLSB=.5 (physicalRegionEt), so to get back unmultiplied + // regionSubtraction we want to multiply the number by 2 + // (aka divide by LSB). + int corrpum0pt (0); if(regionET - puSub>0) { int pum0pt = (regionET - puSub-energyECAL2x1); //subtract ECAl energy - corrpum0pt = pum0pt*alpha+gamma+energyECAL2x1; + corrpum0pt = pum0pt*alpha+gamma+energyECAL2x1; //add back in ECAL energy, calibrate regions(not including the ECAL2x1). if (corrpum0pt <0 || pum0pt<0) {corrpum0pt=0;} //zero floor } - regionEtCorr = corrpum0pt; + regionEtCorr = corrpum0pt; } - - ROOT::Math::LorentzVector > lorentz(0,0,0,0); - CaloRegion newSubRegion(*&lorentz, 0, 0, regionEtCorr, regionEta, regionPhi, 0, 0, 0); + + ROOT::Math::LorentzVector > *lorentz = + new ROOT::Math::LorentzVector >(); + CaloRegion newSubRegion(*lorentz, 0, 0, regionEtCorr, regionEta, regionPhi, 0, 0, 0); subRegions->push_back(newSubRegion); - } - } - + } + } - + } diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2CentralityAlgorithm.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2CentralityAlgorithm.cc deleted file mode 100644 index af99dd9848d6e..0000000000000 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2CentralityAlgorithm.cc +++ /dev/null @@ -1,44 +0,0 @@ -/// -/// \class l1t::Stage1Layer2CentralityAlgorithm -/// -/// \authors: Gian Michele Innocenti -/// R. Alex Barbieri -/// -/// Description: Centrality Algorithm HI - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithmImp.h" -#include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" - -l1t::Stage1Layer2CentralityAlgorithm::Stage1Layer2CentralityAlgorithm(CaloParamsStage1* params) : params_(params) -{ - -} - - -l1t::Stage1Layer2CentralityAlgorithm::~Stage1Layer2CentralityAlgorithm() { - - -} - - -void l1t::Stage1Layer2CentralityAlgorithm::processEvent(const std::vector & regions, - const std::vector & EMCands, - std::vector * spares) { - - int sumET = 0; - int regionET=0; - - for(std::vector::const_iterator region = regions.begin(); region != regions.end(); region++) { - - if (region->hwEta() > 3 && region->hwEta() < 18) { - continue; - } - regionET=region->hwPt(); - sumET +=regionET; - } - ROOT::Math::LorentzVector > dummy(0,0,0,0); - l1t::CaloSpare centrality (*&dummy,CaloSpare::CaloSpareType::Centrality,sumET,0,0,0); - spares->push_back(centrality); -} diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2DiTauAlgorithm.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2DiTauAlgorithm.cc deleted file mode 100644 index cabd9e1b120b2..0000000000000 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2DiTauAlgorithm.cc +++ /dev/null @@ -1,32 +0,0 @@ -/// -/// \class l1t::Stage1Layer2DiTauAlgorithm -/// -/// \authors: -/// R. Alex Barbieri -/// -/// Description: DiTau Algorithm - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithmImp.h" -//#include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" -//#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" - -l1t::Stage1Layer2DiTauAlgorithm::Stage1Layer2DiTauAlgorithm(CaloParamsStage1* params) : params_(params) -{ -} - - -l1t::Stage1Layer2DiTauAlgorithm::~Stage1Layer2DiTauAlgorithm() {} - - -void l1t::Stage1Layer2DiTauAlgorithm::processEvent(const std::vector & regions, - const std::vector & EMCands, - const std::vector * taus, - std::vector * spares) { - - ROOT::Math::LorentzVector > dummy(0,0,0,0); - - l1t::CaloSpare ditau (*&dummy,CaloSpare::CaloSpareType::Tau,0,0,0,0); - - spares->push_back(ditau); -} diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2EGammaAlgorithmImpPP.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2EGammaAlgorithmImpPP.cc index c5ecc9e9c7c57..1d9c891cf380d 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2EGammaAlgorithmImpPP.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2EGammaAlgorithmImpPP.cc @@ -13,112 +13,102 @@ #include "DataFormats/L1CaloTrigger/interface/L1CaloRegionDetId.h" #include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" #include "L1Trigger/L1TCalorimeter/interface/JetFinderMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" using namespace std; using namespace l1t; -Stage1Layer2EGammaAlgorithmImpPP::Stage1Layer2EGammaAlgorithmImpPP(CaloParamsStage1* params) : params_(params) {}; +Stage1Layer2EGammaAlgorithmImpPP::Stage1Layer2EGammaAlgorithmImpPP(CaloParams* params) : params_(params) +{ -Stage1Layer2EGammaAlgorithmImpPP::~Stage1Layer2EGammaAlgorithmImpPP(){}; + emScale=params_->emScale(); + jetScale=params_->jetScale(); + PUSubtract = params_->PUSubtract(); + regionSubtraction = params_->regionSubtraction(); + egSeedThreshold= floor( params_->egSeedThreshold()/emScale + 0.5); + jetSeedThreshold= floor( params_->jetSeedThreshold()/jetScale + 0.5); + egRelativeJetIsolationCut = params_->egRelativeJetIsolationCut(); +} +Stage1Layer2EGammaAlgorithmImpPP::~Stage1Layer2EGammaAlgorithmImpPP(){}; -void l1t::Stage1Layer2EGammaAlgorithmImpPP::processEvent(const std::vector & EMCands, const std::vector & regions, const std::vector * jets, std::vector* egammas) { - double egLsb=params_->egLsb(); - double jetLsb=params_->jetLsb(); - int egSeedThreshold= floor( params_->egSeedThreshold()/egLsb + 0.5); - int jetSeedThreshold= floor( params_->jetSeedThreshold()/jetLsb + 0.5); - double egRelativeJetIsolationBarrelCut = params_->egRelativeJetIsolationBarrelCut(); - double egRelativeJetIsolationEndcapCut = params_->egRelativeJetIsolationEndcapCut(); +void l1t::Stage1Layer2EGammaAlgorithmImpPP::processEvent(const std::vector & EMCands, const std::vector & regions, const std::vector * jets, std::vector* egammas) { - std::string regionPUSType = params_->regionPUSType(); - std::vector regionPUSParams = params_->regionPUSParams(); + // double EGrelativeJetIsolationCut = 1; + // HoverECut = 0.05; std::vector *subRegions = new std::vector(); - std::vector *preGtEGammas = new std::vector(); - - - //Region Correction will return uncorrected subregions if - //regionPUSType is set to None in the config - RegionCorrection(regions, EMCands, subRegions, regionPUSParams, regionPUSType); + + //Region Correction will return uncorrected subregions if + //PUSubtract is set to False in the config + RegionCorrection(regions, EMCands, subRegions, regionSubtraction, PUSubtract); // ----- need to cluster jets in order to compute jet isolation ---- std::vector *unCorrJets = new std::vector(); - // slidingWindowJetFinder(jetSeedThreshold, subRegions, unCorrJets); - TwelveByTwelveFinder(jetSeedThreshold, subRegions, unCorrJets); + slidingWindowJetFinder(jetSeedThreshold, subRegions, unCorrJets); for(CaloEmCandBxCollection::const_iterator egCand = EMCands.begin(); - egCand != EMCands.end(); egCand++) { + egCand != EMCands.end(); egCand++) { - int eg_et = egCand->hwPt(); - int eg_eta = egCand->hwEta(); - int eg_phi = egCand->hwPhi(); - //std::cout << "eg_et: " << eg_et << " thresh: " << egSeedThreshold << std::endl; - if(eg_et <= egSeedThreshold) continue; + int eg_et = egCand->hwPt(); + int eg_eta = egCand->hwEta(); + int eg_phi = egCand->hwPhi(); + if(eg_et <= egSeedThreshold) continue; - ROOT::Math::LorentzVector > egLorentz(0,0,0,0); - int quality = 1; - int isoFlag = 0; + ROOT::Math::LorentzVector > *egLorentz = + new ROOT::Math::LorentzVector >(); + int quality = 1; + int isoFlag = 0; - // ------- isolation and H/E --------------- - // double isolation = Isolation(eg_eta, eg_phi, *subRegions); - //if( eg_et > 0 && (isolation / eg_et ) > relativeIsolationCut) isoFlag = 0; - double jet_pt=AssociatedJetPt(eg_eta,eg_phi,unCorrJets); - jet_pt=jet_pt*jetLsb; - bool isinBarrel = (eg_eta>=7 && eg_eta<=14); - if (jet_pt>0){ - double jetIsolationEG = jet_pt - eg_et; // Jet isolation - double relativeJetIsolationEG = jetIsolationEG / eg_et; + // ------- isolation and H/E --------------- + // double isolation = Isolation(eg_eta, eg_phi, *subRegions); + //if( eg_et > 0 && (isolation / eg_et ) > relativeIsolationCut) isoFlag = 0; - if(eg_et >0 && eg_et<63 && isinBarrel && relativeJetIsolationEG < egRelativeJetIsolationBarrelCut) isoFlag=1; - if(eg_et >0 && eg_et<63 && !isinBarrel && relativeJetIsolationEG < egRelativeJetIsolationEndcapCut) isoFlag=1; - if( eg_et >= 63) isoFlag=1; - }else{ // no associated jet; assume it's an isolated eg - isoFlag=1; - } + double jet_pt=AssociatedJetPt(eg_eta,eg_phi,unCorrJets); + jet_pt=jet_pt*jetScale; + if (jet_pt>0){ + double jetIsolationEG = jet_pt - eg_et; // Jet isolation + double relativeJetIsolationEG = jetIsolationEG / eg_et; + if(eg_et >0 && eg_et<63 && relativeJetIsolationEG < egRelativeJetIsolationCut) isoFlag=1; + if( eg_et >= 63) isoFlag=1; + } - // double hoe = HoverE(eg_et, eg_eta, eg_phi, *subRegions); + // double hoe = HoverE(eg_et, eg_eta, eg_phi, *subRegions); + - // ------- fill the EG candidate vector --------- - l1t::EGamma theEG(*&egLorentz, eg_et, eg_eta, eg_phi, quality, isoFlag); - //?? if( hoe < HoverECut) egammas->push_back(theEG); - preGtEGammas->push_back(theEG); + // ------- fill the EG candidate vector --------- + l1t::EGamma theEG(*egLorentz, eg_et, eg_eta, eg_phi, quality, isoFlag); + //?? if( hoe < HoverECut) egammas->push_back(theEG); + egammas->push_back(theEG); } - EGammaToGtScales(params_, preGtEGammas, egammas); - - //the EG candidates should be sorted, highest pT first. - // do not truncate the EG list, GT converter handles that - auto comp = [&](l1t::EGamma i, l1t::EGamma j)-> bool { - return (i.hwPt() < j.hwPt() ); - }; + //the EG candidates should be sorted, highest pT first. + // do not truncate the EG list, GT converter handles that + auto comp = [&](l1t::EGamma i, l1t::EGamma j)-> bool { + return (i.hwPt() < j.hwPt() ); + }; - delete subRegions; - delete unCorrJets; - delete preGtEGammas; - - std::sort(egammas->begin(), egammas->end(), comp); - std::reverse(egammas->begin(), egammas->end()); + std::sort(egammas->begin(), egammas->end(), comp); + std::reverse(egammas->begin(), egammas->end()); } -/// ----- Compute isolation sum -------------------- +/// ----- Compute isolation sum -------------------- double l1t::Stage1Layer2EGammaAlgorithmImpPP::Isolation(int ieta, int iphi, - const std::vector & regions) const { + const std::vector & regions) const { double isolation = 0; for(CaloRegionBxCollection::const_iterator region = regions.begin(); @@ -127,12 +117,12 @@ double l1t::Stage1Layer2EGammaAlgorithmImpPP::Isolation(int ieta, int iphi, int regionPhi = region->hwPhi(); int regionEta = region->hwEta(); unsigned int deltaPhi = iphi - regionPhi; - if (std::abs(deltaPhi) == L1CaloRegionDetId::N_PHI-1) + if (std::abs(deltaPhi) == L1CaloRegionDetId::N_PHI-1) deltaPhi = -deltaPhi/std::abs(deltaPhi); //18 regions in phi unsigned int deltaEta = std::abs(ieta - regionEta); - if ((deltaPhi + deltaEta) > 0 && deltaPhi < 2 && deltaEta < 2) + if ((deltaPhi + deltaEta) > 0 && deltaPhi < 2 && deltaEta < 2) isolation += region->hwPt(); } @@ -144,7 +134,7 @@ double l1t::Stage1Layer2EGammaAlgorithmImpPP::Isolation(int ieta, int iphi, double l1t::Stage1Layer2EGammaAlgorithmImpPP::AssociatedJetPt(int ieta, int iphi, - const std::vector * jets) const { + const std::vector * jets) const { bool Debug=false; @@ -171,9 +161,9 @@ double l1t::Stage1Layer2EGammaAlgorithmImpPP::AssociatedJetPt(int ieta, int iphi -/// ----- Compute H/E -------------------- +/// ----- Compute H/E -------------------- double l1t::Stage1Layer2EGammaAlgorithmImpPP::HoverE(int et, int ieta, int iphi, - const std::vector & regions) const { + const std::vector & regions) const { int hadronicET = 0; for(CaloRegionBxCollection::const_iterator region = regions.begin(); @@ -185,15 +175,15 @@ double l1t::Stage1Layer2EGammaAlgorithmImpPP::HoverE(int et, int ieta, int iphi, if(iphi == regionPhi && ieta == regionEta) { hadronicET = regionET; - break; + break; } } hadronicET -= et; - + double hoe = 0.0; - if( hadronicET >0 && et > 0) + if( hadronicET >0 && et > 0) hoe = (double) hadronicET / (double) et; // set output diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2EtSumAlgorithmImpPP.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2EtSumAlgorithmImpPP.cc index 5927ed5844e2f..55abae6ed83c7 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2EtSumAlgorithmImpPP.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2EtSumAlgorithmImpPP.cc @@ -8,17 +8,29 @@ #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithmImp.h" #include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" #include "DataFormats/L1Trigger/interface/EtSum.h" #include "DataFormats/L1CaloTrigger/interface/L1CaloRegionDetId.h" -l1t::Stage1Layer2EtSumAlgorithmImpPP::Stage1Layer2EtSumAlgorithmImpPP(CaloParamsStage1* params) : params_(params) +l1t::Stage1Layer2EtSumAlgorithmImpPP::Stage1Layer2EtSumAlgorithmImpPP(const CaloParams* params) { + regionETCutForHT=params->regionETCutForHT(); + regionETCutForMET=params->regionETCutForMET(); + minGctEtaForSums=params->minGctEtaForSums(); + maxGctEtaForSums=params->maxGctEtaForSums(); + + emScale=params->emScale(); + jetScale=params->jetScale(); + + PUSubtract = params->PUSubtract(); + regionSubtraction = params->regionSubtraction(); + //now do what ever initialization is needed for(unsigned int i = 0; i < L1CaloRegionDetId::N_PHI; i++) { sinPhi.push_back(sin(2. * 3.1415927 * i * 1.0 / L1CaloRegionDetId::N_PHI)); cosPhi.push_back(cos(2. * 3.1415927 * i * 1.0 / L1CaloRegionDetId::N_PHI)); } + + // std::cout << "jetScale: " << jetScale << "\temScale: " << emScale << std::endl; } @@ -28,8 +40,8 @@ l1t::Stage1Layer2EtSumAlgorithmImpPP::~Stage1Layer2EtSumAlgorithmImpPP() { } double l1t::Stage1Layer2EtSumAlgorithmImpPP::regionPhysicalEt(const l1t::CaloRegion& cand) const { - - return jetLsb*cand.hwPt(); + + return jetScale*cand.hwPt(); } @@ -46,51 +58,32 @@ void l1t::Stage1Layer2EtSumAlgorithmImpPP::processEvent(const std::vector *subRegions = new std::vector(); - - //Region Correction will return uncorrected subregions if - //regionPUSType is set to None in the config - jetLsb=params_->jetLsb(); - - int etSumEtaMinEt = params_->etSumEtaMin(0); - int etSumEtaMaxEt = params_->etSumEtaMax(0); - double etSumEtThresholdEt = params_->etSumEtThreshold(0); - - int etSumEtaMinHt = params_->etSumEtaMin(1); - int etSumEtaMaxHt = params_->etSumEtaMax(1); - double etSumEtThresholdHt = params_->etSumEtThreshold(1); - - std::string regionPUSType = params_->regionPUSType(); - std::vector regionPUSParams = params_->regionPUSParams(); - RegionCorrection(regions, EMCands, subRegions, regionPUSParams, regionPUSType); + + //Region Correction will return uncorrected subregions if + //PUSubtract is set to False in the config + RegionCorrection(regions, EMCands, subRegions, regionSubtraction, PUSubtract); for(std::vector::const_iterator region = subRegions->begin(); region != subRegions->end(); region++) { - if (region->hwEta() < etSumEtaMinEt || region->hwEta() > etSumEtaMaxEt) { + if (region->hwEta() < minGctEtaForSums || region->hwEta() > maxGctEtaForSums) { continue; } double regionET= regionPhysicalEt(*region); - if(regionET >= etSumEtThresholdEt){ + // if (region->hwPt()>0) + // std::cout << "ETA/PHI:" << region->hwEta() <<"/" << region->hwPhi() << "\tPhysical Region ET: " << regionET << "\tHardware Region ET: " << region->hwPt() << std::endl; + + if(regionET >= regionETCutForMET){ sumET += (int) regionET; sumEx += (int) (((double) regionET) * cosPhi[region->hwPhi()]); sumEy += (int) (((double) regionET) * sinPhi[region->hwPhi()]); } - } - - for(std::vector::const_iterator region = subRegions->begin(); region != subRegions->end(); region++) { - if (region->hwEta() < etSumEtaMinHt || region->hwEta() > etSumEtaMaxHt) { - continue; - } - - double regionET= regionPhysicalEt(*region); - - if(regionET >= etSumEtThresholdHt) { + if(regionET >= regionETCutForHT) { sumHT += (int) regionET; sumHx += (int) (((double) regionET) * cosPhi[region->hwPhi()]); sumHy += (int) (((double) regionET) * sinPhi[region->hwPhi()]); } } - double MET = ((unsigned int) sqrt(sumEx * sumEx + sumEy * sumEy)); double MHT = ((unsigned int) sqrt(sumHx * sumHx + sumHy * sumHy)); @@ -100,27 +93,22 @@ void l1t::Stage1Layer2EtSumAlgorithmImpPP::processEvent(const std::vector > etLorentz(0,0,0,0); + ROOT::Math::LorentzVector > *etLorentz = + new ROOT::Math::LorentzVector >(); // convert back to hardware ET - l1t::EtSum etMiss(*&etLorentz,EtSum::EtSumType::kMissingEt,MET/jetLsb ,0,iPhiET,0); - l1t::EtSum htMiss(*&etLorentz,EtSum::EtSumType::kMissingHt,MHT/jetLsb ,0,iPhiHT,0); - l1t::EtSum etTot (*&etLorentz,EtSum::EtSumType::kTotalEt,sumET/jetLsb,0,0,0); - l1t::EtSum htTot (*&etLorentz,EtSum::EtSumType::kTotalHt,sumHT/jetLsb ,0,0,0); - - std::vector *preGtEtSums = new std::vector(); - - preGtEtSums->push_back(etMiss); - preGtEtSums->push_back(htMiss); - preGtEtSums->push_back(etTot); - preGtEtSums->push_back(htTot); + l1t::EtSum etMiss(*etLorentz,EtSum::EtSumType::kMissingEt,MET/jetScale ,0,iPhiET,0); + l1t::EtSum htMiss(*etLorentz,EtSum::EtSumType::kMissingHt,MHT/jetScale ,0,iPhiHT,0); + l1t::EtSum etTot (*etLorentz,EtSum::EtSumType::kTotalEt,sumET/jetScale,0,0,0); + l1t::EtSum htTot (*etLorentz,EtSum::EtSumType::kTotalHt,sumHT/jetScale ,0,0,0); - EtSumToGtScales(params_, preGtEtSums, etsums); - - delete subRegions; - delete preGtEtSums; + etsums->push_back(etMiss); + etsums->push_back(htMiss); + etsums->push_back(etTot); + etsums->push_back(htTot); } + diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2FirmwareFactory.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2FirmwareFactory.cc index 7efe17e6a2336..c8c536c3eca73 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2FirmwareFactory.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2FirmwareFactory.cc @@ -15,8 +15,7 @@ #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2MainProcessorFirmware.h" #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2FirmwareFactory.h" -//#include "CondFormats/L1TObjects/interface/CaloParams.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloParamsStage1.h" +#include "CondFormats/L1TObjects/interface/CaloParams.h" using namespace std; using namespace edm; @@ -25,7 +24,7 @@ namespace l1t { Stage1Layer2FirmwareFactory::ReturnType // Stage1Layer2FirmwareFactory::create(const FirmwareVersion & m_fwv /*,const CaloParams & dbPars*/){ - Stage1Layer2FirmwareFactory::create(const int m_fwv ,CaloParamsStage1* dbPars){ + Stage1Layer2FirmwareFactory::create(const int m_fwv ,CaloParams* dbPars){ ReturnType p; //unsigned fwv = m_fwv.firmwareVersion(); //unsigned fwv = 1; @@ -36,8 +35,9 @@ namespace l1t { switch (m_fwv){ case 1: + p = ReturnType(new Stage1Layer2MainProcessorFirmwareImp1(m_fwv, dbPars)); + break; case 2: - case 3: p = ReturnType(new Stage1Layer2MainProcessorFirmwareImp1(m_fwv, dbPars)); break; default: diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2FlowAlgorithm.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2FlowAlgorithm.cc deleted file mode 100644 index 147bf890df80f..0000000000000 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2FlowAlgorithm.cc +++ /dev/null @@ -1,63 +0,0 @@ -/// -/// \class l1t::Stage1Layer2FlowAlgorithm -/// -/// \authors: Maxime Guilbaud -/// R. Alex Barbieri -/// -/// Description: Flow Algorithm HI - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithmImp.h" -#include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" - -l1t::Stage1Layer2FlowAlgorithm::Stage1Layer2FlowAlgorithm(CaloParamsStage1* params) : params_(params) -{ - //now do what ever initialization is needed - //Converting phi to be as it is define at GCT (-pi to pi instead of 0 to 2*pi) - for(unsigned int i = 0; i < L1CaloRegionDetId::N_PHI; i++) { - if(i < 10){ - sinPhi.push_back(sin(2. * 3.1415927 * i * 1.0 / L1CaloRegionDetId::N_PHI)); - cosPhi.push_back(cos(2. * 3.1415927 * i * 1.0 / L1CaloRegionDetId::N_PHI)); - } - else { - sinPhi.push_back(sin(-3.1415927 + 2. * 3.1415927 * (i-9) * 1.0 / L1CaloRegionDetId::N_PHI)); - cosPhi.push_back(cos(-3.1415927 + 2. * 3.1415927 * (i-9) * 1.0 / L1CaloRegionDetId::N_PHI)); - } - } -} - - -l1t::Stage1Layer2FlowAlgorithm::~Stage1Layer2FlowAlgorithm() {} - - -void l1t::Stage1Layer2FlowAlgorithm::processEvent(const std::vector & regions, - const std::vector & EMCands, - const std::vector * taus, - std::vector * spares) { - double q2x = 0; - double q2y = 0; - double regionET=0.; - - for(std::vector::const_iterator region = regions.begin(); region != regions.end(); region++) { - - int ieta=region->hwEta(); - if (ieta > 3 && ieta < 18) { - continue; - } - - int iphi=region->hwPhi(); - regionET=region->hwPt(); - - q2x+= regionET * cosPhi[iphi]; - q2y+= regionET * sinPhi[iphi]; - } - double HFq2 = q2x*q2x+q2y*q2y; - //double psi2 = 0.5 * atan(q2y/q2x); - - ROOT::Math::LorentzVector > dummy(0,0,0,0); - - l1t::CaloSpare V2 (*&dummy,CaloSpare::CaloSpareType::V2,(int)HFq2,0,0,0); - - spares->push_back(V2); -} diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpHI.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpHI.cc index 1fb0d1566d839..04b6beb420d5c 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpHI.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpHI.cc @@ -10,39 +10,32 @@ #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithmImp.h" #include "L1Trigger/L1TCalorimeter/interface/JetFinderMethods.h" #include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" + +// Taken from UCT code. Might not be appropriate. Refers to legacy L1 objects. +#include "DataFormats/L1CaloTrigger/interface/L1CaloRegionDetId.h" + +//#include "DataFormats/Candidate/interface/LeafCandidate.h" +//#include using namespace std; using namespace l1t; -Stage1Layer2JetAlgorithmImpHI::Stage1Layer2JetAlgorithmImpHI(CaloParamsStage1* params) : params_(params) { }; +Stage1Layer2JetAlgorithmImpHI::Stage1Layer2JetAlgorithmImpHI(CaloParams* params) : params_(params) +{ + double jetScale=params_->jetScale(); + jetSeedThreshold= floor( params_->jetSeedThreshold()/jetScale + 0.5); +} +//: regionLSB_(0.5) {} Stage1Layer2JetAlgorithmImpHI::~Stage1Layer2JetAlgorithmImpHI(){}; void Stage1Layer2JetAlgorithmImpHI::processEvent(const std::vector & regions, const std::vector & EMCands, - std::vector * jets){ - - double towerLsb = params_->towerLsbSum(); - int jetSeedThreshold= floor( params_->jetSeedThreshold()/towerLsb + 0.5); + std::vector * jets){ std::vector *subRegions = new std::vector(); - std::vector *preGtJets = new std::vector(); - HICaloRingSubtraction(regions, subRegions); - slidingWindowJetFinder(jetSeedThreshold, subRegions, preGtJets); - JetToGtScales(params_, preGtJets, jets); + slidingWindowJetFinder(jetSeedThreshold, subRegions, jets); delete subRegions; - delete preGtJets; - - //the jets should be sorted, highest pT first. - // do not truncate the tau list, GT converter handles that - auto comp = [&](l1t::Jet i, l1t::Jet j)-> bool { - return (i.hwPt() < j.hwPt() ); - }; - - std::sort(jets->begin(), jets->end(), comp); - std::reverse(jets->begin(), jets->end()); - } diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpPP.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpPP.cc index 6b18168ca67d5..fbc742d5a91b8 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpPP.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpPP.cc @@ -11,12 +11,25 @@ #include "L1Trigger/L1TCalorimeter/interface/JetFinderMethods.h" #include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" #include "L1Trigger/L1TCalorimeter/interface/JetCalibrationMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" + +// Taken from UCT code. Might not be appropriate. Refers to legacy L1 objects. +#include "DataFormats/L1CaloTrigger/interface/L1CaloRegionDetId.h" + +//#include "DataFormats/Candidate/interface/LeafCandidate.h" using namespace std; using namespace l1t; -Stage1Layer2JetAlgorithmImpPP::Stage1Layer2JetAlgorithmImpPP(CaloParamsStage1* params) : params_(params) {}; +Stage1Layer2JetAlgorithmImpPP::Stage1Layer2JetAlgorithmImpPP(CaloParams* params) : params_(params) +{ + double jetScale=params_->jetScale(); + jetSeedThreshold= floor( params_->jetSeedThreshold()/jetScale + 0.5); + PUSubtract = params_->PUSubtract(); + regionSubtraction = params_->regionSubtraction(); + applyJetCalibration = params_->applyJetCalibration(); + jetSF = params_->jetSF(); +} +//: regionLSB_(0.5) {} Stage1Layer2JetAlgorithmImpPP::~Stage1Layer2JetAlgorithmImpPP(){}; @@ -28,39 +41,27 @@ void Stage1Layer2JetAlgorithmImpPP::processEvent(const std::vector * subRegions = new std::vector(); std::vector * uncalibjets = new std::vector(); - std::vector * preGtJets = new std::vector(); - - double towerLsb = params_->towerLsbSum(); - int jetSeedThreshold = floor( params_->jetSeedThreshold()/towerLsb + 0.5); - std::string regionPUSType = params_->regionPUSType(); - std::vector regionPUSParams = params_->regionPUSParams(); - std::string jetCalibrationType = params_->jetCalibrationType(); - std::vector jetCalibrationParams = params_->jetCalibrationParams(); - - //Region Correction will return uncorrected subregions - //if regionPUSType is set to None in the config - RegionCorrection(regions, EMCands, subRegions, regionPUSParams, regionPUSType); - + + //Region Correction will return uncorrected subregions + //if PUSubtract is set to False in the config + RegionCorrection(regions, EMCands, subRegions, regionSubtraction, PUSubtract); + + slidingWindowJetFinder(jetSeedThreshold, subRegions, uncalibjets); //will return jets with no response corrections - //if jetCalibrationType is set to None in the config - JetCalibration(uncalibjets, jetCalibrationParams, preGtJets, jetCalibrationType, towerLsb); + //if applyJetCalibration is set to False in the config + JetCalibration1(uncalibjets, jetSF, jets, applyJetCalibration,params_->jetScale()); - // takes input jets (using region scales/eta) and outputs jets using Gt scales/eta - JetToGtScales(params_, preGtJets, jets); delete subRegions; delete uncalibjets; - delete preGtJets; - //the jets should be sorted, highest pT first. - // do not truncate the tau list, GT converter handles that - auto comp = [&](l1t::Jet i, l1t::Jet j)-> bool { - return (i.hwPt() < j.hwPt() ); - }; + // std::vector::const_iterator incell; + // for (incell = regions.begin(); incell != regions.end(); ++incell){ + // //do nothing for now + // } - std::sort(jets->begin(), jets->end(), comp); - std::reverse(jets->begin(), jets->end()); } + diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpSimpleHW.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpSimpleHW.cc deleted file mode 100644 index 6e4f95318fccb..0000000000000 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2JetAlgorithmImpSimpleHW.cc +++ /dev/null @@ -1,110 +0,0 @@ -/// -/// \class l1t::Stage1Layer2JetAlgorithmImpSimpleHW -/// -/// -/// \author: R. Alex Barbieri MIT -/// - -// This is a simple algorithm for use in comparing with early versions of the Stage1 firmware - -#include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithmImp.h" -#include "L1Trigger/L1TCalorimeter/interface/JetFinderMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" -#include "L1Trigger/L1TCalorimeter/interface/HardwareSortingMethods.h" - -#include -#include - -using namespace std; -using namespace l1t; - -unsigned int pack15bits(int pt, int eta, int phi); - -Stage1Layer2JetAlgorithmImpSimpleHW::Stage1Layer2JetAlgorithmImpSimpleHW(CaloParamsStage1* params) : params_(params) -{ -} - -Stage1Layer2JetAlgorithmImpSimpleHW::~Stage1Layer2JetAlgorithmImpSimpleHW(){}; - -void Stage1Layer2JetAlgorithmImpSimpleHW::processEvent(const std::vector & regions, - const std::vector & EMCands, - std::vector * jets){ - - std::vector *subRegions = new std::vector(); - std::vector *preGtJets = new std::vector(); - std::vector *sortedJets = new std::vector(); - - simpleHWSubtraction(regions, subRegions); - //passThroughJets(subRegions, preGtJets); - slidingWindowJetFinder(0, subRegions, preGtJets); - - //passThroughJets(®ions,preGtJets); - //slidingWindowJetFinder(0, ®ions, preGtJets); - - //the jets should be sorted, highest pT first. - // do not truncate the tau list, GT converter handles that - // auto comp = [&](l1t::Jet i, l1t::Jet j)-> bool { - // return (i.hwPt() < j.hwPt() ); - // }; - - // std::sort(preGtJets->begin(), preGtJets->end(), comp); - // std::reverse(preGtJets->begin(), preGtJets->end()); - // sortedJets = preGtJets; - - // for(unsigned i = 0; i < preGtJets->size(); ++i) - // cout << preGtJets->at(i).hwPt() << "\t" << preGtJets->at(i).hwEta() << "\t" << preGtJets->at(i).hwPhi() << endl; - - SortJets(preGtJets, sortedJets); - - // for(unsigned i = 0; i < sortedJets->size(); ++i) - // cout << sortedJets->at(i).hwPt() << "\t" << sortedJets->at(i).hwEta() << "\t" << sortedJets->at(i).hwPhi() << endl; - - // drop the 4 LSB before passing to GT - // for(std::vector::const_iterator itJet = sortedJets->begin(); - // itJet != sortedJets->end(); ++itJet){ - // const unsigned newEta = gtEta(itJet->hwEta()); - // //const unsigned newEta = itJet->hwEta(); - // //std::cout << "pre drop: " << itJet->hwPt(); - // const uint16_t rankPt = (itJet->hwPt() >> 8); - // //std::cout << " post drop: " << rankPt << std::endl; - // ROOT::Math::LorentzVector > ldummy(0,0,0,0); - // l1t::Jet gtJet(*&ldummy, rankPt, newEta, itJet->hwPhi(), itJet->hwQual()); - // jets->push_back(gtJet); - // } - JetToGtScales(params_, sortedJets, jets); - - - int cJets = 0; - int fJets = 0; - printf("Central\n"); - //printf("pt\teta\tphi\n"); - for(std::vector::const_iterator itJet = jets->begin(); - itJet != jets->end(); ++itJet){ - if(itJet->hwQual() == 2) continue; - cJets++; - unsigned int packed = pack15bits(itJet->hwPt(), itJet->hwEta(), itJet->hwPhi()); - cout << bitset<15>(packed).to_string() << endl; - if(cJets == 4) break; - } - - printf("Forward\n"); - //printf("pt\teta\tphi\n"); - for(std::vector::const_iterator itJet = jets->begin(); - itJet != jets->end(); ++itJet){ - if(itJet->hwQual() != 2) continue; - fJets++; - unsigned int packed = pack15bits(itJet->hwPt(), itJet->hwEta(), itJet->hwPhi()); - cout << bitset<15>(packed).to_string() << endl; - if(fJets == 4) break; - } - - delete subRegions; - delete preGtJets; - delete sortedJets; -} - -unsigned int pack15bits(int pt, int eta, int phi) -{ - return( ((pt & 0x3f)) + ((eta & 0xf) << 6) + ((phi & 0x1f) << 10)); -} diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2MainProcessorFirmwareImp1.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2MainProcessorFirmwareImp1.cc index 3ebe37263c7fb..ede4dd767059e 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2MainProcessorFirmwareImp1.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2MainProcessorFirmwareImp1.cc @@ -11,78 +11,48 @@ #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2EtSumAlgorithmImp.h" #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2JetAlgorithmImp.h" #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithmImp.h" -#include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFRingSumAlgorithmImp.h" -#include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2HFBitCountAlgorithmImp.h" using namespace std; using namespace l1t; -// Stage1Layer2MainProcessorFirmwareImp1::Stage1Layer2MainProcessorFirmwareImp1(/*const CaloParamsStage1 & dbPars*/ -Stage1Layer2MainProcessorFirmwareImp1::Stage1Layer2MainProcessorFirmwareImp1(const int fwv, CaloParamsStage1* dbPars) : m_fwv(fwv), m_db(dbPars) { +// Stage1Layer2MainProcessorFirmwareImp1::Stage1Layer2MainProcessorFirmwareImp1(/*const CaloParams & dbPars*/ +Stage1Layer2MainProcessorFirmwareImp1::Stage1Layer2MainProcessorFirmwareImp1(const int fwv, CaloParams* dbPars) : m_fwv(fwv), m_db(dbPars) {} + +Stage1Layer2MainProcessorFirmwareImp1::~Stage1Layer2MainProcessorFirmwareImp1(){}; + +void Stage1Layer2MainProcessorFirmwareImp1::processEvent(const std::vector & emcands, + const std::vector & regions, + std::vector * egammas, + std::vector * taus, + std::vector * jets, + std::vector * etsums){ + if (m_fwv == 1) { //HI algo m_egAlgo = new Stage1Layer2EGammaAlgorithmImpPP(m_db); m_sumAlgo = new Stage1Layer2EtSumAlgorithmImpPP(m_db); m_jetAlgo = new Stage1Layer2JetAlgorithmImpHI(m_db); //fwv =1 => HI algo - m_tauAlgo = new Stage1Layer2SingleTrackHI(m_db); //fwv=1 => single track seed - m_hfRingAlgo = new Stage1Layer2FlowAlgorithm(m_db); - m_hfBitAlgo = new Stage1Layer2CentralityAlgorithm(m_db); + m_tauAlgo = new Stage1Layer2SingleTrackHI(/*m_db*/); } else if( m_fwv == 2 ) { //PP algorithm m_egAlgo = new Stage1Layer2EGammaAlgorithmImpPP(m_db); m_sumAlgo = new Stage1Layer2EtSumAlgorithmImpPP(m_db); m_jetAlgo = new Stage1Layer2JetAlgorithmImpPP(m_db); //fwv =2 => PP algo - m_tauAlgo = new Stage1Layer2TauAlgorithmImpPP(m_db); - m_hfRingAlgo = new Stage1Layer2DiTauAlgorithm(m_db); - m_hfBitAlgo = NULL; - } - else if ( m_fwv == 3 ) - { // hw testing algorithms - m_jetAlgo = new Stage1Layer2JetAlgorithmImpSimpleHW(m_db); - m_egAlgo = NULL; - m_sumAlgo = NULL; - m_tauAlgo = NULL; - m_hfRingAlgo = NULL; - m_hfBitAlgo = NULL; + m_tauAlgo = new Stage1Layer2TauAlgorithmImpPP(m_db); } + // else if( m_fwv.firmwareVersion() == 3 ) + // { + // //m_tauAlgo = new Stage1Layer2SingleTrackHI(/*m_db*/); + // } else{ // undefined fwv version edm::LogError("FWVersionError") << "Undefined firmware version passed to Stage1Layer2MainProcessorFirmwareImp1" << std::endl; return; } -} - -Stage1Layer2MainProcessorFirmwareImp1::~Stage1Layer2MainProcessorFirmwareImp1(){ - delete m_jetAlgo; - delete m_egAlgo; - delete m_tauAlgo; - delete m_sumAlgo; - delete m_hfRingAlgo; - delete m_hfBitAlgo; -}; - -void Stage1Layer2MainProcessorFirmwareImp1::processEvent(const std::vector & emcands, - const std::vector & regions, - std::vector * egammas, - std::vector * taus, - std::vector * jets, - std::vector * etsums, - std::vector * calospares){ - if(m_jetAlgo) - m_jetAlgo->processEvent(regions, emcands, jets); // need to run jets before egammas and taus for rel. isol. cuts - if(m_egAlgo) - { - // printf("%p\n",m_egAlgo); - m_egAlgo->processEvent(emcands, regions, jets, egammas); - } - if(m_tauAlgo) - m_tauAlgo->processEvent(emcands, regions, jets, taus); - if(m_sumAlgo) - m_sumAlgo->processEvent(regions, emcands, etsums); - if(m_hfRingAlgo) - m_hfRingAlgo->processEvent(regions, emcands, taus, calospares); - if(m_hfBitAlgo) - m_hfBitAlgo->processEvent(regions, emcands, calospares); + m_jetAlgo->processEvent(regions, emcands, jets); // need to run jets before egammas and taus for rel. isol. cuts + m_egAlgo->processEvent(emcands, regions, jets, egammas); + m_tauAlgo->processEvent(emcands, regions, jets, taus); + m_sumAlgo->processEvent(regions, emcands, etsums); } diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2SingleTrackHI.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2SingleTrackHI.cc index 30f1d22ee2d22..f0f0950dd5804 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2SingleTrackHI.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2SingleTrackHI.cc @@ -1,39 +1,25 @@ -// Stage1Layer2SingleTrackHI.cc -// Authors: Michael Northup -// Alex Barbieri -// -// This is a special-purpose single-track seed trigger which uses the -// Tau channel to communicate with GT. Be wary of any naming scheme -// because we are masquerading as both a tau and track trigger when -// we are really just looking for the hottest region. - - #include "L1Trigger/L1TCalorimeter/interface/Stage1Layer2TauAlgorithmImp.h" #include "DataFormats/L1CaloTrigger/interface/L1CaloRegionDetId.h" #include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" -l1t::Stage1Layer2SingleTrackHI::Stage1Layer2SingleTrackHI(CaloParamsStage1* params) : params_(params) {} +l1t::Stage1Layer2SingleTrackHI::Stage1Layer2SingleTrackHI() {} l1t::Stage1Layer2SingleTrackHI::~Stage1Layer2SingleTrackHI(){}; void findRegions(const std::vector * sr, std::vector * t); -void l1t::Stage1Layer2SingleTrackHI::processEvent(const std::vector & clusters, - const std::vector & regions, - const std::vector * jets, - std::vector * taus) +void l1t::Stage1Layer2SingleTrackHI::processEvent(/*const std::vector & clusters,*/ + const std::vector & clusters, + const std::vector & regions, + const std::vector * jets, + std::vector * taus) { - std::vector *subRegions = new std::vector(); - std::vector *preGtTaus = new std::vector(); + std::vector *subRegions = new std::vector(); + HICaloRingSubtraction(regions, subRegions); + findRegions(subRegions, taus); - HICaloRingSubtraction(regions, subRegions); - findRegions(subRegions, preGtTaus); - TauToGtScales(params_, preGtTaus, taus); - - delete subRegions; - delete preGtTaus; + delete subRegions; } void findRegions(const std::vector * sr, std::vector * t) @@ -45,7 +31,6 @@ void findRegions(const std::vector * sr, std::vector for(std::vector::const_iterator region = sr->begin(); region != sr->end(); region++) { int regionET = region->hwPt(); - if((region->hwEta() < 4) || (region->hwEta() > 17)) continue; if (regionET > regionETMax) { regionETMax = regionET; @@ -53,9 +38,9 @@ void findRegions(const std::vector * sr, std::vector regionETMaxPhi = region->hwPhi(); } } - - ROOT::Math::LorentzVector > TauLorentz(0,0,0,0); - l1t::Tau taucand(*&TauLorentz,regionETMax,regionETMaxEta,regionETMaxPhi); + ROOT::Math::LorentzVector > *TauLorentz + = new ROOT::Math::LorentzVector >(); + l1t::Tau taucand(*TauLorentz,regionETMax,regionETMaxEta,regionETMaxPhi); //don't push a taucand we didn't actually find if(taucand.hwPt() > 0) diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2TauAlgorithmImpPP.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2TauAlgorithmImpPP.cc index 3731f100e9866..7094b15b8a7dc 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2TauAlgorithmImpPP.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage1Layer2TauAlgorithmImpPP.cc @@ -13,16 +13,26 @@ #include "DataFormats/L1CaloTrigger/interface/L1CaloRegionDetId.h" #include "L1Trigger/L1TCalorimeter/interface/PUSubtractionMethods.h" #include "L1Trigger/L1TCalorimeter/interface/JetFinderMethods.h" -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" using namespace std; using namespace l1t; -Stage1Layer2TauAlgorithmImpPP::Stage1Layer2TauAlgorithmImpPP(CaloParamsStage1* params) : params_(params) +Stage1Layer2TauAlgorithmImpPP::Stage1Layer2TauAlgorithmImpPP(CaloParams* params) : params_(params) { + jetScale=params_->jetScale(); + + PUSubtract = params_->PUSubtract(); + regionSubtraction = params_->regionSubtraction(); + tauSeedThreshold= floor( params_->tauSeedThreshold()/jetScale + 0.5); // convert GeV to HW units + jetSeedThreshold= floor( params_->jetSeedThreshold()/jetScale + 0.5); // convert GeV to HW units + tauRelativeJetIsolationCut = params_->tauRelativeJetIsolationCut(); + + double dswitchOffTauIso(60.); // value at which to switch of Tau iso requirement (GeV) do2x1Algo=false; + + switchOffTauIso= floor( dswitchOffTauIso/jetScale + 0.5); // convert GeV to HW units } Stage1Layer2TauAlgorithmImpPP::~Stage1Layer2TauAlgorithmImpPP(){}; @@ -30,80 +40,63 @@ Stage1Layer2TauAlgorithmImpPP::~Stage1Layer2TauAlgorithmImpPP(){}; -void l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(const std::vector & EMCands, - const std::vector & regions, +void l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(const std::vector & EMCands, + const std::vector & regions, const std::vector * jets, std::vector * taus) { - double towerLsb = params_->towerLsbSum(); - - std::string regionPUSType = params_->regionPUSType(); - std::vector regionPUSParams = params_->regionPUSParams(); - int tauSeedThreshold= floor( params_->tauSeedThreshold()/towerLsb + 0.5); // convert GeV to HW units - int jetSeedThreshold= floor( params_->jetSeedThreshold()/towerLsb + 0.5); // convert GeV to HW units - double tauRelativeJetIsolationCut = params_->tauRelativeJetIsolationCut(); - - double dswitchOffTauIso(100.); // value at which to switch of Tau iso requirement (GeV) - int switchOffTauIso= floor( dswitchOffTauIso/towerLsb + 0.5); // convert GeV to HW units - std::vector *subRegions = new std::vector(); - - //Region Correction will return uncorrected subregions if - //regionPUSType is set to None in the config - RegionCorrection(regions, EMCands, subRegions, regionPUSParams, regionPUSType); - + + //Region Correction will return uncorrected subregions if + //PUSubtract is set to False in the config + RegionCorrection(regions, EMCands, subRegions, regionSubtraction, PUSubtract); + // ----- need to cluster jets in order to compute jet isolation ---- std::vector *unCorrJets = new std::vector(); - //slidingWindowJetFinder(jetSeedThreshold, subRegions, unCorrJets); - TwelveByTwelveFinder(jetSeedThreshold, subRegions, unCorrJets); + slidingWindowJetFinder(jetSeedThreshold, subRegions, unCorrJets); - std::vector *preGtTaus = new std::vector(); for(CaloRegionBxCollection::const_iterator region = subRegions->begin(); region != subRegions->end(); region++) { - int regionEt = region->hwPt(); + int regionEt = region->hwPt(); if(regionEt < tauSeedThreshold) continue; - + double isolation; - int associatedSecondRegionEt = + int associatedSecondRegionEt = AssociatedSecondRegionEt(region->hwEta(), region->hwPhi(), *subRegions, isolation); - + int tauEt=regionEt; if(do2x1Algo && associatedSecondRegionEt>tauSeedThreshold) tauEt +=associatedSecondRegionEt; - ROOT::Math::LorentzVector > tauLorentz(0,0,0,0); + ROOT::Math::LorentzVector > *tauLorentz = + new ROOT::Math::LorentzVector >(); - l1t::Tau theTau(*&tauLorentz, tauEt, region->hwEta(), region->hwPhi()); + l1t::Tau theTau(*tauLorentz, tauEt, region->hwEta(), region->hwPhi()); double jetIsolation = JetIsolation(tauEt, region->hwEta(), region->hwPhi(), *unCorrJets); // if (tauEt >200) // cout << "tauET: " << tauEt << " tauETA: " << region->hwEta() << " tauPHI: " << region->hwPhi() - // << " jetIso: " << jetIsolation << " Cut: " << tauRelativeJetIsolationCut + // << " jetIso: " << jetIsolation << " Cut: " << tauRelativeJetIsolationCut // << " Seed Threshold: " << tauSeedThreshold << endl; - if( tauEt >0 && (jetIsolation < tauRelativeJetIsolationCut || tauEt > switchOffTauIso || abs(jetIsolation-999.)<0.1 )) - preGtTaus->push_back(theTau); + if( tauEt >0 && (jetIsolation < tauRelativeJetIsolationCut || tauEt > switchOffTauIso)) + taus->push_back(theTau); } - TauToGtScales(params_, preGtTaus, taus); - - delete subRegions; - delete unCorrJets; - delete preGtTaus; //the taus should be sorted, highest pT first. // do not truncate the tau list, GT converter handles that auto comp = [&](l1t::Tau i, l1t::Tau j)-> bool { - return (i.hwPt() < j.hwPt() ); + return (i.hwPt() < j.hwPt() ); }; std::sort(taus->begin(), taus->end(), comp); @@ -120,7 +113,7 @@ void l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(const std::vector & regions, + const std::vector & regions, double& isolation) const { int highestNeighborEt = 0; isolation = 0; @@ -131,14 +124,14 @@ int l1t::Stage1Layer2TauAlgorithmImpPP::AssociatedSecondRegionEt(int ieta, int i int regionPhi = region->hwPhi(); int regionEta = region->hwEta(); unsigned int deltaPhi = iphi - regionPhi; - if (std::abs(deltaPhi) == L1CaloRegionDetId::N_PHI-1) + if (std::abs(deltaPhi) == L1CaloRegionDetId::N_PHI-1) deltaPhi = -deltaPhi/std::abs(deltaPhi); //18 regions in phi unsigned int deltaEta = std::abs(ieta - regionEta); if ((deltaPhi + deltaEta) > 0 && deltaPhi < 2 && deltaEta < 2) { - int regionEt = region->hwPt(); + int regionEt = region->hwPt(); isolation += regionEt; if (regionEt > highestNeighborEt) highestNeighborEt = regionEt; } @@ -160,7 +153,7 @@ double l1t::Stage1Layer2TauAlgorithmImpPP::JetIsolation(int et, int ieta, int ip jet != jets.end(); jet++) { if (ieta==jet->hwEta() && iphi==jet->hwPhi()){ - + //if (et >200) // cout << "ISOL: tauET: " << et << " jetET: " << jet->hwPt() << endl; diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2ClusterAlgorithmFirmwareImp1.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2ClusterAlgorithmFirmwareImp1.cc index e1732629be35c..3c67224b055b7 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2ClusterAlgorithmFirmwareImp1.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2ClusterAlgorithmFirmwareImp1.cc @@ -16,23 +16,13 @@ l1t::Stage2Layer2ClusterAlgorithmFirmwareImp1::Stage2Layer2ClusterAlgorithmFirmwareImp1(CaloParams* params, ClusterInput clusterInput) : m_clusterInput(clusterInput), - m_trimCorners(true), params_(params) { - if (m_clusterInput==E) { - m_seedThreshold = floor(params_->egSeedThreshold()/params_->towerLsbE()); - m_clusterThreshold = floor(params_->egNeighbourThreshold()/params_->towerLsbE()); - } - if (m_clusterInput==H) { - m_seedThreshold = floor(params_->egSeedThreshold()/params_->towerLsbH()); - m_clusterThreshold = floor(params_->egNeighbourThreshold()/params_->towerLsbH()); - } - else { - m_seedThreshold = floor(params_->egSeedThreshold()/params_->towerLsbSum()); - m_clusterThreshold = floor(params_->egNeighbourThreshold()/params_->towerLsbSum()); - } - m_hcalThreshold = floor(params_->egHcalThreshold()/params_->towerLsbH()); + + m_seedThreshold = params_->egSeedThresholdHw(); + m_clusterThreshold = params_->egNeighbourThresholdHw(); + } @@ -63,28 +53,47 @@ void l1t::Stage2Layer2ClusterAlgorithmFirmwareImp1::clustering(const std::vector if(m_clusterInput==E) hwEt = towers[towerNr].hwEtEm(); else if(m_clusterInput==H) hwEt = towers[towerNr].hwEtHad(); else if(m_clusterInput==EH) hwEt = towers[towerNr].hwEtEm() + towers[towerNr].hwEtHad(); - int hwEtEm = towers[towerNr].hwEtEm(); - int hwEtHad = towers[towerNr].hwEtHad(); if(hwEt>=m_seedThreshold) { math::XYZTLorentzVector emptyP4; clusters.push_back( CaloCluster(emptyP4, hwEt, iEta, iPhi) ); - clusters.back().setHwPtEm(hwEtEm); - clusters.back().setHwPtHad(hwEtHad); + clusters.back().setClusterFlag(CaloCluster::PASS_THRES_SEED); clusters.back().setHwSeedPt(hwEt); // H/E of the cluster is H/E of the seed - int hwEtHadTh = (towers[towerNr].hwEtHad()>=m_hcalThreshold ? towers[towerNr].hwEtHad() : 0); - int hOverE = (towers[towerNr].hwEtEm()>0 ? (hwEtHadTh<<8)/towers[towerNr].hwEtEm() : 255); - if(hOverE>255) hOverE = 255; // bound H/E at 1-? In the future it will be useful to replace with H/(E+H) (or add an other variable), for taus. + int hOverE = (towers[towerNr].hwEtEm()>0 ? (towers[towerNr].hwEtHad()<<7)/towers[towerNr].hwEtEm() : 127); + if(hOverE>127) hOverE = 127; // bound H/E at 1-? In the future it will be useful to replace with H/(E+H) (or add an other variable), for taus. clusters.back().setHOverE(hOverE); - // FG of the cluster is FG of the seed - bool fg = (towers[towerNr].hwQual() & (0x1<<2)); - clusters.back().setFgECAL((int)fg); } } + // Filter seed: keep only local maxima + for(size_t clusterNr=0;clusterNr cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterN .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterNE.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterE .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterSE.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterS .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterSW.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterW .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + } - - // check if neighbour towers are below clustering threshold + // add neighbor towers to the seed for(size_t clusterNr=0;clusterNr=m_clusterThreshold ? towerEtNW : 0); + towerEtN = (towerEtN >=m_clusterThreshold ? towerEtN : 0); + towerEtNE = (towerEtNE>=m_clusterThreshold ? towerEtNE : 0); + towerEtE = (towerEtE >=m_clusterThreshold ? towerEtE : 0); + towerEtSE = (towerEtSE>=m_clusterThreshold ? towerEtSE : 0); + towerEtS = (towerEtS >=m_clusterThreshold ? towerEtS : 0); + towerEtSW = (towerEtSW>=m_clusterThreshold ? towerEtSW : 0); + towerEtW = (towerEtW >=m_clusterThreshold ? towerEtW : 0); + cluster.setHwPt( cluster.hwPt()+ + towerEtNW+ + towerEtN+ + towerEtNE+ + towerEtE+ + towerEtSE+ + towerEtS+ + towerEtSW+ + towerEtW); } } @@ -180,90 +176,60 @@ void l1t::Stage2Layer2ClusterAlgorithmFirmwareImp1::filtering(const std::vector< // navigator l1t::CaloStage2Nav caloNav; - // Filter: keep only local maxima - // If two neighbor seeds have the same energy, favor the most central one + // Filter cluster: keep only local maxima + // If two neighbor clusters have the same energy, favor the most central one for(size_t clusterNr=0;clusterNr1){ - if(clusterNW.hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterN .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterNE.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterE .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterSE.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterS .hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterSW.hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterW .hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - // NOT_IN_FIRMWARE - if(towerEtN >= m_clusterThreshold && clusterNN.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(towerEtS >= m_clusterThreshold && clusterSS.hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - // END NOT_IN_FIRMWARE - } - else if(iEta<0){ - if(clusterNW.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterN .hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterNE.hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterE .hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterSE.hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterS .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterSW.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterW .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - // NOT_IN_FIRMWARE - if(towerEtN >= m_clusterThreshold && clusterNN.hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(towerEtS >= m_clusterThreshold && clusterSS.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - // END NOT_IN_FIRMWARE - } - else{ // iEta==1 - if(clusterNW.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterN .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterNE.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterE .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterSE.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterS .hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterSW.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(clusterW .hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - // NOT_IN_FIRMWARE - if(towerEtN >= m_clusterThreshold && clusterNN.hwPt() > cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - if(towerEtS >= m_clusterThreshold && clusterSS.hwPt() >= cluster.hwPt()) cluster.setClusterFlag(CaloCluster::INCLUDE_SEED, false); - // END NOT_IN_FIRMWARE + if( cluster.isValid() ){ + int iEta = cluster.hwEta(); + int iPhi = cluster.hwPhi(); + int iEtaP = caloNav.offsetIEta(iEta, 1); + int iEtaM = caloNav.offsetIEta(iEta, -1); + int iPhiP = caloNav.offsetIPhi(iPhi, 1); + int iPhiM = caloNav.offsetIPhi(iPhi, -1); + const l1t::CaloCluster& clusterNW = l1t::CaloTools::getCluster(clusters, iEtaM, iPhiM); + const l1t::CaloCluster& clusterN = l1t::CaloTools::getCluster(clusters, iEta , iPhiM); + const l1t::CaloCluster& clusterNE = l1t::CaloTools::getCluster(clusters, iEtaP, iPhiM); + const l1t::CaloCluster& clusterE = l1t::CaloTools::getCluster(clusters, iEtaP, iPhi ); + const l1t::CaloCluster& clusterSE = l1t::CaloTools::getCluster(clusters, iEtaP, iPhiP); + const l1t::CaloCluster& clusterS = l1t::CaloTools::getCluster(clusters, iEta , iPhiP); + const l1t::CaloCluster& clusterSW = l1t::CaloTools::getCluster(clusters, iEtaM, iPhiP); + const l1t::CaloCluster& clusterW = l1t::CaloTools::getCluster(clusters, iEtaM, iPhi ); + if(iEta>1) + { + if(clusterNW.hwSeedPt()==cluster.hwSeedPt() && clusterNW.hwPt()>=cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterN .hwSeedPt()==cluster.hwSeedPt() && clusterN .hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterNE.hwSeedPt()==cluster.hwSeedPt() && clusterNE.hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterE .hwSeedPt()==cluster.hwSeedPt() && clusterE .hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterSE.hwSeedPt()==cluster.hwSeedPt() && clusterSE.hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterS .hwSeedPt()==cluster.hwSeedPt() && clusterS .hwPt()>=cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterSW.hwSeedPt()==cluster.hwSeedPt() && clusterSW.hwPt()>=cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterW .hwSeedPt()==cluster.hwSeedPt() && clusterW .hwPt()>=cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + } + else if(iEta<0) + { + if(clusterNW.hwSeedPt()==cluster.hwSeedPt() && clusterNW.hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterN .hwSeedPt()==cluster.hwSeedPt() && clusterN .hwPt()>=cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterNE.hwSeedPt()==cluster.hwSeedPt() && clusterNE.hwPt()>=cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterE .hwSeedPt()==cluster.hwSeedPt() && clusterE .hwPt()>=cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterSE.hwSeedPt()==cluster.hwSeedPt() && clusterSE.hwPt()>=cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterS .hwSeedPt()==cluster.hwSeedPt() && clusterS .hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterSW.hwSeedPt()==cluster.hwSeedPt() && clusterSW.hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterW .hwSeedPt()==cluster.hwSeedPt() && clusterW .hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + } + else // iEta==1 + { + if(clusterNW.hwSeedPt()==cluster.hwSeedPt() && clusterNW.hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterN .hwSeedPt()==cluster.hwSeedPt() && clusterN .hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterNE.hwSeedPt()==cluster.hwSeedPt() && clusterNE.hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterE .hwSeedPt()==cluster.hwSeedPt() && clusterE .hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterSE.hwSeedPt()==cluster.hwSeedPt() && clusterSE.hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterS .hwSeedPt()==cluster.hwSeedPt() && clusterS .hwPt()>=cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterSW.hwSeedPt()==cluster.hwSeedPt() && clusterSW.hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + if(clusterW .hwSeedPt()==cluster.hwSeedPt() && clusterW .hwPt()> cluster.hwPt()) cluster.setClusterFlag(CaloCluster::PASS_FILTER_CLUSTER, false); + } } } - } @@ -283,12 +249,8 @@ void l1t::Stage2Layer2ClusterAlgorithmFirmwareImp1::sharing(const std::vector1 - bool filterNNWW = (clusterNNWW.hwPt() >= cluster.hwPt()); - bool filterNNW = (clusterNNW .hwPt() >= cluster.hwPt()); - bool filterNN = (clusterNN .hwPt() > cluster.hwPt()); - bool filterNNE = (clusterNNE .hwPt() > cluster.hwPt()); - bool filterNNEE = (clusterNNEE.hwPt() > cluster.hwPt()); - bool filterNEE = (clusterNEE .hwPt() > cluster.hwPt()); - bool filterEE = (clusterEE .hwPt() > cluster.hwPt()); - bool filterSEE = (clusterSEE .hwPt() > cluster.hwPt()); - bool filterSSEE = (clusterSSEE.hwPt() > cluster.hwPt()); - bool filterSSE = (clusterSSE .hwPt() > cluster.hwPt()); - bool filterSS = (clusterSS .hwPt() >= cluster.hwPt()); - bool filterSSW = (clusterSSW .hwPt() >= cluster.hwPt()); - bool filterSSWW = (clusterSSWW.hwPt() >= cluster.hwPt()); - bool filterSWW = (clusterSWW .hwPt() >= cluster.hwPt()); - bool filterWW = (clusterWW .hwPt() >= cluster.hwPt()); - bool filterNWW = (clusterNWW .hwPt() >= cluster.hwPt()); - bool filterNNNW = (clusterNNNW.hwPt() >= cluster.hwPt()); - bool filterNNN = (clusterNNN .hwPt() > cluster.hwPt()); - bool filterNNNE = (clusterNNNE.hwPt() > cluster.hwPt()); - bool filterSSSW = (clusterSSSW.hwPt() >= cluster.hwPt()); - bool filterSSS = (clusterSSS .hwPt() >= cluster.hwPt()); - bool filterSSSE = (clusterSSSE.hwPt() > cluster.hwPt()); - bool filterNNNN = (clusterNNNN.hwPt() > cluster.hwPt()); - bool filterSSSS = (clusterSSSS.hwPt() >= cluster.hwPt()); - if(iEta<-1){ - filterNNWW = (clusterNNWW.hwPt() > cluster.hwPt()); - filterNNW = (clusterNNW .hwPt() > cluster.hwPt()); - filterNN = (clusterNN .hwPt() >= cluster.hwPt()); - filterNNE = (clusterNNE .hwPt() >= cluster.hwPt()); - filterNNEE = (clusterNNEE.hwPt() >= cluster.hwPt()); - filterNEE = (clusterNEE .hwPt() >= cluster.hwPt()); - filterEE = (clusterEE .hwPt() >= cluster.hwPt()); - filterSEE = (clusterSEE .hwPt() >= cluster.hwPt()); - filterSSEE = (clusterSSEE.hwPt() >= cluster.hwPt()); - filterSSE = (clusterSSE .hwPt() >= cluster.hwPt()); - filterSS = (clusterSS .hwPt() > cluster.hwPt()); - filterSSW = (clusterSSW .hwPt() > cluster.hwPt()); - filterSSWW = (clusterSSWW.hwPt() > cluster.hwPt()); - filterSWW = (clusterSWW .hwPt() > cluster.hwPt()); - filterWW = (clusterWW .hwPt() > cluster.hwPt()); - filterNWW = (clusterNWW .hwPt() > cluster.hwPt()); - filterNNNW = (clusterNNNW.hwPt() > cluster.hwPt()); - filterNNN = (clusterNNN .hwPt() >= cluster.hwPt()); - filterNNNE = (clusterNNNE.hwPt() >= cluster.hwPt()); - filterSSSW = (clusterSSSW.hwPt() > cluster.hwPt()); - filterSSS = (clusterSSS .hwPt() > cluster.hwPt()); - filterSSSE = (clusterSSSE.hwPt() >= cluster.hwPt()); - filterNNNN = (clusterNNNN.hwPt() >= cluster.hwPt()); - filterSSSS = (clusterSSSS.hwPt() > cluster.hwPt()); - } - else if(iEta==1){ - filterNNWW = (clusterNNWW.hwPt() > cluster.hwPt()); - filterNNW = (clusterNNW .hwPt() > cluster.hwPt()); - filterNN = (clusterNN .hwPt() > cluster.hwPt()); - filterNNE = (clusterNNE .hwPt() > cluster.hwPt()); - filterNNEE = (clusterNNEE.hwPt() > cluster.hwPt()); - filterNEE = (clusterNEE .hwPt() > cluster.hwPt()); - filterEE = (clusterEE .hwPt() > cluster.hwPt()); - filterSEE = (clusterSEE .hwPt() > cluster.hwPt()); - filterSSEE = (clusterSSEE.hwPt() > cluster.hwPt()); - filterSSE = (clusterSSE .hwPt() > cluster.hwPt()); - filterSS = (clusterSS .hwPt() >= cluster.hwPt()); - filterSSW = (clusterSSW .hwPt() >= cluster.hwPt()); - filterSSWW = (clusterSSWW.hwPt() > cluster.hwPt()); - filterSWW = (clusterSWW .hwPt() > cluster.hwPt()); - filterWW = (clusterWW .hwPt() > cluster.hwPt()); - filterNWW = (clusterNWW .hwPt() > cluster.hwPt()); - filterNNNW = (clusterNNNW.hwPt() > cluster.hwPt()); - filterNNN = (clusterNNN .hwPt() > cluster.hwPt()); - filterNNNE = (clusterNNNE.hwPt() > cluster.hwPt()); - filterSSSW = (clusterSSSW.hwPt() >= cluster.hwPt()); - filterSSS = (clusterSSS .hwPt() >= cluster.hwPt()); - filterSSSE = (clusterSSSE.hwPt() > cluster.hwPt()); - filterNNNN = (clusterNNNN.hwPt() > cluster.hwPt()); - filterSSSS = (clusterSSSS.hwPt() >= cluster.hwPt()); - } - else if(iEta==-1){ - filterNNWW = (clusterNNWW.hwPt() > cluster.hwPt()); - filterNNW = (clusterNNW .hwPt() > cluster.hwPt()); - filterNN = (clusterNN .hwPt() > cluster.hwPt()); - filterNNE = (clusterNNE .hwPt() > cluster.hwPt()); - filterNNEE = (clusterNNEE.hwPt() > cluster.hwPt()); - filterNEE = (clusterNEE .hwPt() > cluster.hwPt()); - filterEE = (clusterEE .hwPt() > cluster.hwPt()); - filterSEE = (clusterSEE .hwPt() > cluster.hwPt()); - filterSSEE = (clusterSSEE.hwPt() > cluster.hwPt()); - filterSSE = (clusterSSE .hwPt() >= cluster.hwPt()); - filterSS = (clusterSS .hwPt() >= cluster.hwPt()); - filterSSW = (clusterSSW .hwPt() > cluster.hwPt()); - filterSSWW = (clusterSSWW.hwPt() > cluster.hwPt()); - filterSWW = (clusterSWW .hwPt() > cluster.hwPt()); - filterWW = (clusterWW .hwPt() > cluster.hwPt()); - filterNWW = (clusterNWW .hwPt() > cluster.hwPt()); - filterNNNW = (clusterNNNW.hwPt() > cluster.hwPt()); - filterNNN = (clusterNNN .hwPt() > cluster.hwPt()); - filterNNNE = (clusterNNNE.hwPt() > cluster.hwPt()); - filterSSSW = (clusterSSSW.hwPt() > cluster.hwPt()); - filterSSS = (clusterSSS .hwPt() >= cluster.hwPt()); - filterSSSE = (clusterSSSE.hwPt() >= cluster.hwPt()); - filterNNNN = (clusterNNNN.hwPt() > cluster.hwPt()); - filterSSSS = (clusterSSSS.hwPt() >= cluster.hwPt()); - } - - //if(filterNNWW || filterNNW || filterNN || filterWW || filterNWW || filterNNNW) cluster.setClusterFlag(CaloCluster::INCLUDE_NW, false); - //if(filterNNW || filterNN || filterNNE || filterNNN) cluster.setClusterFlag(CaloCluster::INCLUDE_N , false); - //if(filterNN || filterNNE || filterNNEE || filterNEE || filterEE || filterNNNE) cluster.setClusterFlag(CaloCluster::INCLUDE_NE, false); - //if(filterNEE || filterEE || filterSEE || filterNNE || filterSSE) cluster.setClusterFlag(CaloCluster::INCLUDE_E , false); - //if(filterEE || filterSEE || filterSSEE || filterSSE || filterSS || filterSSSE) cluster.setClusterFlag(CaloCluster::INCLUDE_SE, false); - //if(filterSSE || filterSS || filterSSW || filterSSS) cluster.setClusterFlag(CaloCluster::INCLUDE_S , false); - //if(filterSS || filterSSW || filterSSWW || filterSWW || filterWW || filterSSSW) cluster.setClusterFlag(CaloCluster::INCLUDE_SW, false); - //if(filterSWW || filterWW || filterNWW || filterNNW || filterSSW) cluster.setClusterFlag(CaloCluster::INCLUDE_W , false); - //if(filterNNW || filterNNE || filterNNNW || filterNNN || filterNNNE || filterNNNN) cluster.setClusterFlag(CaloCluster::INCLUDE_NN, false); - //if(filterSSW || filterSSE || filterSSSW || filterSSS || filterSSSE || filterSSSS) cluster.setClusterFlag(CaloCluster::INCLUDE_SS, false); - - - // NOT_IN_FIRMWARE - const l1t::CaloTower& towerNW = l1t::CaloTools::getTower(towers, iEtaM , iPhiM); - const l1t::CaloTower& towerNE = l1t::CaloTools::getTower(towers, iEtaP , iPhiM); - const l1t::CaloTower& towerSE = l1t::CaloTools::getTower(towers, iEtaP , iPhiP); - const l1t::CaloTower& towerSW = l1t::CaloTools::getTower(towers, iEtaM , iPhiP); - const l1t::CaloTower& towerNN = l1t::CaloTools::getTower(towers, iEta , iPhiM2); - const l1t::CaloTower& towerNNW = l1t::CaloTools::getTower(towers, iEtaP , iPhiM2); - const l1t::CaloTower& towerNNE = l1t::CaloTools::getTower(towers, iEtaM , iPhiM2); - const l1t::CaloTower& towerSS = l1t::CaloTools::getTower(towers, iEta , iPhiP2); - const l1t::CaloTower& towerSSW = l1t::CaloTools::getTower(towers, iEtaP , iPhiP2); - const l1t::CaloTower& towerSSE = l1t::CaloTools::getTower(towers, iEtaM , iPhiP2); - const l1t::CaloTower& towerNNN = l1t::CaloTools::getTower(towers, iEta , iPhiM3); - const l1t::CaloTower& towerSSS = l1t::CaloTools::getTower(towers, iEta , iPhiP3); - int towerEtNW = 0; - int towerEtNE = 0; - int towerEtSE = 0; - int towerEtSW = 0; - int towerEtNN = 0; - int towerEtNNE = 0; - int towerEtNNW = 0; - int towerEtSS = 0; - int towerEtSSE = 0; - int towerEtSSW = 0; - int towerEtNNN = 0; - int towerEtSSS = 0; - if(m_clusterInput==E){ - towerEtNW = towerNW .hwEtEm(); - towerEtNE = towerNE .hwEtEm(); - towerEtSE = towerSE .hwEtEm(); - towerEtSW = towerSW .hwEtEm(); - towerEtNN = towerNN .hwEtEm(); - towerEtNNE = towerNNE.hwEtEm(); - towerEtNNW = towerNNW.hwEtEm(); - towerEtSS = towerSS .hwEtEm(); - towerEtSSE = towerSSE.hwEtEm(); - towerEtSSW = towerSSW.hwEtEm(); - towerEtNNN = towerNNN.hwEtEm(); - towerEtSSS = towerSSS.hwEtEm(); + bool filterNNWW = (clusterNNWW.isValid() && clusterNNWW.hwPt()>=cluster.hwPt()); + bool filterNNW = (clusterNNW .isValid() && clusterNNW .hwPt()>=cluster.hwPt()); + bool filterNN = (clusterNN .isValid() && clusterNN .hwPt()>cluster.hwPt()); + bool filterNNE = (clusterNNE .isValid() && clusterNNE .hwPt()>cluster.hwPt()); + bool filterNNEE = (clusterNNEE.isValid() && clusterNNEE.hwPt()>cluster.hwPt()); + bool filterNEE = (clusterNEE .isValid() && clusterNEE .hwPt()>cluster.hwPt()); + bool filterEE = (clusterEE .isValid() && clusterEE .hwPt()>cluster.hwPt()); + bool filterSEE = (clusterSEE .isValid() && clusterSEE .hwPt()>cluster.hwPt()); + bool filterSSEE = (clusterSSEE.isValid() && clusterSSEE.hwPt()>cluster.hwPt()); + bool filterSSE = (clusterSSE .isValid() && clusterSSE .hwPt()>cluster.hwPt()); + bool filterSS = (clusterSS .isValid() && clusterSS .hwPt()>=cluster.hwPt()); + bool filterSSW = (clusterSSW .isValid() && clusterSSW .hwPt()>=cluster.hwPt()); + bool filterSSWW = (clusterSSWW.isValid() && clusterSSWW.hwPt()>=cluster.hwPt()); + bool filterSWW = (clusterSWW .isValid() && clusterSWW .hwPt()>=cluster.hwPt()); + bool filterWW = (clusterWW .isValid() && clusterWW .hwPt()>=cluster.hwPt()); + bool filterNWW = (clusterNWW .isValid() && clusterNWW .hwPt()>=cluster.hwPt()); + if(iEta<-1) + { + filterNNWW = (clusterNNWW.isValid() && clusterNNWW.hwPt()>cluster.hwPt()); + filterNNW = (clusterNNW .isValid() && clusterNNW .hwPt()>cluster.hwPt()); + filterNN = (clusterNN .isValid() && clusterNN .hwPt()>=cluster.hwPt()); + filterNNE = (clusterNNE .isValid() && clusterNNE .hwPt()>=cluster.hwPt()); + filterNNEE = (clusterNNEE.isValid() && clusterNNEE.hwPt()>=cluster.hwPt()); + filterNEE = (clusterNEE .isValid() && clusterNEE .hwPt()>=cluster.hwPt()); + filterEE = (clusterEE .isValid() && clusterEE .hwPt()>=cluster.hwPt()); + filterSEE = (clusterSEE .isValid() && clusterSEE .hwPt()>=cluster.hwPt()); + filterSSEE = (clusterSSEE.isValid() && clusterSSEE.hwPt()>=cluster.hwPt()); + filterSSE = (clusterSSE .isValid() && clusterSSE .hwPt()>=cluster.hwPt()); + filterSS = (clusterSS .isValid() && clusterSS .hwPt()>cluster.hwPt()); + filterSSW = (clusterSSW .isValid() && clusterSSW .hwPt()>cluster.hwPt()); + filterSSWW = (clusterSSWW.isValid() && clusterSSWW.hwPt()>cluster.hwPt()); + filterSWW = (clusterSWW .isValid() && clusterSWW .hwPt()>cluster.hwPt()); + filterWW = (clusterWW .isValid() && clusterWW .hwPt()>cluster.hwPt()); + filterNWW = (clusterNWW .isValid() && clusterNWW .hwPt()>cluster.hwPt()); } - else if(m_clusterInput==H){ - towerEtNW = towerNW .hwEtHad(); - towerEtNE = towerNE .hwEtHad(); - towerEtSE = towerSE .hwEtHad(); - towerEtSW = towerSW .hwEtHad(); - towerEtNN = towerNN .hwEtHad(); - towerEtNNE = towerNNE.hwEtHad(); - towerEtNNW = towerNNW.hwEtHad(); - towerEtSS = towerSS .hwEtHad(); - towerEtSSE = towerSSE.hwEtHad(); - towerEtSSW = towerSSW.hwEtHad(); - towerEtNNN = towerNNN.hwEtHad(); - towerEtSSS = towerSSS.hwEtHad(); + else if(iEta==1) + { + filterNNWW = (clusterNNWW.isValid() && clusterNNWW.hwPt()>cluster.hwPt()); + filterNNW = (clusterNNW .isValid() && clusterNNW .hwPt()>cluster.hwPt()); + filterNN = (clusterNN .isValid() && clusterNN .hwPt()>cluster.hwPt()); + filterNNE = (clusterNNE .isValid() && clusterNNE .hwPt()>cluster.hwPt()); + filterNNEE = (clusterNNEE.isValid() && clusterNNEE.hwPt()>cluster.hwPt()); + filterNEE = (clusterNEE .isValid() && clusterNEE .hwPt()>cluster.hwPt()); + filterEE = (clusterEE .isValid() && clusterEE .hwPt()>cluster.hwPt()); + filterSEE = (clusterSEE .isValid() && clusterSEE .hwPt()>cluster.hwPt()); + filterSSEE = (clusterSSEE.isValid() && clusterSSEE.hwPt()>cluster.hwPt()); + filterSSE = (clusterSSE .isValid() && clusterSSE .hwPt()>cluster.hwPt()); + filterSS = (clusterSS .isValid() && clusterSS .hwPt()>=cluster.hwPt()); + filterSSW = (clusterSSW .isValid() && clusterSSW .hwPt()>=cluster.hwPt()); + filterSSWW = (clusterSSWW.isValid() && clusterSSWW.hwPt()>cluster.hwPt()); + filterSWW = (clusterSWW .isValid() && clusterSWW .hwPt()>cluster.hwPt()); + filterWW = (clusterWW .isValid() && clusterWW .hwPt()>cluster.hwPt()); + filterNWW = (clusterNWW .isValid() && clusterNWW .hwPt()>cluster.hwPt()); } - else if(m_clusterInput==EH){ - towerEtNW = towerNW .hwEtEm() + towerNW .hwEtHad(); - towerEtNE = towerNE .hwEtEm() + towerNE .hwEtHad(); - towerEtSE = towerSE .hwEtEm() + towerSE .hwEtHad(); - towerEtSW = towerSW .hwEtEm() + towerSW .hwEtHad(); - towerEtNN = towerNN .hwEtEm() + towerNN .hwEtHad(); - towerEtNNE = towerNNE.hwEtEm() + towerNNE.hwEtHad(); - towerEtNNW = towerNNW.hwEtEm() + towerNNW.hwEtHad(); - towerEtSS = towerSS .hwEtEm() + towerSS .hwEtHad(); - towerEtSSE = towerSSE.hwEtEm() + towerSSE.hwEtHad(); - towerEtSSW = towerSSW.hwEtEm() + towerSSW.hwEtHad(); - towerEtNNN = towerNNN.hwEtEm() + towerNNN.hwEtHad(); - towerEtSSS = towerSSS.hwEtEm() + towerSSS.hwEtHad(); + else if(iEta==-1) + { + filterNNWW = (clusterNNWW.isValid() && clusterNNWW.hwPt()>cluster.hwPt()); + filterNNW = (clusterNNW .isValid() && clusterNNW .hwPt()>cluster.hwPt()); + filterNN = (clusterNN .isValid() && clusterNN .hwPt()>cluster.hwPt()); + filterNNE = (clusterNNE .isValid() && clusterNNE .hwPt()>cluster.hwPt()); + filterNNEE = (clusterNNEE.isValid() && clusterNNEE.hwPt()>cluster.hwPt()); + filterNEE = (clusterNEE .isValid() && clusterNEE .hwPt()>cluster.hwPt()); + filterEE = (clusterEE .isValid() && clusterEE .hwPt()>cluster.hwPt()); + filterSEE = (clusterSEE .isValid() && clusterSEE .hwPt()>cluster.hwPt()); + filterSSEE = (clusterSSEE.isValid() && clusterSSEE.hwPt()>cluster.hwPt()); + filterSSE = (clusterSSE .isValid() && clusterSSE .hwPt()>=cluster.hwPt()); + filterSS = (clusterSS .isValid() && clusterSS .hwPt()>=cluster.hwPt()); + filterSSW = (clusterSSW .isValid() && clusterSSW .hwPt()>cluster.hwPt()); + filterSSWW = (clusterSSWW.isValid() && clusterSSWW.hwPt()>cluster.hwPt()); + filterSWW = (clusterSWW .isValid() && clusterSWW .hwPt()>cluster.hwPt()); + filterWW = (clusterWW .isValid() && clusterWW .hwPt()>cluster.hwPt()); + filterNWW = (clusterNWW .isValid() && clusterNWW .hwPt()>cluster.hwPt()); } - if(filterNNWW || filterNNW || filterNN || filterWW || filterNWW || (filterNNNW && towerEtNNW>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_NW, false); - } - if(filterNNW || filterNN || filterNNE || (filterNNN && towerEtNN>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_N , false); - } - if(filterNN || filterNNE || filterNNEE || filterNEE || filterEE || (filterNNNE && towerEtNNE>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_NE, false); - } - if(filterNEE || filterEE || filterSEE || (filterNNE && towerEtNE>=m_clusterThreshold) || (filterSSE && towerEtSE>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_E , false); - } - if(filterEE || filterSEE || filterSSEE || filterSSE || filterSS || (filterSSSE && towerEtSSE>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_SE, false); - } - if(filterSSE || filterSS || filterSSW || (filterSSS && towerEtSS>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_S , false); - } - if(filterSS || filterSSW || filterSSWW || filterSWW || filterWW || (filterSSSW && towerEtSSW>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_SW, false); - } - if(filterSWW || filterWW || filterNWW || (filterNNW && towerEtNW>=m_clusterThreshold) || (filterSSW && towerEtSW>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_W , false); - } - if(filterNNW || filterNNE || filterNNNW || filterNNN || filterNNNE || (filterNNNN && towerEtNNN>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_NN, false); - } - if(filterSSW || filterSSE || filterSSSW || filterSSS || filterSSSE || (filterSSSS && towerEtSSS>=m_clusterThreshold)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_SS, false); - } - // END NOT_IN_FIRMWARE - + if(filterNNWW || filterNNW || filterNN || filterWW || filterNWW) cluster.setClusterFlag(CaloCluster::TRIM_NW, true); + if(filterNNW || filterNN || filterNNE) cluster.setClusterFlag(CaloCluster::TRIM_N , true); + if(filterNN || filterNNE || filterNNEE || filterNEE || filterEE) cluster.setClusterFlag(CaloCluster::TRIM_NE, true); + if(filterNEE || filterEE || filterSEE) cluster.setClusterFlag(CaloCluster::TRIM_E , true); + if(filterEE || filterSEE || filterSSEE || filterSSE || filterSS) cluster.setClusterFlag(CaloCluster::TRIM_SE, true); + if(filterSSE || filterSS || filterSSW) cluster.setClusterFlag(CaloCluster::TRIM_S , true); + if(filterSS || filterSSW || filterSSWW || filterSWW || filterWW) cluster.setClusterFlag(CaloCluster::TRIM_SW, true); + if(filterSWW || filterWW || filterNWW) cluster.setClusterFlag(CaloCluster::TRIM_W , true); } } } @@ -542,7 +360,7 @@ void l1t::Stage2Layer2ClusterAlgorithmFirmwareImp1::refining(const std::vector=m_clusterThreshold ? towerEtNW : 0); + towerEtN = (towerEtN >=m_clusterThreshold ? towerEtN : 0); + towerEtNE = (towerEtNE>=m_clusterThreshold ? towerEtNE : 0); + towerEtE = (towerEtE >=m_clusterThreshold ? towerEtE : 0); + towerEtSE = (towerEtSE>=m_clusterThreshold ? towerEtSE : 0); + towerEtS = (towerEtS >=m_clusterThreshold ? towerEtS : 0); + towerEtSW = (towerEtSW>=m_clusterThreshold ? towerEtSW : 0); + towerEtW = (towerEtW >=m_clusterThreshold ? towerEtW : 0); + towerEtNN = (towerEtNN>=m_clusterThreshold ? towerEtNN : 0); + towerEtSS = (towerEtSS>=m_clusterThreshold ? towerEtSS : 0); // trim corners - if(m_trimCorners) { - //if(towerEtN0) cluster.setClusterFlag(CaloCluster::TRIM_LEFT, (EtEtaRight>EtEtaLeft) ); - else cluster.setClusterFlag(CaloCluster::TRIM_LEFT, (EtEtaRight>=EtEtaLeft) ); + int EtEtaRight = towerEtNE + towerEtE + towerEtSE; + int EtEtaLeft = towerEtNW + towerEtW + towerEtSW; + if (towerEtE > towerEtW) cluster.setClusterFlag(CaloCluster::TRIM_LEFT, true); + else if(towerEtE < towerEtW) cluster.setClusterFlag(CaloCluster::TRIM_RIGHT, true); + else if(EtEtaRight > EtEtaLeft) cluster.setClusterFlag(CaloCluster::TRIM_LEFT, true); + else if(EtEtaRight < EtEtaLeft) cluster.setClusterFlag(CaloCluster::TRIM_RIGHT, true); if(cluster.checkClusterFlag(CaloCluster::TRIM_LEFT)){ - cluster.setClusterFlag(CaloCluster::INCLUDE_NW, false); - cluster.setClusterFlag(CaloCluster::INCLUDE_W , false); - cluster.setClusterFlag(CaloCluster::INCLUDE_SW, false); + cluster.setClusterFlag(CaloCluster::TRIM_NW, true); + cluster.setClusterFlag(CaloCluster::TRIM_W , true); + cluster.setClusterFlag(CaloCluster::TRIM_SW, true); } - else{ - cluster.setClusterFlag(CaloCluster::INCLUDE_NE, false); - cluster.setClusterFlag(CaloCluster::INCLUDE_E , false); - cluster.setClusterFlag(CaloCluster::INCLUDE_SE, false); + if(cluster.checkClusterFlag(CaloCluster::TRIM_RIGHT)){ + cluster.setClusterFlag(CaloCluster::TRIM_NE, true); + cluster.setClusterFlag(CaloCluster::TRIM_E , true); + cluster.setClusterFlag(CaloCluster::TRIM_SE, true); } - - // compute cluster energy according to cluster flags - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NW)) cluster.setHwPt(cluster.hwPt() + towerEtNW); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_N)) cluster.setHwPt(cluster.hwPt() + towerEtN); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NE)) cluster.setHwPt(cluster.hwPt() + towerEtNE); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_E)) cluster.setHwPt(cluster.hwPt() + towerEtE); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SE)) cluster.setHwPt(cluster.hwPt() + towerEtSE); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_S)) cluster.setHwPt(cluster.hwPt() + towerEtS); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SW)) cluster.setHwPt(cluster.hwPt() + towerEtSW); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_W)) cluster.setHwPt(cluster.hwPt() + towerEtW); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NN)) cluster.setHwPt(cluster.hwPt() + towerEtNN); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SS)) cluster.setHwPt(cluster.hwPt() + towerEtSS); - // - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NW)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmNW); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_N)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmN); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NE)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmNE); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_E)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmE); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SE)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmSE); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_S)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmS); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SW)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmSW); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_W)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmW); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NN)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmNN); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SS)) cluster.setHwPtEm(cluster.hwPtEm() + towerEtEmSS); - // - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NW)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadNW); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_N)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadN); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NE)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadNE); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_E)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadE); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SE)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadSE); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_S)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadS); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SW)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadSW); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_W)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadW); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NN)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadNN); - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SS)) cluster.setHwPtHad(cluster.hwPtHad() + towerEtHadSS); - - - // Compute fine-grain position - int fgEta = 0; - int fgPhi = 0; - if(EtEtaRight!=0 || EtEtaLeft!=0){ - if(cluster.checkClusterFlag(CaloCluster::TRIM_LEFT)) fgEta = 2; - else fgEta = 1; + // Extend the cluster + const l1t::CaloCluster& clusterNN = l1t::CaloTools::getCluster(clusters, iEta , iPhiM2); + const l1t::CaloCluster& clusterNNW = l1t::CaloTools::getCluster(clusters, iEtaM, iPhiM2); + const l1t::CaloCluster& clusterNNNW = l1t::CaloTools::getCluster(clusters, iEtaM, iPhiM3); + const l1t::CaloCluster& clusterNNN = l1t::CaloTools::getCluster(clusters, iEta , iPhiM3); + const l1t::CaloCluster& clusterNNNE = l1t::CaloTools::getCluster(clusters, iEtaP, iPhiM3); + const l1t::CaloCluster& clusterNNE = l1t::CaloTools::getCluster(clusters, iEtaP, iPhiM2); + const l1t::CaloCluster& clusterSS = l1t::CaloTools::getCluster(clusters, iEta , iPhiP2); + const l1t::CaloCluster& clusterSSW = l1t::CaloTools::getCluster(clusters, iEtaM, iPhiP2); + const l1t::CaloCluster& clusterSSSW = l1t::CaloTools::getCluster(clusters, iEtaM, iPhiP3); + const l1t::CaloCluster& clusterSSS = l1t::CaloTools::getCluster(clusters, iEta , iPhiP3); + const l1t::CaloCluster& clusterSSSE = l1t::CaloTools::getCluster(clusters, iEtaP, iPhiP3); + const l1t::CaloCluster& clusterSSE = l1t::CaloTools::getCluster(clusters, iEtaP, iPhiP2); + if(towerEtN>=m_clusterThreshold && towerEtNN>=m_clusterThreshold && + !(clusterNN.isValid() || clusterNNW.isValid() || clusterNNNW.isValid() || clusterNNN.isValid() || clusterNNNE.isValid() || clusterNNE.isValid()) + ){ + cluster.setClusterFlag(CaloCluster::EXT_UP, true); + } + if(towerEtS>=m_clusterThreshold && towerEtSS>=m_clusterThreshold && + !(clusterSS.isValid() || clusterSSW.isValid() || clusterSSSW.isValid() || clusterSSS.isValid() || clusterSSSE.isValid() || clusterSSE.isValid()) + ){ + cluster.setClusterFlag(CaloCluster::EXT_DOWN, true); } - int EtUp = 0; - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NE)) EtUp += towerEtNE; - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_N)) EtUp += towerEtN; - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NW)) EtUp += towerEtNW; - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_NN)) EtUp += towerEtNN; - int EtDown = 0; - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SE)) EtDown += towerEtSE; - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_S)) EtDown += towerEtS; - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SW)) EtDown += towerEtSW; - if(cluster.checkClusterFlag(CaloCluster::INCLUDE_SS)) EtDown += towerEtSS; - // - if(EtDown>EtUp) fgPhi = 2; - else if(EtUp>EtDown) fgPhi = 1; - // - cluster.setFgEta(fgEta); - cluster.setFgPhi(fgPhi); + + // Apply trimming + extension + if(cluster.checkClusterFlag(CaloCluster::TRIM_NW)) cluster.setHwPt(cluster.hwPt() - towerEtNW); + if(cluster.checkClusterFlag(CaloCluster::TRIM_N)) cluster.setHwPt(cluster.hwPt() - towerEtN); + if(cluster.checkClusterFlag(CaloCluster::TRIM_NE)) cluster.setHwPt(cluster.hwPt() - towerEtNE); + if(cluster.checkClusterFlag(CaloCluster::TRIM_E)) cluster.setHwPt(cluster.hwPt() - towerEtE); + if(cluster.checkClusterFlag(CaloCluster::TRIM_SE)) cluster.setHwPt(cluster.hwPt() - towerEtSE); + if(cluster.checkClusterFlag(CaloCluster::TRIM_S)) cluster.setHwPt(cluster.hwPt() - towerEtS); + if(cluster.checkClusterFlag(CaloCluster::TRIM_SW)) cluster.setHwPt(cluster.hwPt() - towerEtSW); + if(cluster.checkClusterFlag(CaloCluster::TRIM_W)) cluster.setHwPt(cluster.hwPt() - towerEtW); + if(cluster.checkClusterFlag(CaloCluster::EXT_UP)) cluster.setHwPt(cluster.hwPt() + towerEtNN); + if(cluster.checkClusterFlag(CaloCluster::EXT_DOWN))cluster.setHwPt(cluster.hwPt() + towerEtSS); + } } } -void l1t::Stage2Layer2ClusterAlgorithmFirmwareImp1::trimCorners(bool trimCorners) { - m_trimCorners = trimCorners; -} diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2EGammaAlgorithmFirmwareImp1.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2EGammaAlgorithmFirmwareImp1.cc index b3f046b7f2895..7962dbf3dfe00 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2EGammaAlgorithmFirmwareImp1.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2EGammaAlgorithmFirmwareImp1.cc @@ -28,113 +28,40 @@ l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::~Stage2Layer2EGammaAlgorithmFirmwa void l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::processEvent(const std::vector & clusters, const std::vector& towers, - std::vector & egammas) { - + std::vector & egammas) { + egammas.clear(); for(size_t clusNr=0;clusNregMaxHOverE()*128) || clusters[clusNr].hwPt()>=params_->egEtToRemoveHECutHw())){ //all E/gammas have to pass H/E cut or be above the Et threshold, later on this might be set to a flag... + + //H/E has 7 bits and is represented by an int from 0-1, params_->egMaxHOverE() is a real number (ie something like 0.15) so has to be multiplied by 128 egammas.push_back(clusters[clusNr]); - - // Identification part - bool hOverEBit = idHOverE(clusters[clusNr]); - bool shapeBit = idShape(clusters[clusNr]); - bool fgBit = !(clusters[clusNr].hwSeedPt()>6 && clusters[clusNr].fgECAL()); - int qual = 0; - if(fgBit) qual |= (0x1); // first bit = FG - if(hOverEBit) qual |= (0x1<<1); // second bit = H/E - if(shapeBit) qual |= (0x1<<2); // third bit = shape - egammas.back().setHwQual( qual ); - - - // Isolation part + int hwEtSum = CaloTools::calHwEtSum(clusters[clusNr].hwEta(),clusters[clusNr].hwPhi(),towers, - -1*params_->egIsoAreaNrTowersEta(),params_->egIsoAreaNrTowersEta(), - -1*params_->egIsoAreaNrTowersPhi(),params_->egIsoAreaNrTowersPhi(), - params_->egIsoMaxEtaAbsForIsoSum()); - int hwFootPrint = isoCalEgHwFootPrint(clusters[clusNr],towers); - + -1*params_->egIsoAreaNrTowersEta(),params_->egIsoAreaNrTowersEta(), + -1*params_->egIsoAreaNrTowersPhi(),params_->egIsoAreaNrTowersPhi(), + params_->egIsoMaxEtaAbsForIsoSum()); + int hwFootPrint = calEgHwFootPrint(clusters[clusNr],towers); + int nrTowers = CaloTools::calNrTowers(-1*params_->egIsoMaxEtaAbsForTowerSum(), - params_->egIsoMaxEtaAbsForTowerSum(), - 1,72,towers,1,999,CaloTools::CALO); - unsigned int lutAddress = isoLutIndex(egammas.back().hwEta(),nrTowers); - + params_->egIsoMaxEtaAbsForTowerSum(), + 1,72,towers,1,999,CaloTools::CALO); + unsigned int lutAddress = lutIndex(egammas.back().hwEta(),nrTowers); + int isolBit = hwEtSum-hwFootPrint <= params_->egIsolationLUT()->data(lutAddress); // std::cout <<"hwEtSum "<egIsoAreaNrTowersEta()<<" "<egIsoAreaNrTowersPhi()<< " veto "<egIsoVetoNrTowersPhi()<egLsb(), eta, phi, 0.); - egammas.back().setP4(calibP4); - }//end of cuts on cluster to make EGamma }//end of cluster loop } -bool l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::idHOverE(const l1t::CaloCluster& clus) -{ - unsigned int lutAddress = idHOverELutIndex(clus.hwEta()); - bool hOverEBit = ( clus.hOverE() <= params_->egMaxHOverELUT()->data(lutAddress) ); - hOverEBit |= ( clus.hwPt()>=floor(params_->egEtToRemoveHECut()/params_->egLsb()) ); - return hOverEBit; -} - -unsigned int l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::idHOverELutIndex(int iEta) -{ - unsigned int iEtaNormed = abs(iEta); - return iEtaNormed-1; -} - -bool l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::idShape(const l1t::CaloCluster& clus) -{ - unsigned int shape = 0; - if( (clus.checkClusterFlag(CaloCluster::INCLUDE_N)) ) shape |= (0x1); - if( (clus.checkClusterFlag(CaloCluster::INCLUDE_S)) ) shape |= (0x1<<1); - if( clus.checkClusterFlag(CaloCluster::TRIM_LEFT) && (clus.checkClusterFlag(CaloCluster::INCLUDE_NE)) ) shape |= (0x1<<2); - if( !clus.checkClusterFlag(CaloCluster::TRIM_LEFT) && (clus.checkClusterFlag(CaloCluster::INCLUDE_NW)) ) shape |= (0x1<<2); - if( clus.checkClusterFlag(CaloCluster::TRIM_LEFT) && (clus.checkClusterFlag(CaloCluster::INCLUDE_E)) ) shape |= (0x1<<3); - if( !clus.checkClusterFlag(CaloCluster::TRIM_LEFT) && (clus.checkClusterFlag(CaloCluster::INCLUDE_W)) ) shape |= (0x1<<3); - if( clus.checkClusterFlag(CaloCluster::TRIM_LEFT) && (clus.checkClusterFlag(CaloCluster::INCLUDE_SE)) ) shape |= (0x1<<4); - if( !clus.checkClusterFlag(CaloCluster::TRIM_LEFT) && (clus.checkClusterFlag(CaloCluster::INCLUDE_SW)) ) shape |= (0x1<<4); - if( clus.checkClusterFlag(CaloCluster::INCLUDE_NN) ) shape |= (0x1<<5); - if( clus.checkClusterFlag(CaloCluster::INCLUDE_SS) ) shape |= (0x1<<6); - - unsigned int lutAddress = idShapeLutIndex(shape, clus.hwEta()); - bool shapeBit = params_->egShapeIdLUT()->data(lutAddress); - return shapeBit; -} - -unsigned int l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::idShapeLutIndex(unsigned int shape, int iEta) -{ - unsigned int iEtaNormed = abs(iEta)-1; - if(iEtaNormed>31) iEtaNormed = 31; - if(shape>127) shape = 127; - unsigned int index = iEtaNormed*128+shape; - return index; -} //calculates the footprint of the electron in hardware values -int l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::isoCalEgHwFootPrint(const l1t::CaloCluster& clus,const std::vector& towers) +int l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::calEgHwFootPrint(const l1t::CaloCluster& clus,const std::vector& towers) { int iEta=clus.hwEta(); int iPhi=clus.hwPhi(); @@ -157,7 +84,7 @@ int l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::isoCalEgHwFootPrint(const l1t: } //ieta =-28, nrTowers 0 is 0, increases to ieta28, nrTowers=kNrTowersInSum -unsigned l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::isoLutIndex(int iEta,unsigned int nrTowers) +unsigned l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::lutIndex(int iEta,unsigned int nrTowers) { const unsigned int kNrTowersInSum=72*params_->egIsoMaxEtaAbsForTowerSum()*2; const unsigned int kTowerGranularity=params_->egIsoPUEstTowerGranularity(); @@ -173,25 +100,4 @@ unsigned l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::isoLutIndex(int iEta,unsi else return iEtaNormed*(kNrTowersInSum/kTowerGranularity+1)+nrTowersNormed; } - -int l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::calibratedPt(const l1t::CaloCluster& clus) -{ - unsigned int lutAddress = calibrationLutIndex(clus.hwEta()); - int corr = params_->egCalibrationLUT()->data(lutAddress); // 9 bits. [0,1]. corrPt = (1+corr)*rawPt - // the correction can only increase the energy, and it cannot increase it more than a factor two - int rawPt = clus.hwPt(); - int corrXrawPt = corr*rawPt;// 17 bits - // round corr*rawPt - int addPt = corrXrawPt>>9;// 8 MS bits (truncation) - int remainder = corrXrawPt & 0x1FF; // 9 LS bits - if(remainder>=0x100) addPt += 1; - int corrPt = rawPt + addPt; - if(corrPt>255) corrPt = 255;// 8 bits threshold - return corrPt; -} - -unsigned int l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::calibrationLutIndex(int iEta) -{ - unsigned int iEtaNormed = abs(iEta); - return iEtaNormed-1; -} + diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2EtSumAlgorithmFirmwareImp1.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2EtSumAlgorithmFirmwareImp1.cc index 475aee87c83b9..139833c7180b1 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2EtSumAlgorithmFirmwareImp1.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2EtSumAlgorithmFirmwareImp1.cc @@ -8,19 +8,19 @@ #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "L1Trigger/L1TCalorimeter/interface/Stage2Layer2EtSumAlgorithmFirmware.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloTools.h" + l1t::Stage2Layer2EtSumAlgorithmFirmwareImp1::Stage2Layer2EtSumAlgorithmFirmwareImp1(CaloParams* params) : params_(params) { - etSumEtThresholdHwEt_ = floor(params_->etSumEtThreshold(1)/params_->towerLsbSum()); - etSumEtThresholdHwMet_ = floor(params_->etSumEtThreshold(3)/params_->towerLsbSum()); - - etSumEtaMinEt_ = params_->etSumEtaMin(1); - etSumEtaMaxEt_ = params_->etSumEtaMax(1); - - etSumEtaMinMet_ = params_->etSumEtaMin(3); - etSumEtaMaxMet_ = params_->etSumEtaMax(3); +etSumEtThresholdHwEt_ = params_->etSumEtThresholdHw(1); +etSumEtThresholdHwMet_ = params_->etSumEtThresholdHw(3); + +etSumEtaMinEt_ = params_->etSumEtaMin(1); +etSumEtaMaxEt_ = params_->etSumEtaMax(1); + +etSumEtaMinMet_ = params_->etSumEtaMin(3); +etSumEtaMaxMet_ = params_->etSumEtaMax(3); } @@ -32,70 +32,64 @@ l1t::Stage2Layer2EtSumAlgorithmFirmwareImp1::~Stage2Layer2EtSumAlgorithmFirmware void l1t::Stage2Layer2EtSumAlgorithmFirmwareImp1::processEvent(const std::vector & towers, std::vector & etsums) { - double pi = std::atan(1.d) * 4.0d; - - int ietaMax=28, ietaMin=-28, iphiMax=72, iphiMin=1; - - int32_t ex(0), ey(0), et(0); - - for (int ieta=ietaMin; ieta> 9; - int32_t towEy = (int32_t) (tower.hwPt() * std::trunc(511.*std::cos(2*pi*(72-(iphi-1))/72.))) >> 9; - int32_t towEt = tower.hwPt(); - - ringEx += towEx; - ringEy += towEy; - ringEt += towEt; - - } - - ringEx >>= 2; - ringEy >>= 2; - ringEt >>= 1; - - ex += ringEx; - ey += ringEy; - et += ringEt; - - } - - // final MET calculation - int32_t met = (int32_t) std::sqrt(std::pow( (double) ex,2) + std::pow( (double) ey,2)); - - double metPhiRadians = std::atan2( (double) ey, (double) ex ) + pi; - - int32_t metPhi = (int32_t) metPhiRadians / (2 * pi); - - - // apply output bitwidth constraints - ex &= 0xfffff; - ey &= 0xfffff; - met &= 0xfff; - metPhi &= 0xfff; - et &= 0xfff; - - // push output - math::XYZTLorentzVector p4; - - l1t::EtSum etSumTotalEt(p4,l1t::EtSum::EtSumType::kTotalEt,et,0,0,0); - l1t::EtSum etSumMissingEt(p4,l1t::EtSum::EtSumType::kMissingEt,met,0,metPhi,0); - l1t::EtSum etSumEx(p4,l1t::EtSum::EtSumType::kTotalEx,ex,0,0,0); - l1t::EtSum etSumEy(p4,l1t::EtSum::EtSumType::kTotalEy,ey,0,0,0); - - etsums.push_back(etSumTotalEt); - etsums.push_back(etSumMissingEt); - etsums.push_back(etSumEx); - etsums.push_back(etSumEy); + math::XYZTLorentzVector p4; + int32_t totalEt(0); + float phiMissingEt; + int32_t missingEt; + int32_t coefficientX; + int32_t coefficientY; + int32_t ptTower; + double etXComponent(0.); + double etYComponent(0.); + int32_t intPhiMissingEt(0); + const float pi = acos(-1.); + float towerPhi; + + for(size_t towerNr=0;towerNr etSumEtaMinMet_ && (towers[towerNr]).hwEta() < etSumEtaMaxMet_ && (towers[towerNr]).hwPt() > etSumEtThresholdHwMet_ ) + { + towerPhi=((towers[towerNr]).hwPhi()*5.0-2.5)*pi/180.; + coefficientX = int32_t(511.*cos(towerPhi)); + coefficientY = int32_t(511.*sin(towerPhi)); + + etXComponent += coefficientX*ptTower; + etYComponent += coefficientY*ptTower; + } + if ((towers[towerNr]).hwEta() > etSumEtaMinEt_ && (towers[towerNr]).hwEta() < etSumEtaMaxEt_&& (towers[towerNr]).hwPt() > etSumEtThresholdHwEt_ ) + { + totalEt += ptTower; + } + } + etYComponent /= 511.; + etXComponent /= 511.; + + phiMissingEt = atan2(etYComponent,etXComponent)+pi; + if (phiMissingEt > pi) phiMissingEt = phiMissingEt - 2*pi; + + double phi_degrees = phiMissingEt * 180.0 /pi; + + if(phi_degrees < 0) { + intPhiMissingEt= 72 - (int32_t)(fabs(phi_degrees) / 5.0); + } else { + intPhiMissingEt= 1 + (int32_t)(phi_degrees / 5.0); + } + + double doubmissingEt = etXComponent*etXComponent+etYComponent*etYComponent; + missingEt = int32_t(sqrt(doubmissingEt)); + + missingEt = missingEt & 0xfff; + totalEt = totalEt & 0xfff; + + l1t::EtSum::EtSumType typeTotalEt = l1t::EtSum::EtSumType::kTotalEt; + l1t::EtSum::EtSumType typeMissingEt = l1t::EtSum::EtSumType::kMissingEt; + + l1t::EtSum etSumTotalEt(p4,typeTotalEt,totalEt,0,0,0); + l1t::EtSum etSumMissingEt(p4,typeMissingEt,missingEt,0,intPhiMissingEt,0); + + etsums.push_back(etSumTotalEt); + etsums.push_back(etSumMissingEt); } diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2JetAlgorithmFirmwareImp1.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2JetAlgorithmFirmwareImp1.cc index b735eef506183..e21dd5961c8c0 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2JetAlgorithmFirmwareImp1.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2JetAlgorithmFirmwareImp1.cc @@ -83,7 +83,7 @@ void l1t::Stage2Layer2JetAlgorithmFirmwareImp1::create(const std::vectorjetSeedThreshold()/params_->towerLsbSum())) continue; + if(iEt < params_->jetSeedThresholdHw()) continue; // loop over towers in this jet for( int deta = -4; deta < 5; ++deta ) { diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2JetSumAlgorithmFirmwareImp1.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2JetSumAlgorithmFirmwareImp1.cc index c20f5049d770f..910f796a9d81a 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2JetSumAlgorithmFirmwareImp1.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2JetSumAlgorithmFirmwareImp1.cc @@ -13,15 +13,15 @@ l1t::Stage2Layer2JetSumAlgorithmFirmwareImp1::Stage2Layer2JetSumAlgorithmFirmwareImp1(CaloParams* params) : params_(params) { - etSumEtThresholdHwEt_ = floor(params_->etSumEtThreshold(2)/params_->jetLsb()); - etSumEtThresholdHwMet_ = floor(params_->etSumEtThreshold(4)/params_->jetLsb()); - - etSumEtaMinEt_ = params_->etSumEtaMin(2); - etSumEtaMaxEt_ = params_->etSumEtaMax(2); - - etSumEtaMinMet_ = params_->etSumEtaMin(4); - etSumEtaMaxMet_ = params_->etSumEtaMax(4); - +etSumEtThresholdHwEt_ = params_->etSumEtThresholdHw(2); +etSumEtThresholdHwMet_ = params_->etSumEtThresholdHw(4); + +etSumEtaMinEt_ = params_->etSumEtaMin(2); +etSumEtaMaxEt_ = params_->etSumEtaMax(2); + +etSumEtaMinMet_ = params_->etSumEtaMin(4); +etSumEtaMaxMet_ = params_->etSumEtaMax(4); + } diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2TauAlgorithmFirmwareImp1.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2TauAlgorithmFirmwareImp1.cc index e7cd25e3fba03..d618a1f1a06eb 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2TauAlgorithmFirmwareImp1.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2TauAlgorithmFirmwareImp1.cc @@ -8,15 +8,13 @@ #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "L1Trigger/L1TCalorimeter/interface/Stage2Layer2TauAlgorithmFirmware.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloTools.h" -#include "L1Trigger/L1TCalorimeter/interface/CaloStage2Nav.h" l1t::Stage2Layer2TauAlgorithmFirmwareImp1::Stage2Layer2TauAlgorithmFirmwareImp1(CaloParams* params) : params_(params) { - loadCalibrationLuts(); + } @@ -29,294 +27,12 @@ l1t::Stage2Layer2TauAlgorithmFirmwareImp1::~Stage2Layer2TauAlgorithmFirmwareImp1 void l1t::Stage2Layer2TauAlgorithmFirmwareImp1::processEvent(const std::vector & clusters, std::vector & taus) { - merging(clusters, taus); - -} - - -// FIXME: to be organized better -void l1t::Stage2Layer2TauAlgorithmFirmwareImp1::merging(const std::vector& clusters, std::vector& taus){ - //std::cout<<"--------------- NEW EVENT -----------------------------\n"; - //std::cout<<"---------------------------------------------------------\n"; - // navigator - l1t::CaloStage2Nav caloNav; - - // Temp copy of clusters (needed to set merging flags) - std::vector tmpClusters(clusters); - // First loop: setting merging flags - for ( auto itr = tmpClusters.begin(); itr != tmpClusters.end(); ++itr ) { - if( itr->isValid() ){ - l1t::CaloCluster& mainCluster = *itr; - int iEta = mainCluster.hwEta(); - int iPhi = mainCluster.hwPhi(); - int iEtaP = caloNav.offsetIEta(iEta, 1); - int iEtaM = caloNav.offsetIEta(iEta, -1); - int iPhiP2 = caloNav.offsetIPhi(iPhi, 2); - int iPhiP3 = caloNav.offsetIPhi(iPhi, 3); - int iPhiM2 = caloNav.offsetIPhi(iPhi, -2); - int iPhiM3 = caloNav.offsetIPhi(iPhi, -3); - - - //std::cout<<"Merging: first pass. Cluster eta="< satellites; - if(clusterN2 .isValid()) satellites.push_back(clusterN2); - if(clusterN3 .isValid()) satellites.push_back(clusterN3); - if(clusterN2W.isValid()) satellites.push_back(clusterN2W); - if(clusterN2E.isValid()) satellites.push_back(clusterN2E); - if(clusterS2 .isValid()) satellites.push_back(clusterS2); - if(clusterS3 .isValid()) satellites.push_back(clusterS3); - if(clusterS2W.isValid()) satellites.push_back(clusterS2W); - if(clusterS2E.isValid()) satellites.push_back(clusterS2E); - if(satellites.size()>0) { - satellites.sort(); - const l1t::CaloCluster& secondaryCluster = satellites.back(); - - if(secondaryCluster>mainCluster) { - // is secondary - mainCluster.setClusterFlag(CaloCluster::IS_SECONDARY, true); - // to be merged up or down? - if(secondaryCluster.hwPhi()==iPhiP2 || secondaryCluster.hwPhi()==iPhiP3) { - mainCluster.setClusterFlag(CaloCluster::MERGE_UPDOWN, true); // 1 (down) - } - else if(secondaryCluster.hwPhi()==iPhiM2 || secondaryCluster.hwPhi()==iPhiM3) { - mainCluster.setClusterFlag(CaloCluster::MERGE_UPDOWN, false); // 0 (up) - } - // to be merged left or right? - if(secondaryCluster.hwEta()==iEtaP) { - mainCluster.setClusterFlag(CaloCluster::MERGE_LEFTRIGHT, true); // 1 (right) - } - else if(secondaryCluster.hwEta()==iEta || secondaryCluster.hwEta()==iEtaM) { - mainCluster.setClusterFlag(CaloCluster::MERGE_LEFTRIGHT, false); // 0 (left) - } - } - else { - // is main cluster - mainCluster.setClusterFlag(CaloCluster::IS_SECONDARY, false); - // to be merged up or down? - if(secondaryCluster.hwPhi()==iPhiP2 || secondaryCluster.hwPhi()==iPhiP3) { - mainCluster.setClusterFlag(CaloCluster::MERGE_UPDOWN, true); // 1 (down) - } - else if(secondaryCluster.hwPhi()==iPhiM2 || secondaryCluster.hwPhi()==iPhiM3) { - mainCluster.setClusterFlag(CaloCluster::MERGE_UPDOWN, false); // 0 (up) - } - // to be merged left or right? - if(secondaryCluster.hwEta()==iEtaP) { - mainCluster.setClusterFlag(CaloCluster::MERGE_LEFTRIGHT, true); // 1 (right) - } - else if(secondaryCluster.hwEta()==iEta || secondaryCluster.hwEta()==iEtaM) { - mainCluster.setClusterFlag(CaloCluster::MERGE_LEFTRIGHT, false); // 0 (left) - } - } - //std::cout<<" Max neighbor cluster eta="<isValid() ){ - l1t::CaloCluster& mainCluster = *itr; - int iEta = mainCluster.hwEta(); - int iPhi = mainCluster.hwPhi(); - - // physical eta/phi - double eta = 0.; - double phi = 0.; - double seedEta = CaloTools::towerEta(mainCluster.hwEta()); - double seedEtaSize = CaloTools::towerEtaSize(mainCluster.hwEta()); - double seedPhi = CaloTools::towerPhi(mainCluster.hwEta(), mainCluster.hwPhi()); - double seedPhiSize = CaloTools::towerPhiSize(mainCluster.hwEta()); - if (mainCluster.fgEta()==0) eta = seedEta; // center - else if(mainCluster.fgEta()==2) eta = seedEta + seedEtaSize*0.25; // center + 1/4 - else if(mainCluster.fgEta()==1) eta = seedEta - seedEtaSize*0.25; // center - 1/4 - if (mainCluster.fgPhi()==0) phi = seedPhi; // center - else if(mainCluster.fgPhi()==2) phi = seedPhi + seedPhiSize*0.25; // center + 1/4 - else if(mainCluster.fgPhi()==1) phi = seedPhi - seedPhiSize*0.25; // center - 1/4 - - - int iEtaP = caloNav.offsetIEta(iEta, 1); - int iEtaM = caloNav.offsetIEta(iEta, -1); - int iPhiP2 = caloNav.offsetIPhi(iPhi, 2); - int iPhiP3 = caloNav.offsetIPhi(iPhi, 3); - int iPhiM2 = caloNav.offsetIPhi(iPhi, -2); - int iPhiM3 = caloNav.offsetIPhi(iPhi, -3); - - //std::cout<<"Merging: second pass. Cluster eta="< satellites; - if(clusterN2 .isValid()) satellites.push_back(clusterN2); - if(clusterN3 .isValid()) satellites.push_back(clusterN3); - if(clusterN2W.isValid()) satellites.push_back(clusterN2W); - if(clusterN2E.isValid()) satellites.push_back(clusterN2E); - if(clusterS2 .isValid()) satellites.push_back(clusterS2); - if(clusterS3 .isValid()) satellites.push_back(clusterS3); - if(clusterS2W.isValid()) satellites.push_back(clusterS2W); - if(clusterS2E.isValid()) satellites.push_back(clusterS2E); - - // neighbour exists - if(satellites.size()>0) { - satellites.sort(); - const l1t::CaloCluster& secondaryCluster = satellites.back(); - // this is the most energetic cluster - // merge with the secondary cluster if it is not merged to an other one - if(mainCluster>secondaryCluster) { - bool canBeMerged = true; - bool mergeUp = (secondaryCluster.hwPhi()==iPhiM2 || secondaryCluster.hwPhi()==iPhiM3); - bool mergeLeft = (secondaryCluster.hwEta()==iEtaM); - bool mergeRight = (secondaryCluster.hwEta()==iEtaP); - - if(mergeUp && !secondaryCluster.checkClusterFlag(CaloCluster::MERGE_UPDOWN)) canBeMerged = false; - //std::cout<<" "<<(mergeUp && !secondaryCluster.checkClusterFlag(CaloCluster::MERGE_UPDOWN)); - if(!mergeUp && secondaryCluster.checkClusterFlag(CaloCluster::MERGE_UPDOWN)) canBeMerged = false; - //std::cout<<" "<<(!mergeUp && secondaryCluster.checkClusterFlag(CaloCluster::MERGE_UPDOWN)); - if(mergeLeft && !secondaryCluster.checkClusterFlag(CaloCluster::MERGE_LEFTRIGHT)) canBeMerged = false; - //std::cout<<" "<<(mergeLeft && !secondaryCluster.checkClusterFlag(CaloCluster::MERGE_LEFTRIGHT)); - if(mergeRight && secondaryCluster.checkClusterFlag(CaloCluster::MERGE_LEFTRIGHT)) canBeMerged = false; - //std::cout<<" "<<(mergeRight && secondaryCluster.checkClusterFlag(CaloCluster::MERGE_LEFTRIGHT))<<"\n"; - if(canBeMerged) { - double calibPt = calibratedPt(mainCluster.hwPtEm()+secondaryCluster.hwPtEm(), mainCluster.hwPtHad()+secondaryCluster.hwPtHad(), mainCluster.hwEta()); - math::PtEtaPhiMLorentzVector p4(calibPt, eta, phi, 0.); - l1t::Tau tau( p4, mainCluster.hwPt()+secondaryCluster.hwPt(), mainCluster.hwEta(), mainCluster.hwPhi(), 0); - taus.push_back(tau); - //std::cout<<" Make tau, Merging cluster eta="< luts; - luts.push_back( params_->tauCalibrationLUTBarrelA() ); - luts.push_back( params_->tauCalibrationLUTBarrelB() ); - luts.push_back( params_->tauCalibrationLUTBarrelC() ); - luts.push_back( params_->tauCalibrationLUTEndcapsA() ); - luts.push_back( params_->tauCalibrationLUTEndcapsB() ); - luts.push_back( params_->tauCalibrationLUTEndcapsC() ); - - unsigned int size = (1 << luts.back()->nrBitsData()); - unsigned int nBins = (1 << luts.back()->nrBitsAddress()); - - - std::vector emptyCoeff; - emptyCoeff.resize(nBins,0.); - float binSize = (maxScale-minScale)/(float)size; - for(unsigned iLut=0; iLut < luts.size(); ++iLut ) { - coefficients_.push_back(emptyCoeff); - for(unsigned addr=0;addrdata(addr); - coefficients_[iLut][addr] = minScale + binSize*y; - } - } - - l1t::LUT* lutEta = params_->tauCalibrationLUTEta(); - size = (1 << lutEta->nrBitsData()); - nBins = (1 << lutEta->nrBitsAddress()); - emptyCoeff.resize(nBins,0.); - binSize = (maxScaleEta-minScaleEta)/(float)size; - coefficients_.push_back(emptyCoeff); - for(unsigned addr=0;addrdata(addr); - coefficients_.back()[addr] = minScaleEta + binSize*y; + for ( auto itr = clusters.cbegin(); itr != clusters.end(); ++itr ) { + math::XYZTLorentzVector p4; + l1t::Tau tau( p4, itr->hwPt(), itr->hwEta(), itr->hwPhi(), 0); + taus.push_back(tau); } } - -double l1t::Stage2Layer2TauAlgorithmFirmwareImp1::calibratedPt(int hwPtEm, int hwPtHad, int ieta) -{ - // ET calibration - bool barrel = (ieta<=17); - unsigned int nBins = coefficients_[0].size(); - double e = (double)hwPtEm*params_->tauLsb(); - double h = (double)hwPtHad*params_->tauLsb(); - double calibPt = 0.; - int ilutOffset = (barrel) ? 0: 3; - unsigned int ibin=(unsigned int)(floor(e+h)); - if (ibin >= nBins -1) ibin = nBins-1; - if(e>0.) { - double offset = (barrel) ? offsetBarrelEH_ : offsetEndcapsEH_; - calibPt = e*coefficients_[ilutOffset][ibin] + h*coefficients_[1+ilutOffset][ibin] + offset; - } - else { - double offset = (barrel) ? offsetBarrelH_ : offsetEndcapsH_; - calibPt = h*coefficients_[2+ilutOffset][ibin]+offset; - } - - // eta calibration - if(ieta<-28) ieta=-28; - if(ieta>28) ieta=28; - ibin = (ieta>0 ? ieta+27 : ieta+28); - calibPt *= coefficients_.back()[ibin]; - - return calibPt; -} diff --git a/L1Trigger/L1TCalorimeter/src/firmware/Stage2MainProcessorImp1.cc b/L1Trigger/L1TCalorimeter/src/firmware/Stage2MainProcessorImp1.cc index b42063aff1fdc..8caa21c3b8161 100644 --- a/L1Trigger/L1TCalorimeter/src/firmware/Stage2MainProcessorImp1.cc +++ b/L1Trigger/L1TCalorimeter/src/firmware/Stage2MainProcessorImp1.cc @@ -30,7 +30,6 @@ l1t::Stage2MainProcessorFirmwareImp1::Stage2MainProcessorFirmwareImp1(unsigned f m_egAlgo = new Stage2Layer2EGammaAlgorithmFirmwareImp1(m_params); m_tauClusterAlgo = new Stage2Layer2ClusterAlgorithmFirmwareImp1(m_params, Stage2Layer2ClusterAlgorithmFirmwareImp1::ClusterInput::EH); - dynamic_cast(m_tauClusterAlgo)->trimCorners(false); // maybe have to think to a better solution without need to dynamic cast m_tauAlgo = new Stage2Layer2TauAlgorithmFirmwareImp1(m_params); m_jetAlgo = new Stage2Layer2JetAlgorithmFirmwareImp1(m_params); m_sumAlgo = new Stage2Layer2EtSumAlgorithmFirmwareImp1(m_params); @@ -61,7 +60,7 @@ void l1t::Stage2MainProcessorFirmwareImp1::processEvent(const std::vectorprocessEvent( inTowers, outTowers ); m_egClusterAlgo->processEvent( outTowers, egClusters ); m_egAlgo->processEvent( egClusters, outTowers, egammas ); - m_tauClusterAlgo->processEvent( outTowers, tauClusters ); + m_egClusterAlgo->processEvent( outTowers, tauClusters ); m_tauAlgo->processEvent( tauClusters, taus ); m_jetAlgo->processEvent( outTowers, jets ); m_sumAlgo->processEvent( outTowers, towerSums ); diff --git a/L1Trigger/L1TCalorimeter/src/legacyGtHelper.cc b/L1Trigger/L1TCalorimeter/src/legacyGtHelper.cc deleted file mode 100644 index c9fe4398fb99b..0000000000000 --- a/L1Trigger/L1TCalorimeter/src/legacyGtHelper.cc +++ /dev/null @@ -1,87 +0,0 @@ -// legacyGtHelper.cc -// Authors: Alex Barbieri -// -// This is a collection of helper methods to make sure that -// the objects passed to the legacy GT are using the proper -// Et scales and eta coordinates. - -#include "L1Trigger/L1TCalorimeter/interface/legacyGtHelper.h" - -namespace l1t { - - void JetToGtScales(CaloParamsStage1 *params, - const std::vector * input, - std::vector *output){ - - for(std::vector::const_iterator itJet = input->begin(); - itJet != input->end(); ++itJet){ - const unsigned newEta = gtEta(itJet->hwEta()); - const uint16_t rankPt = params->jetScale().rank((uint16_t)itJet->hwPt()); - - ROOT::Math::LorentzVector > ldummy(0,0,0,0); - - l1t::Jet gtJet(*&ldummy, rankPt, newEta, itJet->hwPhi(), itJet->hwQual()); - output->push_back(gtJet); - } - } - - void EGammaToGtScales(CaloParamsStage1 *params, - const std::vector * input, - std::vector *output){ - - for(std::vector::const_iterator itEGamma = input->begin(); - itEGamma != input->end(); ++itEGamma){ - const unsigned newEta = gtEta(itEGamma->hwEta()); - const uint16_t rankPt = (uint16_t)itEGamma->hwPt(); - - ROOT::Math::LorentzVector > ldummy(0,0,0,0); - - l1t::EGamma gtEGamma(*&ldummy, rankPt, newEta, itEGamma->hwPhi(), - itEGamma->hwQual(), itEGamma->hwIso()); - output->push_back(gtEGamma); - } - } - - void TauToGtScales(CaloParamsStage1 *params, - const std::vector * input, - std::vector *output){ - for(std::vector::const_iterator itTau = input->begin(); - itTau != input->end(); ++itTau){ - const unsigned newEta = gtEta(itTau->hwEta()); - const uint16_t rankPt = params->jetScale().rank((uint16_t)itTau->hwPt()); - - ROOT::Math::LorentzVector > ldummy(0,0,0,0); - - l1t::Tau gtTau(*&ldummy, rankPt, newEta, itTau->hwPhi(), itTau->hwQual()); - output->push_back(gtTau); - } - } - - void EtSumToGtScales(CaloParamsStage1 *params, - const std::vector * input, - std::vector *output){ - for(std::vector::const_iterator itEtSum = input->begin(); - itEtSum != input->end(); ++itEtSum){ - - uint16_t rankPt; - // Hack for now to make sure they come out with the right scale - //rankPt = params->jetScale().rank((uint16_t)itEtSum->hwPt()); - rankPt = (uint16_t)itEtSum->hwPt(); - if (EtSum::EtSumType::kMissingHt == itEtSum->getType()) - rankPt = params->HtMissScale().rank(itEtSum->hwPt()*params->emScale().linearLsb()); - - ROOT::Math::LorentzVector > ldummy(0,0,0,0); - - l1t::EtSum gtEtSum(*&ldummy, itEtSum->getType(), rankPt, 0, - itEtSum->hwPhi(), itEtSum->hwQual()); - - output->push_back(gtEtSum); - } - } - - const unsigned int gtEta(const unsigned int iEta) - { - unsigned rctEta = (iEta<11 ? 10-iEta : iEta-11); - return (((rctEta % 7) & 0x7) | (iEta<11 ? 0x8 : 0)); - } -} diff --git a/L1Trigger/L1TCalorimeter/test/SimL1Emulator_Stage1.py b/L1Trigger/L1TCalorimeter/test/SimL1Emulator_Stage1.py deleted file mode 100644 index d989d090e3512..0000000000000 --- a/L1Trigger/L1TCalorimeter/test/SimL1Emulator_Stage1.py +++ /dev/null @@ -1,61 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process('L1TEMULATION') - -process.load('Configuration.StandardSequences.Services_cff') -process.load('FWCore.MessageService.MessageLogger_cfi') -process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff') -process.load('Configuration.EventContent.EventContent_cff') -process.load('Configuration.Geometry.GeometryIdeal_cff') - -# Select the Message Logger output you would like to see: -process.load('FWCore.MessageService.MessageLogger_cfi') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(100) - ) - -# Input source -process.source = cms.Source("PoolSource", - secondaryFileNames = cms.untracked.vstring(), - fileNames = cms.untracked.vstring("root://xrootd.unl.edu//store/mc/Fall13dr/Neutrino_Pt-2to20_gun/GEN-SIM-RAW/tsg_PU40bx25_POSTLS162_V2-v1/00005/02B79593-F47F-E311-8FF6-003048FFD796.root") - ) - - -process.output = cms.OutputModule( - "PoolOutputModule", - splitLevel = cms.untracked.int32(0), - eventAutoFlushCompressedSize = cms.untracked.int32(5242880), -# outputCommands = cms.untracked.vstring('keep *', -# 'drop FEDRawDataCollection_rawDataRepacker_*_*', -# 'drop FEDRawDataCollection_virginRawDataRepacker_*_*'), - outputCommands = cms.untracked.vstring('drop *', - 'keep *_*_*_L1TEMULATION'), - fileName = cms.untracked.string('SimL1Emulator_Stage1_PP.root'), - dataset = cms.untracked.PSet( - filterName = cms.untracked.string(''), - dataTier = cms.untracked.string('') - ) - ) -process.options = cms.untracked.PSet() - -# Other statements -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag.connect = cms.string('frontier://FrontierProd/CMS_COND_31X_GLOBALTAG') -process.GlobalTag.globaltag = cms.string('POSTLS162_V2::All') - -process.load('L1Trigger.L1TCalorimeter.L1TCaloStage1_PPFromRaw_cff') - -process.p1 = cms.Path( - process.L1TCaloStage1_PPFromRaw - +process.l1ExtraLayer2 - ) - -process.output_step = cms.EndPath(process.output) - -process.schedule = cms.Schedule( - process.p1, process.output_step - ) - -# Spit out filter efficiency at the end. -process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True)) diff --git a/L1Trigger/L1TCalorimeter/test/SingleElectronPt25_Stage2Test.py b/L1Trigger/L1TCalorimeter/test/SingleElectronPt25_Stage2Test.py index 5c2be360a3903..2355a6a6f8c53 100644 --- a/L1Trigger/L1TCalorimeter/test/SingleElectronPt25_Stage2Test.py +++ b/L1Trigger/L1TCalorimeter/test/SingleElectronPt25_Stage2Test.py @@ -84,10 +84,9 @@ ) # upgrade calo stage 2 -process.load('L1Trigger.L1TCalorimeter.caloStage2Params_cfi') process.load('L1Trigger.L1TCalorimeter.L1TCaloStage2_cff') -process.caloStage2Layer1Digis.ecalToken = cms.InputTag("simEcalTriggerPrimitiveDigis") -process.caloStage2Layer1Digis.hcalToken = cms.InputTag("simHcalTriggerPrimitiveDigis") +process.l1tCaloStage2Layer1Digis.ecalToken = cms.InputTag("simEcalTriggerPrimitiveDigis") +process.l1tCaloStage2Layer1Digis.hcalToken = cms.InputTag("simHcalTriggerPrimitiveDigis") process.esTest = cms.EDAnalyzer("EventSetupRecordDataGetter", toGet = cms.VPSet(cms.PSet( record = cms.string('L1TCaloParamsRcd'), @@ -111,8 +110,8 @@ threshold = cms.untracked.string('DEBUG') ), debugModules = cms.untracked.vstring( - 'caloStage2TowerDigis', - 'caloStage2Digis' + 'l1tCaloStage2TowerDigis', + 'l1tCaloStage2Digis' ) ) diff --git a/L1Trigger/L1TCalorimeter/test/TTbarRelVal_Stage1Test.py b/L1Trigger/L1TCalorimeter/test/TTbarRelVal_Stage1Test.py deleted file mode 100644 index bb8e587b9abdf..0000000000000 --- a/L1Trigger/L1TCalorimeter/test/TTbarRelVal_Stage1Test.py +++ /dev/null @@ -1,100 +0,0 @@ -# Auto generated configuration file -# using: -# Revision: 1.19 -# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v -# with command line options: l1 -s L1 --pileup=NoPileUp --geometry DB --conditions=auto:startup -n 1 --no_exec --filein=/store/mc/Fall13dr/TT_Tune4C_13TeV-pythia8-tauola/GEN-SIM-RAW/tsg_PU40bx25_POSTLS162_V2-v1/00000/007939EF-8075-E311-B675-0025905938AA.root -import FWCore.ParameterSet.Config as cms - -process = cms.Process('L1') - -# import of standard configurations -process.load('Configuration.StandardSequences.Services_cff') -process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') -process.load('FWCore.MessageService.MessageLogger_cfi') -process.load('Configuration.EventContent.EventContent_cff') -process.load('SimGeneral.MixingModule.mixNoPU_cfi') -process.load('Configuration.StandardSequences.GeometryRecoDB_cff') -process.load('Configuration.StandardSequences.MagneticField_38T_cff') -process.load('Configuration.StandardSequences.SimL1Emulator_cff') -process.load('Configuration.StandardSequences.EndOfProcess_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10) -) - -# Input source -process.source = cms.Source("PoolSource", - secondaryFileNames = cms.untracked.vstring(), - fileNames = cms.untracked.vstring('/store/relval/CMSSW_7_1_0_pre8/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU25ns_PRE_LS171_V9-v1/00000/104FC845-61E7-E311-BBEA-0025905A60B2.root') -) - -process.options = cms.untracked.PSet( - -) - -# Production Info -process.configurationMetadata = cms.untracked.PSet( - version = cms.untracked.string('$Revision: 1.19 $'), - annotation = cms.untracked.string('l1 nevts:1'), - name = cms.untracked.string('Applications') -) - -# Output definition - -process.RECOSIMoutput = cms.OutputModule("PoolOutputModule", - splitLevel = cms.untracked.int32(0), - eventAutoFlushCompressedSize = cms.untracked.int32(5242880), - outputCommands = cms.untracked.vstring("keep *"),#process.RECOSIMEventContent.outputCommands, - fileName = cms.untracked.string('L1_stage1.root'), - dataset = cms.untracked.PSet( - filterName = cms.untracked.string(''), - dataTier = cms.untracked.string('') - ) -) - -# Additional output definition - -# Other statements -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:startup', '') - -# enable debug message logging for our modules -process.MessageLogger = cms.Service( - "MessageLogger", - destinations = cms.untracked.vstring( - 'detailedInfo', - 'critical' - ), - detailedInfo = cms.untracked.PSet( - threshold = cms.untracked.string('DEBUG') - ), - debugModules = cms.untracked.vstring( - 'l1tCaloStage1Digis' - ) -) - -# to get input digis -process.load('Configuration.StandardSequences.RawToDigi_cff') - -# upgrade calo stage 1 -process.load('L1Trigger.L1TCalorimeter.L1TCaloStage1_PPFromRaw_cff') -#process.load('L1Trigger.L1TCalorimeter.l1tStage1CaloAnalyzer_cfi') - -# TTree output file -#process.load("CommonTools.UtilAlgos.TFileService_cfi") -#process.TFileService.fileName = cms.string('l1t.root') - -# Path and EndPath definitions -process.L1simulation_step = cms.Path( - process.ecalDigis - +process.hcalDigis - +process.L1TCaloStage1_PPFromRaw -) - -process.RECOSIMoutput_step = cms.EndPath(process.RECOSIMoutput) - -# Schedule definition -process.schedule = cms.Schedule(process.L1simulation_step, - process.RECOSIMoutput_step) - diff --git a/L1Trigger/L1TCalorimeter/test/TTbarRelVal_Stage2Test.py b/L1Trigger/L1TCalorimeter/test/TTbarRelVal_Stage2Test.py index 73f8706d0f2dc..a858d83e58bf8 100644 --- a/L1Trigger/L1TCalorimeter/test/TTbarRelVal_Stage2Test.py +++ b/L1Trigger/L1TCalorimeter/test/TTbarRelVal_Stage2Test.py @@ -26,7 +26,7 @@ # Input source process.source = cms.Source("PoolSource", secondaryFileNames = cms.untracked.vstring(), - fileNames = cms.untracked.vstring('/store/relval/CMSSW_7_1_0_pre8/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU25ns_PRE_LS171_V9-v1/00000/104FC845-61E7-E311-BBEA-0025905A60B2.root') + fileNames = cms.untracked.vstring('/store/relval/CMSSW_7_1_0_pre2/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/POSTLS170_V3-v1/00000/20379CB0-E28E-E311-97BE-0026189438A7.root') ) process.options = cms.untracked.PSet( @@ -59,6 +59,10 @@ from Configuration.AlCa.GlobalTag import GlobalTag process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:startup', '') +# upgrade calo stage 2 +process.load('L1Trigger.L1TCalorimeter.L1TCaloStage2_cff') +process.load('L1Trigger.L1TCalorimeter.l1tCaloAnalyzer_cfi') + # enable debug message logging for our modules process.MessageLogger = cms.Service( "MessageLogger", @@ -75,24 +79,24 @@ ) ) -# Raw to digi -process.load('Configuration.StandardSequences.RawToDigi_cff') - -# upgrade calo stage 2 -process.load('L1Trigger.L1TCalorimeter.L1TCaloStage2_PPFromRaw_cff') -process.load('L1Trigger.L1TCalorimeter.l1tCaloAnalyzer_cfi') - # TTree output file process.load("CommonTools.UtilAlgos.TFileService_cfi") process.TFileService.fileName = cms.string('l1t.root') -# Path and EndPath definitions -process.L1simulation_step = cms.Path( - process.ecalDigis - +process.hcalDigis - +process.L1TCaloStage2_PPFromRaw - +process.l1tStage2CaloAnalyzer) +process.load('Configuration.StandardSequences.RawToDigi_cff') +process.load('Configuration/StandardSequences/L1HwVal_cff') + +# bug fix for missing HCAL TPs in MC RAW +from SimCalorimetry.HcalTrigPrimProducers.hcaltpdigi_cff import HcalTPGCoderULUT +HcalTPGCoderULUT.LUTGenerationMode = cms.bool(True) +process.l1tCaloStage2Layer1Digis.hcalToken = cms.InputTag("valHcalTriggerPrimitiveDigis") +# Path and EndPath definitions +process.L1simulation_step = cms.Path(process.ecalDigis + +process.hcalDigis + +process.valHcalTriggerPrimitiveDigis + +process.L1TCaloStage2 + +process.l1tCaloAnalyzer) process.RECOSIMoutput_step = cms.EndPath(process.RECOSIMoutput) # Schedule definition diff --git a/L1Trigger/L1TCalorimeter/test/stage2Pattern-SingleE25.py b/L1Trigger/L1TCalorimeter/test/stage2Pattern-SingleE25.py deleted file mode 100644 index fe94ff1052167..0000000000000 --- a/L1Trigger/L1TCalorimeter/test/stage2Pattern-SingleE25.py +++ /dev/null @@ -1,131 +0,0 @@ -# Auto generated configuration file -# using: -# Revision: 1.19 -# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v -# with command line options: SingleElectronPt10_cfi.py -s GEN,SIM,DIGI,L1 --pileup=NoPileUp --geometry DB --conditions=auto:startup -n 1 --no_exec -import FWCore.ParameterSet.Config as cms - -process = cms.Process('L1') - -# import of standard configurations -process.load('Configuration.StandardSequences.Services_cff') -process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') -process.load('FWCore.MessageService.MessageLogger_cfi') -process.load('Configuration.EventContent.EventContent_cff') -process.load('SimGeneral.MixingModule.mixNoPU_cfi') -process.load('Configuration.StandardSequences.GeometryRecoDB_cff') -process.load('Configuration.Geometry.GeometryDB_cff') -process.load('Configuration.StandardSequences.MagneticField_38T_cff') -process.load('Configuration.StandardSequences.Generator_cff') -process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic8TeVCollision_cfi') -process.load('GeneratorInterface.Core.genFilterSummary_cff') -process.load('Configuration.StandardSequences.SimIdeal_cff') -process.load('Configuration.StandardSequences.Digi_cff') -process.load('Configuration.StandardSequences.SimL1Emulator_cff') -process.load('Configuration.StandardSequences.EndOfProcess_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(32) -) - -# Input source -process.source = cms.Source("EmptySource") - -process.options = cms.untracked.PSet( - -) - -# Production Info -process.configurationMetadata = cms.untracked.PSet( - version = cms.untracked.string('$Revision: 1.19 $'), - annotation = cms.untracked.string('SingleElectronPt10_cfi.py nevts:1'), - name = cms.untracked.string('Applications') -) - -# Output definition - -process.output = cms.OutputModule("PoolOutputModule", - splitLevel = cms.untracked.int32(0), - eventAutoFlushCompressedSize = cms.untracked.int32(5242880), - outputCommands = cms.untracked.vstring("keep *", - "drop *_mix_*_*"), - fileName = cms.untracked.string('SingleElectronPt10_cfi_py_GEN_SIM_DIGI_L1.root'), - dataset = cms.untracked.PSet( - filterName = cms.untracked.string(''), - dataTier = cms.untracked.string('') - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('generation_step') - ) -) - -# Additional output definition - -# Other statements -process.genstepfilter.triggerConditions=cms.vstring("generation_step") -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:startup', '') - -process.generator = cms.EDProducer("FlatRandomPtGunProducer", - PGunParameters = cms.PSet( - MaxPt = cms.double(25.01), - MinPt = cms.double(24.99), - PartID = cms.vint32(11), - MaxEta = cms.double(2.5), - MaxPhi = cms.double(3.14159265359), - MinEta = cms.double(-2.5), - MinPhi = cms.double(-3.14159265359) - ), - Verbosity = cms.untracked.int32(0), - psethack = cms.string('single electron pt 25'), - AddAntiParticle = cms.bool(True), - firstRun = cms.untracked.uint32(1) -) - -# enable debug message logging for our modules -process.MessageLogger = cms.Service( - "MessageLogger", - destinations = cms.untracked.vstring( - 'detailedInfo', - 'critical' - ), - detailedInfo = cms.untracked.PSet( - threshold = cms.untracked.string('DEBUG') - ), - debugModules = cms.untracked.vstring( - 'caloStage2TowerDigis', - 'caloStage2Digis' - ) -) - -# TTree output file -process.load("CommonTools.UtilAlgos.TFileService_cfi") -process.TFileService.fileName = cms.string('l1t.root') - -# upgrade calo stage 2 -process.load('L1Trigger.L1TCalorimeter.caloStage2Params_cfi') -process.load('L1Trigger.L1TCalorimeter.L1TCaloStage2_cff') -process.caloStage2Layer1Digis.ecalToken = cms.InputTag("simEcalTriggerPrimitiveDigis") -process.caloStage2Layer1Digis.hcalToken = cms.InputTag("simHcalTriggerPrimitiveDigis") - -process.load('L1Trigger.L1TCalorimeter.l1tStage2InputPatternWriter_cfi') -process.l1tStage2InputPatternWriter.filename = cms.untracked.string("pattern-SingleE25-32evt.txt") - -# Path and EndPath definitions -process.generation_step = cms.Path(process.pgen) -process.simulation_step = cms.Path(process.psim) -process.digitisation_step = cms.Path(process.pdigi) -process.L1simulation_step = cms.Path(process.SimL1Emulator - +process.L1TCaloStage2 - +process.l1tStage2InputPatternWriter) -process.genfiltersummary_step = cms.EndPath(process.genFilterSummary) -process.endjob_step = cms.EndPath(process.endOfProcess) -process.output_step = cms.EndPath(process.output) - -# Schedule definition -process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.digitisation_step,process.L1simulation_step,process.endjob_step,process.output_step) -# filter all path with the production filter sequence -for path in process.paths: - getattr(process,path)._seq = process.generator * getattr(process,path)._seq - diff --git a/L1Trigger/L1TGlobal/data/Luminosity/startup/L1Menu_Reference_2014.xml b/L1Trigger/L1TGlobal/data/Luminosity/startup/L1Menu_Reference_2014.xml index ac425e04f6f9f..212df565b3978 100644 --- a/L1Trigger/L1TGlobal/data/Luminosity/startup/L1Menu_Reference_2014.xml +++ b/L1Trigger/L1TGlobal/data/Luminosity/startup/L1Menu_Reference_2014.xml @@ -1,547 +1,348 @@ - - - - L1Menu_Reference_2014_v4 - 2014-06-18T15:00:36 - 98c404c2-747e-40ec-9255-39bc3018a84b - Based on L1Menu_Reference_2014_v2 exteneded by three muon conditions and corresponding algorithms. - L1T_Scales_IN2013005 - 0.1.2 - - - Arnold - 2014-07-24T10:16:34 - - - Arnold - 2014-07-24T10:00:16 - - - Arnold - 2014-02-26T11:41:50 - - - Arnold - 2014-02-26T11:20:54 - - - Arnold - 2014-02-26T11:19:49 - - - Arnold - 2014-02-26T10:40:47 - - - Arnold - 2014-02-26T10:40:17 - - - Arnold - 2014-02-25T14:14:04 - - - - - - da3d5845-e4d5-40b3-a77d-900c10f787f6 - double_eg_1 - Reference condition according to file gtl_module_example.vhd - false - double - ge - eg - - - 30 - - 36 - 107 - - - - 30 - - 108 - 35 - - - - 0 - - - 6cd22f2e-f69d-4207-b326-6b3927d5ac3d - quad_jet_1 - - false - quad - ge - jet - - - 20 - - 72 - 143 - - - - 30 - - 72 - 143 - - - - 40 - - 0 - 71 - - - - 50 - - 0 - 71 - - - - 0 - - - 0fbb0530-013a-4d62-94b4-44c558d4a6dd - single_eg_1 - - false - single - ge - eg - - - 30 - - 108 - 143 - - - - 0 - - - 3da57fbc-17ea-4c83-9a72-8670933e887d - single_eg_2 - - false - single - ge - eg - - - 30 - - 108 - 143 - - - - -1 - - - 29bdaaec-2bad-41ac-9da7-7785cce7be11 - double_wsc_tau_1 - Reference condition according to file gtl_module_example.vhd - false - double_wsc - ge - tau - - - 80 - - 0 - 71 - - - 0 - 114 - - - - 128 - - 72 - 143 - - - 141 - 255 - - - - - - 0 - 35 - - - 2 - 159 - - - 0 - - - e44265be-e003-43b9-9158-175554bdc872 - single_muon_cosmic_1 - preliminary muon condition implementation - false - single - ge - - - 20 - - 0 - 71 - - ign - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - false - false - false - false - - - - ig - 0 - - - e9eec8f7-25f7-4247-9f13-fc555ba33e33 - double_muon_cosmic_1 - preliminary muon condition implementation - false - double - ge - - - 40 - - 0 - 71 - - ign - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - false - false - false - false - - - - 80 - - 0 - 71 - - ign - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - false - false - false - false - - - - ig - 0 - - - b5f0d7fd-69db-4eb1-b4f0-679c4053c908 - quad_muon_wsc_1 - preliminary muon condition implementation - false - quad - ge - - - 20 - ign - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - false - false - false - false - - - - 40 - ign - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - false - false - false - false - - - - 60 - ign - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - false - false - false - false - - - - 80 - ign - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - false - false - false - false - - - - ig - - - 0 - 35 - - - 2 - 159 - - - 0 - - - - - 14d491e5-f4bf-4ea6-baca-cee189426296 - L1_single_eg_1 - 0 - single_eg_1 - Reference algorithm according to file gtl_module_example.vhd - false - - 0 - 4 - - - - 04bd68b3-4ed0-41b2-9fbc-b25fec0b5cec - L1_double_eg_1 - 1 - double_eg_1 - Reference algorithm according to file gtl_module_example.vhd - false - - 0 - 0 - - - - 092b2950-a0ca-4b91-a1b3-154e8eb8d744 - L1_single_eg_1_single_eg_2 - 5 - single_eg_1 AND single_eg_2 - - false - - 0 - 5 - - - - 39308e8b-c8a1-4947-9379-ac8c3674cc39 - L1_quad_jet_1 - 16 - quad_jet_1 - Reference algorithm according to file gtl_module_example.vhd - false - - 0 - 6 - - - - c27fec44-518c-41a3-98f8-3963a95c9b52 - L1_double_wsc_tau_1 - 31 - double_wsc_tau_1 - Reference algorithm according to file gtl_module_example.vhd - false - - 0 - 3 - - - - cc40e81b-661d-4459-82bc-6c2b52caba65 - L1_single_muon_cosmic_1 - 100 - single_muon_cosmic_1 - - false - - 0 - 2 - - - - 2ee4da3f-b133-42f2-8771-4509e928089d - L1_double_muon_cosmic_1 - 101 - double_muon_cosmic_1 - - false - - 0 - 1 - - - - 393ee78b-d3e9-48c3-8447-58a6c9fa42b0 - L1_quad_muon_wsc_1 - 102 - quad_muon_wsc_1 - - false - - 0 - 7 - - - - + + + + d7faf861-abaf-4c4d-997c-3d8cba3f0cb6 + L1Menu_Reference_2014_v3 + L1T_Scales_IN2013005 + Extended from previous menu L1Menu_Reference_2014_v2 together with M. Jeitler + + + Arnold + 2014-03-28T16:56:57 + + + Arnold + 2014-02-26T11:41:50 + + + Arnold + 2014-02-26T11:20:54 + + + Arnold + 2014-02-26T11:19:49 + + + Arnold + 2014-02-26T10:40:47 + + + Arnold + 2014-02-26T10:40:17 + + + Arnold + 2014-02-25T14:14:04 + + + + + + 59fba8ff-9573-40a9-be28-791930698c24 + single_jet_5 + + false + single + ge + jet + + + 10 + + + 0 + + + dbf518fb-08ee-490f-8039-13d124386bae + single_eg_15_er + single eg eta restricted + false + single + ge + eg + + + 30 + + 222 + 33 + + + + 0 + + + aa69de32-03ad-49dc-9e7a-340f1cd59734 + single_eg_15 + + false + single + ge + eg + + + 30 + + + 0 + + + 410d0856-fe5a-474d-88cc-ef1143744131 + quad_jet_25_20_15_10 + + false + quad + ge + jet + + + 20 + + + 30 + + + 40 + + + 50 + + + 0 + + + 7353d14f-e32d-40a2-8c7a-eae492717b45 + double_wsc_eg_back2back + + false + double_wsc + ge + eg + + + 2 + + + 2 + + + + + 69 + 74 + + + 0 + 229 + + + 0 + + + 1b2fbc2f-9644-4054-8ea3-6101fa01baa4 + double_wsc_tau_1 + Reference condition according to file gtl_module_example.vhd + false + double_wsc + ge + tau + + + 80 + + + 128 + + + + + 0 + 35 + + + 2 + 159 + + + 0 + + + 72c985d2-e072-4062-a460-22a24a8444dd + single_eg_10 + + false + single + ge + eg + + + 20 + + + 0 + + + cea72185-3194-460e-9a49-5ea163b19056 + single_eg_10_BXmin1 + + false + single + ge + eg + + + 20 + + + -1 + + + 8f87332d-2703-49a2-8cc6-d804b71d192c + double_eg_15_phirestr + phi restricted to bottom + false + double + ge + eg + + + 30 + + 72 + 143 + + + + 30 + + 72 + 143 + + + + 0 + + + + + 70468279-1621-49c9-aed4-abe85c6f615f + L1_single_eg_15 + 0 + single_eg_15 + + false + + 0 + 4 + + + + b64eaff2-0098-4849-8d32-0be0ed1f965b + L1_double_eg_15_phirestr + 1 + double_eg_15_phirestr + + false + + 0 + 0 + + + + 684f59f9-8b78-438b-8895-09ef5aa5f516 + L1_eg_back2back + 2 + double_wsc_eg_back2back + + false + + 0 + 1 + + + + 6f44ab96-8862-4e89-8863-11d28779e01c + L1_single_eg_15_er + 3 + single_eg_15_er + + false + + 0 + 9 + + + + 5e3585ff-3d74-4610-a393-39120eed81f4 + L1_single_jet_5 + 4 + single_jet_5 + + false + + 0 + 8 + + + + 18ca1619-f361-4f5b-aebf-98ee34e73bee + L1_single_eg_15_single_jet_5 + 5 + single_eg_15 AND single_jet_5 + + false + + 0 + 3 + + + + 29593eb2-a06d-417e-b99a-d4fac881321c + L1_single_eg_10 + 6 + single_eg_10 + + false + + 0 + 7 + + + + e29f1ab8-4e27-43b7-9ab2-535935c15dd7 + L1_single_eg_10_BXmin1 + 7 + single_eg_10_BXmin1 + + false + + 0 + 2 + + + + d6be382c-e15f-4920-99b2-96875fd4502a + L1_quad_jet_1 + 16 + quad_jet_25_20_15_10 + + false + + 0 + 5 + + + + 5ec3ced8-7ab7-4c36-9ddb-cdb8cb8c5538 + L1_double_wsc_tau_1 + 31 + double_wsc_tau_1 + + false + + 0 + 6 + + + + diff --git a/L1Trigger/L1TGlobal/data/Luminosity/startup/L1TriggerMenu.xsd b/L1Trigger/L1TGlobal/data/Luminosity/startup/L1TriggerMenu.xsd index bbcbd2b420d70..eb65403ba0ab3 100644 --- a/L1Trigger/L1TGlobal/data/Luminosity/startup/L1TriggerMenu.xsd +++ b/L1Trigger/L1TGlobal/data/Luminosity/startup/L1TriggerMenu.xsd @@ -1,645 +1,804 @@ - - - - - - - - - - - - Container for holding an UUID (universally unique identifier) 128 bit - identifier (00000000-0000-0000-0000-000000000000). - - - - - - - - - - - - Time stamp containing date and time information in the following form - "YYYY-MM-DDThh:mm:ss". - - - - - - - - - - String for general purpose labels names, maximum length is limited to - 1024 characters in compliance to the database. - - - - - - - - - - - String for description texts, maximum length is limited to 4000 - characters in compliance to the database. - - - - - - - - - - - - - String for L1T-Menu name, maximum length is limited to 1024 characters - in compliance to the database. Allowed characters are a-z, A-Z, - underscores and numbers. The string must begin with "L1Menu_". - - - - - - - - - - - String for database scales set, maximum length is limited to 1024 - characters in compliance to the database. Allowed characters are a-z, - A-Z, underscores and numbers. The string must begin with "L1T_Scales_". - - - - - - - - - - - Version number, maximum length is limited to 16 characters. Allowed - format is "{majour}.{minor}.{revison}". For example "1.4.0". Not - stored in the database. - - - - - - - - - - - - - - A list of authors that applied changes to the menu. Not stored to the - database. - - - - - - - - - - - Documents a new revision, stores the authors or editors name and a - timestamp of the last changes. Optional attributes are the username and - hostname of the machine used to apply the changes. Not stored to the - database. - - - - - - - - - - - - - - - - Defines the comparison mode for transversal energy/impulse values. - * eq (==) - * ge (>=) - - - - - - - - - - - - Relative bunch crossing offset for input data. Allowed range is -2 up to - +2. - - - - - - - - - - - - - - String for condition name, maximum length is limited to 256 characters - in compliance to the database. Allowed characters are a-z, A-Z, - underscores and numbers. - - - - - - - - - - - - Enumeration of different condition template types. - * single object condition - * double objects condition - * triple objects condition - * quad objects condition - * double objects condition with spatial correlation - - - - - - - - - - - - - - - Type of calorimeter object types. - * eg - * jet - * tau - - - - - - - - - - - - - Requested charge mode for muons. - * pos (positive) - * neg (negative) - * ign (ignore) - - - - - - - - - - - - - Requested charge correaltion mode for muons. - * ls (like sign) - * os (opposite sign) - * ig (ignore) - - - - - - - - - - - - - Threshold of transversal energy for conditions. - - - - - - - - - Threshold of transversal impulse for muon conditions. - - - - - - - - - - - String for algorithm name, maximum length is limited to 300 characters - in compliance to the database. Allowed characters are a-z, A-Z, - underscores and numbers. - - - - - - - - - - - - Unsigned integer of 32 bit for algorithm index. Limited in range from 0 - up to 511. - - - - - - - - - - - - String for algorithm logical expression, maximum length is limited to - 4000 characters in compliance to the database. Allowed characters are - a-z, A-Z, underscores, numbers, white spaces and braces. - - - - - - - - - - - - Unsigned integer of 32 bit for mapped hardware module index. Limited - in range from 1 up to 7 modules. - - - - - - - - - - - - Unsigned integer of 32 bit for mapped algorithm hardware index per - module. Derives from type AlgorithmIndex. - - - - - - - - - - - Meta container containing the menu name and other meta data entries. - - - - - - - - - - - - - - - - - - List container holding all condition instances. - - - - - - - - - - - - - - Condition type base definition (abstract). It contains all common - condition attributes. - - - - - - - - - - - - - - Window type for phi and eta angles. - - - - - - - - - - - - Container holding eta and phi delta ranges to be used with spatial - correlations. - - - - - - - - - - - - Universal object parameter set to be used for eg, jet and tau objects. - Phi and eta ranges can occur up to two times (up to two windows) or can - be omitted (full range is used). - - - - - - - - - - - - - Container capable of storing up to 4 object parameter sets. - - - - - - - - - - - Calorimeter condition type. - - - - - - - - - - - - - - - - - - - - - - Object parameter set to be used for muon objects. Phi and eta ranges can - occur up to two times (up to two windows) or can be omitted (full range - is used). - - - - - - - - - - - - - - - - Container capable of storing up to 4 object parameter sets. - - - - - - - - - - - Quality lookup table with 16 flags. - - - - - - - - - - - Isolation lookup table with four flags. - - - - - - - - - - - Muon condition type. - - - - - - - - - - - - - - - - - - - - Muon condition type. - - - - - - - - - - - Correlation condition type. - - - - - - - - - - - Algorithm container holding the name, index and logical expression. - - - - - - - - - - - - - - - - - Algorithm mapping holding the hardware module and hardware index. - - - - - - - - - - - - List container holding all algorithm instances. It is limited to the - maximum amount of algorithms in compliance with the hardware limits. - - - - - - - - - - - The main L1 trigger menu container holding meta data, conditions and - algorithms. The version attribute controls the interface version of - the L1 trigger menu. - - - - - - - - - - - - - - + + + + + + + + + + + + Container for holding an UUID (universally unique identifier) 128 bit + identifier (00000000-0000-0000-0000-000000000000). + + + + + + + + + + + + Time stamp containing date and time information in the following form + "YYYY-MM-DDThh:mm:ss". + + + + + + + + + + String for general purpose labels like author names, maximum length is + limited to 50 characters in compliance to the database. + + + + + + + + + + + String for description texts, maximum length is limited to 500 + characters in compliance to the database. + + + + + + + + + + + + + String for L1T-Menu name, maximum length is limited to 460 characters in + compliance to the database. Allowed characters are a-z, A-Z, underscores + and numbers. The string must begin with "L1Menu_". + + + + + + + + + + + + String for scales database key, maximum length is limited to 256 + characters in compliance to the database. Allowed characters are a-z, + A-Z, underscores and numbers. The string must begin with "L1T_Scales_". + + + + + + + + + + + + Unsigned integer of 32 bit for firmware version. + Note: the format of firmware version tracking still need to be specified. + + + + + + + + + + + + A list of authors that applied changes to the menu. + + + + + + + + + + + Documents a new revision, stores the authors or editors name and a + timestamp of the last changes. Optional attributes are the username and + hostname of the machine used to apply the changes. + + + + + + + + + + + + + + + + Defines the comparison mode for the transversal energy value. + * equal (==) + * greater_equal (>=) + + + + + + + + + + + + Relative bunch crossing offset for input data. Allowed range is -2 up to + +2. + + + + + + + + + + + + + + String for condition name, maximum length is limited to 256 characters + in compliance to the database. Allowed characters are a-z, A-Z, + underscores and numbers. + + + + + + + + + + + + Enumeration of different condition template types. + * single object condition + * double objects condition + * triple objects condition + * quad objects condition + * double objects condition with spatial correlation + + + + + + + + + + + + + + + Type of calorimeter object types. + * eg + * jet + * tau + + + + + + + + + + + + + Threshold of transversal energy for conditions. + + + + + + + + + + + String for algorithm name, maximum length is limited to 300 characters + in compliance to the database. Allowed characters are a-z, A-Z, + underscores and numbers. + + + + + + + + + + + + Unsigned integer of 32 bit for algorithm index. Limited in range from 0 + up to 511. + + + + + + + + + + + + String for algorithm logical equation, maximum length is limited to 500 + characters in compliance to the database. Allowed characters are a-z, + A-Z, underscores, numbers, white spaces and braces. + + + + + + + + + + + + Unsigned integer of 32 bit for mapped hardware module index. Limited + in range from 1 up to 7 modules. + + + + + + + + + + + + Unsigned integer of 32 bit for mapped algorithm hardware index per + module. Derives from type AlgorithmIndex. + + + + + + + + + + + Meta container containing the menu name and other meta data entries. + + + + + + + + + + + + + + + List container holding all condition instances. + + + + + + + + + + + + + + + + Condition type base definition (abstract). It contains all common + condition attributes. + + + + + + + + + + + + + + Window type for phi and eta angles. + + + + + + + + + + + + Container holding eta and phi delta ranges to be used with spatial + correlations. + + + + + + + + + + + + Universal object parameter set to be used for eg, jet and tau objects. + Phi and eta ranges can occur up to two times (up to two windows) or can + be omitted (full range is used). + + + + + + + + + + + + + Container capable of storing up to 4 object parameter sets. + + + + + + + + + + + Calorimeter condition type. + + + + + + + + + + + + + + + + + + + + Muon condition type. + + + + + + + + + + + + + + + + + Muon condition type. + + + + + + + + + + + Correlation condition type. + + + + + + + + + + + Invariant mass condition type. + + + + + + + + + + + Delta R condition type. + + + + + + + + + + + Algorithm container holding the name, index and equation. + + + + + + + + + + + + + + + + + Algorithm mapping holding the hardware module and hardware index. + + + + + + + + + + + + List container holding all algorithm instances. It is limited to the + maximum amount of algorithms in compliance with the hardware limits. + + + + + + + + + + + The main L1 trigger menu container holding meta data, conditions and + algorithms. The version attribute controls the interface version of + the L1 trigger menu. + + + + + + + + + + + + + + diff --git a/L1Trigger/L1TGlobal/interface/MuonTemplate.h b/L1Trigger/L1TGlobal/interface/MuonTemplate.h index 9a90b84b464c7..7bda75ddde1e7 100644 --- a/L1Trigger/L1TGlobal/interface/MuonTemplate.h +++ b/L1Trigger/L1TGlobal/interface/MuonTemplate.h @@ -66,16 +66,6 @@ class MuonTemplate : public GtCondition unsigned long long etaRange; unsigned int phiHigh; unsigned int phiLow; - - unsigned int etaWindowLower; - unsigned int etaWindowUpper; - unsigned int etaWindowVetoLower; - unsigned int etaWindowVetoUpper; - - unsigned int phiWindowLower; - unsigned int phiWindowUpper; - unsigned int phiWindowVetoLower; - unsigned int phiWindowVetoUpper; }; // typedef for correlation parameters @@ -84,23 +74,11 @@ class MuonTemplate : public GtCondition struct CorrelationParameter { unsigned int chargeCorrelation; - //unsigned long long deltaEtaRange; + unsigned long long deltaEtaRange; unsigned long long deltaPhiRange0Word; unsigned long long deltaPhiRange1Word; - //unsigned int deltaPhiMaxbits; - - unsigned long long deltaEtaRange; - - unsigned long long deltaPhiRange; unsigned int deltaPhiMaxbits; - - unsigned int deltaEtaRangeLower; - unsigned int deltaEtaRangeUpper; - - unsigned int deltaPhiRangeLower; - unsigned int deltaPhiRangeUpper; - }; public: diff --git a/L1Trigger/L1TGlobal/plugins/BXVectorInputProducer.cc b/L1Trigger/L1TGlobal/plugins/BXVectorInputProducer.cc deleted file mode 100644 index b8d4f2d347ec2..0000000000000 --- a/L1Trigger/L1TGlobal/plugins/BXVectorInputProducer.cc +++ /dev/null @@ -1,535 +0,0 @@ -/// -/// \class l1t::BXVectorInputProducer -/// -/// Description: Create Proper BX Vector Structure for full GT Test Vector Generation including out of time BX. -/// -/// The producer takes the CAL collections with BX=0 and shifts them, inserting them at BX = -2 -/// and ratcheting older BX information through BX = -1, 0, 1, 2. -/// -/// -/// \author: B Winer OSU -/// -/// Modeled after GenToInputProducer.cc - - -// system include files -#include - -// user include files - -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/EDGetToken.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -//#include -#include "DataFormats/L1Trigger/interface/BXVector.h" - -#include "DataFormats/L1Trigger/interface/EGamma.h" -#include "DataFormats/L1Trigger/interface/Muon.h" -#include "DataFormats/L1Trigger/interface/Tau.h" -#include "DataFormats/L1Trigger/interface/Jet.h" -#include "DataFormats/L1Trigger/interface/EtSum.h" - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/JetReco/interface/GenJet.h" -#include "DataFormats/METReco/interface/GenMETCollection.h" -#include "DataFormats/METReco/interface/GenMET.h" - -#include "TMath.h" - -using namespace std; -using namespace edm; - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -namespace l1t { - -// -// class declaration -// - - class BXVectorInputProducer : public EDProducer { - public: - explicit BXVectorInputProducer(const ParameterSet&); - ~BXVectorInputProducer(); - - static void fillDescriptions(ConfigurationDescriptions& descriptions); - - private: - virtual void produce(Event&, EventSetup const&); - virtual void beginJob(); - virtual void endJob(); - virtual void beginRun(Run const&iR, EventSetup const&iE); - virtual void endRun(Run const& iR, EventSetup const& iE); - - int convertPhiToHW(double iphi, int steps); - int convertEtaToHW(double ieta, double minEta, double maxEta, int steps); - int convertPtToHW(double ipt, int maxPt, double step); - - // ----------member data --------------------------- - unsigned long long m_paramsCacheId; // Cache-ID from current parameters, to check if needs to be updated. - //boost::shared_ptr m_dbpars; // Database parameters for the trigger, to be updated as needed. - //boost::shared_ptr m_fwv; - //boost::shared_ptr m_fwv; //not const during testing. - - // BX parameters - int bxFirst_; - int bxLast_; - - unsigned int maxNumMuCands_; - unsigned int maxNumJetCands_; - unsigned int maxNumEGCands_; - unsigned int maxNumTauCands_; - - double jetEtThreshold_; - double tauEtThreshold_; - double egEtThreshold_; - double muEtThreshold_; - - // Control how to end the job - int emptyBxTrailer_; - int emptyBxEvt_; - int eventCnt_; - - // Tokens for inputs from other parts of the L1 system - edm::EDGetToken egToken; - edm::EDGetToken muToken; - edm::EDGetToken tauToken; - edm::EDGetToken jetToken; - edm::EDGetToken etsumToken; - - int counter_; - - std::vector muonVec_bxm2; - std::vector muonVec_bxm1; - std::vector muonVec_bx0; - std::vector muonVec_bxp1; - - std::vector egammaVec_bxm2; - std::vector egammaVec_bxm1; - std::vector egammaVec_bx0; - std::vector egammaVec_bxp1; - - std::vector tauVec_bxm2; - std::vector tauVec_bxm1; - std::vector tauVec_bx0; - std::vector tauVec_bxp1; - - std::vector jetVec_bxm2; - std::vector jetVec_bxm1; - std::vector jetVec_bx0; - std::vector jetVec_bxp1; - - std::vector etsumVec_bxm2; - std::vector etsumVec_bxm1; - std::vector etsumVec_bx0; - std::vector etsumVec_bxp1; - - }; - - // - // constructors and destructor - // - BXVectorInputProducer::BXVectorInputProducer(const ParameterSet& iConfig) - { - - egToken = consumes>(iConfig.getParameter("egInputTag")); - muToken = consumes>(iConfig.getParameter("muInputTag")); - tauToken = consumes>(iConfig.getParameter("tauInputTag")); - jetToken = consumes>(iConfig.getParameter("jetInputTag")); - etsumToken = consumes>(iConfig.getParameter("etsumInputTag")); - - // register what you produce - produces>(); - produces>(); - produces>(); - produces>(); - produces>(); - - // Setup parameters - bxFirst_ = iConfig.getParameter("bxFirst"); - bxLast_ = iConfig.getParameter("bxLast"); - - maxNumMuCands_ = iConfig.getParameter("maxMuCand"); - maxNumJetCands_ = iConfig.getParameter("maxJetCand"); - maxNumEGCands_ = iConfig.getParameter("maxEGCand"); - maxNumTauCands_ = iConfig.getParameter("maxTauCand"); - - jetEtThreshold_ = iConfig.getParameter("jetEtThreshold"); - tauEtThreshold_ = iConfig.getParameter("tauEtThreshold"); - egEtThreshold_ = iConfig.getParameter("egEtThreshold"); - muEtThreshold_ = iConfig.getParameter("muEtThreshold"); - - - emptyBxTrailer_ = iConfig.getParameter("emptyBxTrailer"); - emptyBxEvt_ = iConfig.getParameter("emptyBxEvt"); - - - // set cache id to zero, will be set at first beginRun: - m_paramsCacheId = 0; - eventCnt_ = 0; - } - - - BXVectorInputProducer::~BXVectorInputProducer() - { - } - - - -// -// member functions -// - -// ------------ method called to produce the data ------------ -void -BXVectorInputProducer::produce(Event& iEvent, const EventSetup& iSetup) -{ - - eventCnt_++; - - LogDebug("l1t|Global") << "BXVectorInputProducer::produce function called...\n"; - - // Setup vectors - std::vector muonVec; - std::vector egammaVec; - std::vector tauVec; - std::vector jetVec; - std::vector etsumVec; - - // Set the range of BX....TO DO...move to Params or determine from param set. - int bxFirst = bxFirst_; - int bxLast = bxLast_; - - //outputs - std::auto_ptr egammas (new l1t::EGammaBxCollection(0, bxFirst, bxLast)); - std::auto_ptr muons (new l1t::MuonBxCollection(0, bxFirst, bxLast)); - std::auto_ptr taus (new l1t::TauBxCollection(0, bxFirst, bxLast)); - std::auto_ptr jets (new l1t::JetBxCollection(0, bxFirst, bxLast)); - std::auto_ptr etsums (new l1t::EtSumBxCollection(0, bxFirst, bxLast)); - - std::vector mu_cands_index; - std::vector eg_cands_index; - std::vector tau_cands_index; - - - // Bx to use...grab only bx=0 for now - int bx=0; - - // Make sure that you can get input EG - Handle> inputEgammas; - if( iEvent.getByToken(egToken, inputEgammas) ){ - - for(std::vector::const_iterator eg = inputEgammas->begin(bx); eg != inputEgammas->end(bx); ++eg) { - - if(eg->hwPt()>egEtThreshold_ && egammaVec.size() < maxNumEGCands_ ) { - egammaVec.push_back((*eg)); - } - - } - } - else { - LogTrace("l1t|Global") << ">>> input EG collection not found!" << std::endl; - } - - // Make sure that you can get input Muons - Handle> inputMuons; - if( iEvent.getByToken(muToken,inputMuons) ){ - - for(std::vector::const_iterator mu = inputMuons->begin(bx); mu != inputMuons->end(bx); ++mu) { - - if(mu->hwPt()>muEtThreshold_ && muonVec.size() < maxNumMuCands_ ) { - muonVec.push_back((*mu)); - } - - } - } - else { - LogTrace("l1t|Global") << ">>> input Mu collection not found!" << std::endl; - } - - - // Make sure that you can get input Tau - Handle> inputTaus; - if( iEvent.getByToken(tauToken, inputTaus) ){ - - for(std::vector::const_iterator tau = inputTaus->begin(bx); tau != inputTaus->end(bx); ++tau) { - - if(tau->hwPt()>tauEtThreshold_ && tauVec.size() < maxNumTauCands_ ) { - tauVec.push_back((*tau)); - } - - } - } - else { - LogTrace("l1t|Global") << ">>> input tau collection not found!" << std::endl; - } - - - // Make sure that you can get input jet - Handle> inputJets; - if( iEvent.getByToken(jetToken, inputJets) ){ - - for(std::vector::const_iterator jet = inputJets->begin(bx); jet != inputJets->end(bx); ++jet) { - - if(jet->hwPt()>jetEtThreshold_ && jetVec.size() < maxNumJetCands_ ) { - jetVec.push_back((*jet)); - } - - } - } - else { - LogTrace("l1t|Global") << ">>> input jet collection not found!" << std::endl; - } - - - // Make sure that you can get input etsum - Handle> inputEtsums; - if( iEvent.getByToken(etsumToken, inputEtsums) ){ - - for(std::vector::const_iterator etsum = inputEtsums->begin(bx); etsum != inputEtsums->end(bx); ++etsum) { - - etsumVec.push_back((*etsum)); - - } - } - else { - LogTrace("l1t|Global") << ">>> input etsum collection not found!" << std::endl; - } - - - // Insert all the bx into the L1 Collections - LogTrace("l1t|Global") << "Event " << eventCnt_ << " EmptyBxEvt " << emptyBxEvt_ << " emptyBxTrailer " << emptyBxTrailer_ << " diff " << (emptyBxEvt_ - eventCnt_) << std::endl; - - - // Fill Muons - for( int iMu=0; iMupush_back(-2, muonVec_bxm2[iMu]); - } - for( int iMu=0; iMupush_back(-1, muonVec_bxm1[iMu]); - } - for( int iMu=0; iMupush_back(0, muonVec_bx0[iMu]); - } - for( int iMu=0; iMupush_back(1, muonVec_bxp1[iMu]); - } - if(emptyBxTrailer_<=(emptyBxEvt_ - eventCnt_)) { - for( int iMu=0; iMupush_back(2, muonVec[iMu]); - } - } else { - // this event is part of empty trailer...clear out data - muonVec.clear(); - } - - // Fill Egammas - for( int iEG=0; iEGpush_back(-2, egammaVec_bxm2[iEG]); - } - for( int iEG=0; iEGpush_back(-1, egammaVec_bxm1[iEG]); - } - for( int iEG=0; iEGpush_back(0, egammaVec_bx0[iEG]); - } - for( int iEG=0; iEGpush_back(1, egammaVec_bxp1[iEG]); - } - if(emptyBxTrailer_<=(emptyBxEvt_ - eventCnt_)) { - for( int iEG=0; iEGpush_back(2, egammaVec[iEG]); - } - } else { - // this event is part of empty trailer...clear out data - egammaVec.clear(); - } - - // Fill Taus - for( int iTau=0; iTaupush_back(-2, tauVec_bxm2[iTau]); - } - for( int iTau=0; iTaupush_back(-1, tauVec_bxm1[iTau]); - } - for( int iTau=0; iTaupush_back(0, tauVec_bx0[iTau]); - } - for( int iTau=0; iTaupush_back(1, tauVec_bxp1[iTau]); - } - if(emptyBxTrailer_<=(emptyBxEvt_ - eventCnt_)) { - for( int iTau=0; iTaupush_back(2, tauVec[iTau]); - } - } else { - // this event is part of empty trailer...clear out data - tauVec.clear(); - } - - // Fill Jets - for( int iJet=0; iJetpush_back(-2, jetVec_bxm2[iJet]); - } - for( int iJet=0; iJetpush_back(-1, jetVec_bxm1[iJet]); - } - for( int iJet=0; iJetpush_back(0, jetVec_bx0[iJet]); - } - for( int iJet=0; iJetpush_back(1, jetVec_bxp1[iJet]); - } - if(emptyBxTrailer_<=(emptyBxEvt_ - eventCnt_)) { - for( int iJet=0; iJetpush_back(2, jetVec[iJet]); - } - } else { - // this event is part of empty trailer...clear out data - jetVec.clear(); - } - - // Fill Etsums - for( int iETsum=0; iETsumpush_back(-2, etsumVec_bxm2[iETsum]); - } - for( int iETsum=0; iETsumpush_back(-1, etsumVec_bxm1[iETsum]); - } - for( int iETsum=0; iETsumpush_back(0, etsumVec_bx0[iETsum]); - } - for( int iETsum=0; iETsumpush_back(1, etsumVec_bxp1[iETsum]); - } - if(emptyBxTrailer_<=(emptyBxEvt_ - eventCnt_)) { - for( int iETsum=0; iETsumpush_back(2, etsumVec[iETsum]); - } - } else { - // this event is part of empty trailer...clear out data - etsumVec.clear(); - } - - - iEvent.put(egammas); - iEvent.put(muons); - iEvent.put(taus); - iEvent.put(jets); - iEvent.put(etsums); - - // Now shift the bx data by one to prepare for next event. - muonVec_bxm2 = muonVec_bxm1; - egammaVec_bxm2 = egammaVec_bxm1; - tauVec_bxm2 = tauVec_bxm1; - jetVec_bxm2 = jetVec_bxm1; - etsumVec_bxm2 = etsumVec_bxm1; - - muonVec_bxm1 = muonVec_bx0; - egammaVec_bxm1 = egammaVec_bx0; - tauVec_bxm1 = tauVec_bx0; - jetVec_bxm1 = jetVec_bx0; - etsumVec_bxm1 = etsumVec_bx0; - - muonVec_bx0 = muonVec_bxp1; - egammaVec_bx0 = egammaVec_bxp1; - tauVec_bx0 = tauVec_bxp1; - jetVec_bx0 = jetVec_bxp1; - etsumVec_bx0 = etsumVec_bxp1; - - muonVec_bxp1 = muonVec; - egammaVec_bxp1 = egammaVec; - tauVec_bxp1 = tauVec; - jetVec_bxp1 = jetVec; - etsumVec_bxp1 = etsumVec; - -} - -// ------------ method called once each job just before starting event loop ------------ -void -BXVectorInputProducer::beginJob() -{ -} - -// ------------ method called once each job just after ending the event loop ------------ -void -BXVectorInputProducer::endJob() { -} - -// ------------ method called when starting to processes a run ------------ - -void BXVectorInputProducer::beginRun(Run const&iR, EventSetup const&iE){ - - LogDebug("l1t|Global") << "BXVectorInputProducer::beginRun function called...\n"; - - counter_ = 0; -} - -// ------------ method called when ending the processing of a run ------------ -void BXVectorInputProducer::endRun(Run const& iR, EventSetup const& iE){ - -} - - -// ------------ methods to convert from physical to HW values ------------ -int BXVectorInputProducer::convertPhiToHW(double iphi, int steps){ - - double phiMax = 2 * M_PI; - if( iphi < 0 ) iphi += 2*M_PI; - if( iphi > phiMax) iphi -= phiMax; - - int hwPhi = int( (iphi/phiMax)*steps + 0.00001 ); - return hwPhi; -} - -int BXVectorInputProducer::convertEtaToHW(double ieta, double minEta, double maxEta, int steps){ - - double binWidth = (maxEta - minEta)/steps; - - //if we are outside the limits, set error - if(ieta < minEta) return 99999;//ieta = minEta+binWidth/2.; - if(ieta > maxEta) return 99999;//ieta = maxEta-binWidth/2.; - - int binNum = (int)(ieta/binWidth); - if(ieta<0.) binNum--; - -// unsigned int hwEta = binNum & bitMask; -// Remove masking for BXVectors...only assume in raw data - - return binNum; -} - -int BXVectorInputProducer::convertPtToHW(double ipt, int maxPt, double step){ - - int hwPt = int( ipt/step + 0.0001 ); - // if above max Pt, set to largest value - if( hwPt > maxPt ) hwPt = maxPt; - - return hwPt; -} - - -// ------------ method fills 'descriptions' with the allowed parameters for the module ------------ -void -BXVectorInputProducer::fillDescriptions(ConfigurationDescriptions& descriptions) { - //The following says we do not know what parameters are allowed so do no validation - // Please change this to state exactly what you do use, even if it is no parameters - ParameterSetDescription desc; - desc.setUnknown(); - descriptions.addDefault(desc); -} - -} // namespace - -//define this as a plug-in -DEFINE_FWK_MODULE(l1t::BXVectorInputProducer); diff --git a/L1Trigger/L1TGlobal/plugins/GenToInputProducer.cc b/L1Trigger/L1TGlobal/plugins/GenToInputProducer.cc index 575b0db2f2f0d..e33924f328336 100644 --- a/L1Trigger/L1TGlobal/plugins/GenToInputProducer.cc +++ b/L1Trigger/L1TGlobal/plugins/GenToInputProducer.cc @@ -69,7 +69,7 @@ namespace l1t { virtual void endRun(Run const& iR, EventSetup const& iE); int convertPhiToHW(double iphi, int steps); - int convertEtaToHW(double ieta, double minEta, double maxEta, int steps); + unsigned int convertEtaToHW(double ieta, double minEta, double maxEta, int steps, unsigned int bitMask); int convertPtToHW(double ipt, int maxPt, double step); // ----------member data --------------------------- @@ -274,7 +274,7 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) const reco::Candidate & mcParticle = (*genParticles)[mu_cands_index[idxMu[iMu]]]; int pt = convertPtToHW( mcParticle.pt(), MaxLepPt_, PtStep_ ); - int eta = convertEtaToHW( mcParticle.eta(), -MaxMuonEta_, MaxMuonEta_, EtaStepMuon_); + int eta = convertEtaToHW( mcParticle.eta(), -MaxMuonEta_, MaxMuonEta_, EtaStepMuon_, 0x1ff ); int phi = convertPhiToHW( mcParticle.phi(), PhiStepMuon_ ); int qual = 4; int iso = 1; @@ -307,7 +307,7 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) const reco::Candidate & mcParticle = (*genParticles)[eg_cands_index[idxEg[iEg]]]; int pt = convertPtToHW( mcParticle.pt(), MaxLepPt_, PtStep_ ); - int eta = convertEtaToHW( mcParticle.eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_ ); + int eta = convertEtaToHW( mcParticle.eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_ , 0xff); int phi = convertPhiToHW( mcParticle.phi(), PhiStepCalo_ ); int qual = 1; int iso = 1; @@ -337,7 +337,7 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) const reco::Candidate & mcParticle = (*genParticles)[tau_cands_index[idxTau[iTau]]]; int pt = convertPtToHW( mcParticle.pt(), MaxLepPt_, PtStep_ ); - int eta = convertEtaToHW( mcParticle.eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_); + int eta = convertEtaToHW( mcParticle.eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_ , 0xff); int phi = convertPhiToHW( mcParticle.phi(), PhiStepCalo_ ); int qual = 1; int iso = 1; @@ -382,7 +382,7 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) ROOT::Math::LorentzVector > *p4 = new ROOT::Math::LorentzVector >(); int pt = convertPtToHW( genJet->et(), MaxJetPt_, PtStep_ ); - int eta = convertEtaToHW( genJet->eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_ ); + int eta = convertEtaToHW( genJet->eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_ , 0xff); int phi = convertPhiToHW( genJet->phi(), PhiStepCalo_ ); // Eta outside of acceptance @@ -400,7 +400,7 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) numExtraEGs++; int EGpt = convertPtToHW( genJet->et(), MaxLepPt_, PtStep_ ); - int EGeta = convertEtaToHW( genJet->eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_ ); + int EGeta = convertEtaToHW( genJet->eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_ , 0xff); int EGphi = convertPhiToHW( genJet->phi(), PhiStepCalo_ ); int EGqual = 1; @@ -414,7 +414,7 @@ GenToInputProducer::produce(Event& iEvent, const EventSetup& iSetup) numExtraTaus++; int Taupt = convertPtToHW( genJet->et(), MaxLepPt_, PtStep_ ); - int Taueta = convertEtaToHW( genJet->eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_ ); + int Taueta = convertEtaToHW( genJet->eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_ , 0xff); int Tauphi = convertPhiToHW( genJet->phi(), PhiStepCalo_ ); int Tauqual = 1; int Tauiso = 1; @@ -651,7 +651,7 @@ int GenToInputProducer::convertPhiToHW(double iphi, int steps){ return hwPhi; } -int GenToInputProducer::convertEtaToHW(double ieta, double minEta, double maxEta, int steps){ +unsigned int GenToInputProducer::convertEtaToHW(double ieta, double minEta, double maxEta, int steps, unsigned int bitMask){ double binWidth = (maxEta - minEta)/steps; @@ -662,10 +662,10 @@ int GenToInputProducer::convertEtaToHW(double ieta, double minEta, double maxEta int binNum = (int)(ieta/binWidth); if(ieta<0.) binNum--; -// unsigned int hwEta = binNum & bitMask; -// Remove masking for BXVectors...only assume in raw data + unsigned int hwEta = binNum & bitMask; - return binNum; + + return hwEta; } int GenToInputProducer::convertPtToHW(double ipt, int maxPt, double step){ diff --git a/L1Trigger/L1TGlobal/plugins/GtInputDump.cc b/L1Trigger/L1TGlobal/plugins/GtInputDump.cc index cb0d3226381b7..e8cbc6154e281 100644 --- a/L1Trigger/L1TGlobal/plugins/GtInputDump.cc +++ b/L1Trigger/L1TGlobal/plugins/GtInputDump.cc @@ -64,9 +64,6 @@ namespace l1t { EDGetToken tauToken; EDGetToken jetToken; EDGetToken etsumToken; - - int m_minBx; - int m_maxBx; }; GtInputDump::GtInputDump(const edm::ParameterSet& iConfig) @@ -76,11 +73,6 @@ namespace l1t { tauToken = consumes>(iConfig.getParameter("tauInputTag")); jetToken = consumes>(iConfig.getParameter("jetInputTag")); etsumToken = consumes>(iConfig.getParameter("etsumInputTag")); - - m_minBx = iConfig.getParameter("minBx"); - m_maxBx = iConfig.getParameter("maxBx"); - - } // loop over events @@ -107,131 +99,39 @@ namespace l1t { printf(" *********** New Event ************** \n"); printf(" -------------------------------------- \n"); //Loop over BX - //Loop over BX - for(int i =m_minBx; i <= m_maxBx; ++i) { - - cout << " ========== BX = " << std::dec << i << " =============================" << endl; - - //Loop over EGamma - int nObj =0; - cout << " ------ EGammas -------- " << endl; - if (egammas.isValid()) { - if(i>=egammas->getFirstBX() && i<=egammas->getLastBX()) { - for(std::vector::const_iterator eg = egammas->begin(i); eg != egammas->end(i); ++eg) { - cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; - cout << " Pt " << std::dec << std::setw(3) << eg->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << eg->hwPt() << ")"; - cout << " Eta " << std::dec << std::setw(3) << eg->hwEta() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << (eg->hwEta()&0xff) << ")"; - cout << " Phi " << std::dec << std::setw(3) << eg->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << eg->hwPhi() << ")"; - cout << " Iso " << std::dec << std::setw(1) << eg->hwIso() ; - cout << " Qual "<< std::dec << std::setw(1) << eg->hwQual() ; - cout << endl; - nObj++; - } - } else { - cout << "No EG stored for this bx " << i << endl; - } - } else { - cout << "No EG Data in this event " << endl; - } - - //Loop over Muons - nObj =0; - cout << " ------ Muons --------" << endl; - if (muons.isValid()) { - if(i>=muons->getFirstBX() && i<=muons->getLastBX()) { - for(std::vector::const_iterator mu = muons->begin(i); mu != muons->end(i); ++mu) { - cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; - cout << " Pt " << std::dec << std::setw(3) << mu->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << mu->hwPt() << ")"; - cout << " Eta " << std::dec << std::setw(3) << mu->hwEta() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << (mu->hwEta()&0x1ff) << ")"; - cout << " Phi " << std::dec << std::setw(3) << mu->hwPhi() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << mu->hwPhi() << ")"; - cout << " Iso " << std::dec << std::setw(1) << mu->hwIso() ; - cout << " Qual "<< std::dec << std::setw(1) << mu->hwQual() ; - cout << endl; - nObj++; - } - }else { - cout << "No Muons stored for this bx " << i << endl; - } - } else { - cout << "No Muon Data in this event " << endl; - } - - //Loop over Taus - nObj =0; - cout << " ------ Taus ----------" << endl; - if(taus.isValid()) { - if(i>=taus->getFirstBX() && i<=taus->getLastBX()) { - for(std::vector::const_iterator tau = taus->begin(i); tau != taus->end(i); ++tau) { - cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; - cout << " Pt " << std::dec << std::setw(3) << tau->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << tau->hwPt() << ")"; - cout << " Eta " << std::dec << std::setw(3) << tau->hwEta() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << (tau->hwEta()&0xff) << ")"; - cout << " Phi " << std::dec << std::setw(3) << tau->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << tau->hwPhi() << ")"; - cout << " Iso " << std::dec << std::setw(1) << tau->hwIso() ; - cout << " Qual "<< std::dec << std::setw(1) << tau->hwQual() ; - cout << endl; - nObj++; - } - } else { - cout << "No Taus stored for this bx " << i << endl; - } - } else { - cout << "No Tau Data in this event " << endl; - } - - //Loop over Jets - nObj =0; - cout << " ------ Jets ----------" << endl; - if(jets.isValid()) { - if(i>=jets->getFirstBX() && i<=jets->getLastBX()) { - for(std::vector::const_iterator jet = jets->begin(i); jet != jets->end(i); ++jet) { - cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; - cout << " Pt " << std::dec << std::setw(3) << jet->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << jet->hwPt() << ")"; - cout << " Eta " << std::dec << std::setw(3) << jet->hwEta() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << (jet->hwEta()&0xff) << ")"; - cout << " Phi " << std::dec << std::setw(3) << jet->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << jet->hwPhi() << ")"; - cout << " Qual "<< std::dec << std::setw(1) << jet->hwQual() ; - cout << endl; - nObj++; - } - } else { - cout << "No Jets stored for this bx " << i << endl; - } - } else { - cout << "No jet Data in this event " << endl; - } - - //Dump Content - cout << " ------ EtSums ----------" << endl; - if(etsums.isValid()) { - if(i>=etsums->getFirstBX() && i<=etsums->getLastBX()) { - for(std::vector::const_iterator etsum = etsums->begin(i); etsum != etsums->end(i); ++etsum) { - switch ( etsum->getType() ) { - case l1t::EtSum::EtSumType::kMissingEt: - cout << " ETM: "; - break; - case l1t::EtSum::EtSumType::kMissingHt: - cout << " HTM: "; - break; - case l1t::EtSum::EtSumType::kTotalEt: - cout << " ETT: "; - break; - case l1t::EtSum::EtSumType::kTotalHt: - cout << " HTT: "; - break; - default: - cout << " Unknown: "; - break; - } - cout << " Et " << std::dec << std::setw(3) << etsum->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << etsum->hwPt() << ")"; - if(etsum->getType() == l1t::EtSum::EtSumType::kMissingEt || etsum->getType() == l1t::EtSum::EtSumType::kMissingHt) - cout << " Phi " << std::dec << std::setw(3) << etsum->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << etsum->hwPhi() << ")"; - cout << endl; - } - } else { - cout << "No EtSums stored for this bx " << i << endl; - } - } else { - cout << "No EtSum Data in this event " << endl; - } + for(int i = egammas->getFirstBX(); i <= egammas->getLastBX(); ++i) { + + printf("\n ========== BX %i =============================\n",i); + + //Loop over EGamma + printf(" ------ EGammas --------\n"); + for(std::vector::const_iterator eg = egammas->begin(i); eg != egammas->end(i); ++eg) { + printf(" Pt %i Eta %i Phi %i Qual %i Isol %i\n",eg->hwPt(),eg->hwEta(),eg->hwPhi(),eg->hwQual(),eg->hwIso()); + } + + //Loop over Muons + printf("\n ------ Muons --------\n"); + for(std::vector::const_iterator mu = muons->begin(i); mu != muons->end(i); ++mu) { + printf(" Pt %i Eta %i Phi %i Qual %i Iso %i \n",mu->hwPt(),mu->hwEta(),mu->hwPhi(),mu->hwQual(),mu->hwIso()); + } + + //Loop over Taus + printf("\n ------ Taus ----------\n"); + for(std::vector::const_iterator tau = taus->begin(i); tau != taus->end(i); ++tau) { + printf(" Pt %i Eta %i Phi %i Qual %i Iso %i \n",tau->hwPt(),tau->hwEta(),tau->hwPhi(),tau->hwQual(),tau->hwIso()); + } + + //Loop over Jets + printf("\n ------ Jets ----------\n"); + for(std::vector::const_iterator jet = jets->begin(i); jet != jets->end(i); ++jet) { + printf(" Pt %i Eta %i Phi %i Qual %i \n",jet->hwPt(),jet->hwEta(),jet->hwPhi(),jet->hwQual()); + } + //Dump Content + printf("\n ------ EtSums ----------\n"); + for(std::vector::const_iterator etsum = etsums->begin(i); etsum != etsums->end(i); ++etsum) { + printf(" Pt %i Eta %i Phi %i Qual %i \n",etsum->hwPt(),etsum->hwEta(),etsum->hwPhi(),etsum->hwQual()); + } + } printf("\n"); diff --git a/L1Trigger/L1TGlobal/plugins/GtRecordDump.cc b/L1Trigger/L1TGlobal/plugins/GtRecordDump.cc index 82db27e4e169b..5842becc2f570 100644 --- a/L1Trigger/L1TGlobal/plugins/GtRecordDump.cc +++ b/L1Trigger/L1TGlobal/plugins/GtRecordDump.cc @@ -160,7 +160,7 @@ namespace l1t { if(m_dumpGTRecord) { cout << " ----------------------------------------------------- " << endl; - cout << " *********** Run " << std::dec << iEvent.id().run() <<" Event " << iEvent.id().event() << " ************** " << endl; + cout << " *********** Run " << iEvent.id().run() <<" Event " << iEvent.id().event() << " ************** " << endl; cout << " ----------------------------------------------------- " << endl; //Loop over BX @@ -171,174 +171,140 @@ namespace l1t { //Loop over EGamma int nObj =0; cout << " ------ EGammas -------- " << endl; - if (egammas.isValid()) { - if(i>=egammas->getFirstBX() && i<=egammas->getLastBX()) { - for(std::vector::const_iterator eg = egammas->begin(i); eg != egammas->end(i); ++eg) { - cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; - cout << " Pt " << std::dec << std::setw(3) << eg->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << eg->hwPt() << ")"; - cout << " Eta " << std::dec << std::setw(3) << eg->hwEta() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << (eg->hwEta()&0xff) << ")"; - cout << " Phi " << std::dec << std::setw(3) << eg->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << eg->hwPhi() << ")"; - cout << " Iso " << std::dec << std::setw(1) << eg->hwIso() ; - cout << " Qual "<< std::dec << std::setw(1) << eg->hwQual() ; - cout << endl; - nObj++; - } - } else { - cout << "No EG stored for this bx " << i << endl; - } + if(i>=egammas->getFirstBX() && i<=egammas->getLastBX()) { + for(std::vector::const_iterator eg = egammas->begin(i); eg != egammas->end(i); ++eg) { + cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; + cout << " Pt " << std::dec << std::setw(3) << eg->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << eg->hwPt() << ")"; + cout << " Eta " << std::dec << std::setw(3) << eg->hwEta() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << eg->hwEta() << ")"; + cout << " Phi " << std::dec << std::setw(3) << eg->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << eg->hwPhi() << ")"; + cout << " Iso " << std::dec << std::setw(1) << eg->hwIso() ; + cout << " Qual "<< std::dec << std::setw(1) << eg->hwQual() ; + cout << endl; + nObj++; + } } else { - cout << "No EG Data in this event " << endl; + cout << "No EG stored for this bx " << i << endl; } //Loop over Muons nObj =0; cout << " ------ Muons --------" << endl; - if (muons.isValid()) { - if(i>=muons->getFirstBX() && i<=muons->getLastBX()) { - for(std::vector::const_iterator mu = muons->begin(i); mu != muons->end(i); ++mu) { - cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; - cout << " Pt " << std::dec << std::setw(3) << mu->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << mu->hwPt() << ")"; - cout << " Eta " << std::dec << std::setw(3) << mu->hwEta() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << (mu->hwEta()&0x1ff) << ")"; - cout << " Phi " << std::dec << std::setw(3) << mu->hwPhi() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << mu->hwPhi() << ")"; - cout << " Iso " << std::dec << std::setw(1) << mu->hwIso() ; - cout << " Qual "<< std::dec << std::setw(1) << mu->hwQual() ; - cout << endl; - nObj++; - } - }else { - cout << "No Muons stored for this bx " << i << endl; - } - } else { - cout << "No Muon Data in this event " << endl; - } + if(i>=muons->getFirstBX() && i<=muons->getLastBX()) { + for(std::vector::const_iterator mu = muons->begin(i); mu != muons->end(i); ++mu) { + cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; + cout << " Pt " << std::dec << std::setw(3) << mu->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << mu->hwPt() << ")"; + cout << " Eta " << std::dec << std::setw(3) << mu->hwEta() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << mu->hwEta() << ")"; + cout << " Phi " << std::dec << std::setw(3) << mu->hwPhi() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << mu->hwPhi() << ")"; + cout << " Iso " << std::dec << std::setw(1) << mu->hwIso() ; + cout << " Qual "<< std::dec << std::setw(1) << mu->hwQual() ; + cout << endl; + nObj++; + } + }else { + cout << "No Muons stored for this bx " << i << endl; + } //Loop over Taus nObj =0; cout << " ------ Taus ----------" << endl; - if(taus.isValid()) { - if(i>=taus->getFirstBX() && i<=taus->getLastBX()) { - for(std::vector::const_iterator tau = taus->begin(i); tau != taus->end(i); ++tau) { - cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; - cout << " Pt " << std::dec << std::setw(3) << tau->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << tau->hwPt() << ")"; - cout << " Eta " << std::dec << std::setw(3) << tau->hwEta() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << (tau->hwEta()&0xff) << ")"; - cout << " Phi " << std::dec << std::setw(3) << tau->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << tau->hwPhi() << ")"; - cout << " Iso " << std::dec << std::setw(1) << tau->hwIso() ; - cout << " Qual "<< std::dec << std::setw(1) << tau->hwQual() ; - cout << endl; - nObj++; - } - } else { - cout << "No Taus stored for this bx " << i << endl; - } + if(i>=taus->getFirstBX() && i<=taus->getLastBX()) { + for(std::vector::const_iterator tau = taus->begin(i); tau != taus->end(i); ++tau) { + cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; + cout << " Pt " << std::dec << std::setw(3) << tau->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << tau->hwPt() << ")"; + cout << " Eta " << std::dec << std::setw(3) << tau->hwEta() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << tau->hwEta() << ")"; + cout << " Phi " << std::dec << std::setw(3) << tau->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << tau->hwPhi() << ")"; + cout << " Iso " << std::dec << std::setw(1) << tau->hwIso() ; + cout << " Qual "<< std::dec << std::setw(1) << tau->hwQual() ; + cout << endl; + nObj++; + } } else { - cout << "No Tau Data in this event " << endl; - } + cout << "No Taus stored for this bx " << i << endl; + } //Loop over Jets nObj =0; cout << " ------ Jets ----------" << endl; - if(jets.isValid()) { - if(i>=jets->getFirstBX() && i<=jets->getLastBX()) { - for(std::vector::const_iterator jet = jets->begin(i); jet != jets->end(i); ++jet) { - cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; - cout << " Pt " << std::dec << std::setw(3) << jet->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << jet->hwPt() << ")"; - cout << " Eta " << std::dec << std::setw(3) << jet->hwEta() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << (jet->hwEta()&0xff) << ")"; - cout << " Phi " << std::dec << std::setw(3) << jet->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << jet->hwPhi() << ")"; - cout << " Qual "<< std::dec << std::setw(1) << jet->hwQual() ; - cout << endl; - nObj++; - } - } else { - cout << "No Jets stored for this bx " << i << endl; - } + if(i>=jets->getFirstBX() && i<=jets->getLastBX()) { + for(std::vector::const_iterator jet = jets->begin(i); jet != jets->end(i); ++jet) { + cout << " " << std::dec << std::setw(2) << std::setfill(' ') << nObj << std::setfill('0')<< ")"; + cout << " Pt " << std::dec << std::setw(3) << jet->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << jet->hwPt() << ")"; + cout << " Eta " << std::dec << std::setw(3) << jet->hwEta() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << jet->hwEta() << ")"; + cout << " Phi " << std::dec << std::setw(3) << jet->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << jet->hwPhi() << ")"; + cout << " Qual "<< std::dec << std::setw(1) << jet->hwQual() ; + cout << endl; + nObj++; + } } else { - cout << "No jet Data in this event " << endl; - } - - //Dump Content + cout << "No Jets stored for this bx " << i << endl; + } + //Dump Content cout << " ------ EtSums ----------" << endl; - if(etsums.isValid()) { - if(i>=etsums->getFirstBX() && i<=etsums->getLastBX()) { - for(std::vector::const_iterator etsum = etsums->begin(i); etsum != etsums->end(i); ++etsum) { - switch ( etsum->getType() ) { - case l1t::EtSum::EtSumType::kMissingEt: - cout << " ETM: "; - break; - case l1t::EtSum::EtSumType::kMissingHt: - cout << " HTM: "; - break; - case l1t::EtSum::EtSumType::kTotalEt: - cout << " ETT: "; - break; - case l1t::EtSum::EtSumType::kTotalHt: - cout << " HTT: "; - break; - default: - cout << " Unknown: "; - break; - } - cout << " Et " << std::dec << std::setw(3) << etsum->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << etsum->hwPt() << ")"; - if(etsum->getType() == l1t::EtSum::EtSumType::kMissingEt || etsum->getType() == l1t::EtSum::EtSumType::kMissingHt) - cout << " Phi " << std::dec << std::setw(3) << etsum->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << etsum->hwPhi() << ")"; - cout << endl; - } - } else { - cout << "No EtSums stored for this bx " << i << endl; - } - } else { - cout << "No EtSum Data in this event " << endl; - } - - + if(i>=etsums->getFirstBX() && i<=etsums->getLastBX()) { + for(std::vector::const_iterator etsum = etsums->begin(i); etsum != etsums->end(i); ++etsum) { + switch ( etsum->getType() ) { + case l1t::EtSum::EtSumType::kMissingEt: + cout << " ETM: "; + break; + case l1t::EtSum::EtSumType::kMissingHt: + cout << " HTM: "; + break; + case l1t::EtSum::EtSumType::kTotalEt: + cout << " ETT: "; + break; + case l1t::EtSum::EtSumType::kTotalHt: + cout << " HTT: "; + break; + } + cout << " Et " << std::dec << std::setw(3) << etsum->hwPt() << " (0x" << std::hex << std::setw(3) << std::setfill('0') << etsum->hwPt() << ")"; + if(etsum->getType() == l1t::EtSum::EtSumType::kMissingEt || etsum->getType() == l1t::EtSum::EtSumType::kMissingHt) + cout << " Phi " << std::dec << std::setw(3) << etsum->hwPhi() << " (0x" << std::hex << std::setw(2) << std::setfill('0') << etsum->hwPhi() << ")"; + cout << endl; + } + } else { + cout << "No EtSums stored for this bx " << i << endl; + } // Dump the output record cout << " ------ uGtAlg ----------" << endl; - if(uGtAlg.isValid()) { - if(i>=uGtAlg->getFirstBX() && i<=uGtAlg->getLastBX()) { - for(std::vector::const_iterator algBlk = uGtAlg->begin(i); algBlk != uGtAlg->end(i); ++algBlk) { - algBlk->print(std::cout); - } - } else { - cout << "No Alg Decisions stored for this bx " << i << endl; - } + if(i>=uGtAlg->getFirstBX() && i<=uGtAlg->getLastBX()) { + for(std::vector::const_iterator algBlk = uGtAlg->begin(i); algBlk != uGtAlg->end(i); ++algBlk) { + algBlk->print(std::cout); + } } else { - cout << "No uGtAlg Data in this event " << endl; - } + cout << "No Alg Decisions stored for this bx " << i << endl; + } // Dump the output record cout << " ------ uGtExt ----------" << endl; - if(uGtExt.isValid()) { - if(i>=uGtExt->getFirstBX() && i<=uGtExt->getLastBX()) { - for(std::vector::const_iterator extBlk = uGtExt->begin(i); extBlk != uGtExt->end(i); ++extBlk) { - extBlk->print(std::cout); - } - } else { - cout << "No Ext Conditions stored for this bx " << i << endl; - } + if(i>=uGtExt->getFirstBX() && i<=uGtExt->getLastBX()) { + for(std::vector::const_iterator extBlk = uGtExt->begin(i); extBlk != uGtExt->end(i); ++extBlk) { + extBlk->print(std::cout); + } } else { - cout << "No uGtExt Data in this event " << endl; - } + cout << "No Ext Conditions stored for this bx " << i << endl; + } - } //loop over Bx + } cout << std::dec <=egammas->getFirstBX() && i<=egammas->getLastBX())&& -// (i>=muons->getFirstBX() && i<=muons->getLastBX()) && -// (i>=taus->getFirstBX() && i<=taus->getLastBX()) && -// (i>=jets->getFirstBX() && i<=jets->getLastBX()) && -// (i>=etsums->getFirstBX() && i<=etsums->getLastBX()) && -// (i>=uGtAlg->getFirstBX() && i<=uGtAlg->getLastBX()) && -// (i>=uGtAlg->getFirstBX() && i<=uGtAlg->getLastBX()) ) { + if( (i>=egammas->getFirstBX() && i<=egammas->getLastBX())&& + (i>=muons->getFirstBX() && i<=muons->getLastBX()) && + (i>=taus->getFirstBX() && i<=taus->getLastBX()) && + (i>=jets->getFirstBX() && i<=jets->getLastBX()) && + (i>=etsums->getFirstBX() && i<=etsums->getLastBX()) && + (i>=uGtAlg->getFirstBX() && i<=uGtAlg->getLastBX()) && + (i>=uGtAlg->getFirstBX() && i<=uGtAlg->getLastBX()) ) { dumpTestVectors(i, m_testVectorFile, muons, egammas, taus, jets, etsums, uGtAlg, uGtExt); -// } else { -// edm::LogWarning("GtRecordDump") << "WARNING: Not enough information to dump test vectors for this bx=" << i << endl; -// } + } else { + edm::LogWarning("GtRecordDump") << "WARNING: Not enough information to dump test vectors for this bx=" << i << endl; + } } } @@ -363,63 +329,39 @@ void GtRecordDump::dumpTestVectors(int bx, std::ofstream& myOutFile, myOutFile << std::dec << std::setw(4) << std::setfill('0') << m_absBx; // Dump 8 Muons (16 digits + space) - int nDumped = 0; - if(muons.isValid()){ - for(std::vector::const_iterator mu = muons->begin(bx); mu != muons->end(bx); ++mu) { - cms_uint64_t packedWd = formatMuon(mu); - if(nDumped<8) { - myOutFile << " " << std::hex << std::setw(16) << std::setfill('0') << packedWd; - nDumped++; - } - } + for(std::vector::const_iterator mu = muons->begin(bx); mu != muons->end(bx); ++mu) { + cms_uint64_t packedWd = formatMuon(mu); + myOutFile << " " << std::hex << std::setw(16) << std::setfill('0') << packedWd; } - for(int i=nDumped; i<8; i++) { + for(int i=muons->size(bx); i<8; i++) { myOutFile << " " << std::hex << std::setw(16) << std::setfill('0') << empty; } // Dump 12 EG (8 digits + space) - nDumped = 0; - if(egammas.isValid()){ - for(std::vector::const_iterator eg = egammas->begin(bx); eg != egammas->end(bx); ++eg) { - unsigned int packedWd = formatEG(eg); - if(nDumped<12) { - myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << packedWd; - nDumped++; - } - } - } - for(int i=nDumped; i<12; i++) { + for(std::vector::const_iterator eg = egammas->begin(bx); eg != egammas->end(bx); ++eg) { + unsigned int packedWd = formatEG(eg); + myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << packedWd; + } + for(int i=egammas->size(bx); i<12; i++) { myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << empty; } // Dump 8 tau (8 digits + space) - nDumped = 0; - if(taus.isValid()) { - for(std::vector::const_iterator tau = taus->begin(bx); tau != taus->end(bx); ++tau) { - unsigned int packedWd = formatTau(tau); - if(nDumped<8) { - myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << packedWd; - nDumped++; - } - } - } - for(int i=nDumped; i<8; i++) { + for(std::vector::const_iterator tau = taus->begin(bx); tau != taus->end(bx); ++tau) { + unsigned int packedWd = formatTau(tau); + myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << packedWd; + } + for(int i=taus->size(bx); i<8; i++) { myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << empty; } // Dump 12 Jets (8 digits + space) - nDumped = 0; - if(jets.isValid()) { - for(std::vector::const_iterator jet = jets->begin(bx); jet != jets->end(bx); ++jet) { - unsigned int packedWd = formatJet(jet); - if(nDumped<12) { - myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << packedWd; - nDumped++; - } - } - } - for(int i=nDumped; i<12; i++) { + for(std::vector::const_iterator jet = jets->begin(bx); jet != jets->end(bx); ++jet) { + unsigned int packedWd = formatJet(jet); + myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << packedWd; + } + for(int i=jets->size(bx); i<12; i++) { myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << empty; } @@ -428,30 +370,23 @@ void GtRecordDump::dumpTestVectors(int bx, std::ofstream& myOutFile, unsigned int HTTpackWd = 0; unsigned int ETMpackWd = 0; unsigned int HTMpackWd = 0; - - if(etsums.isValid()){ - for(std::vector::const_iterator etsum = etsums->begin(bx); etsum != etsums->end(bx); ++etsum) { - - switch ( etsum->getType() ) { - case l1t::EtSum::EtSumType::kMissingEt: - ETMpackWd = formatMissET(etsum); - break; - case l1t::EtSum::EtSumType::kMissingHt: - HTMpackWd = formatMissET(etsum); - break; - case l1t::EtSum::EtSumType::kTotalEt: - ETTpackWd = formatTotalET(etsum); - break; - case l1t::EtSum::EtSumType::kTotalHt: - HTTpackWd = formatTotalET(etsum); - break; - default: - break; - } //end switch statement - } //end loop over etsums - } - - + for(std::vector::const_iterator etsum = etsums->begin(bx); etsum != etsums->end(bx); ++etsum) { + + switch ( etsum->getType() ) { + case l1t::EtSum::EtSumType::kMissingEt: + ETMpackWd = formatMissET(etsum); + break; + case l1t::EtSum::EtSumType::kMissingHt: + HTMpackWd = formatMissET(etsum); + break; + case l1t::EtSum::EtSumType::kTotalEt: + ETTpackWd = formatTotalET(etsum); + break; + case l1t::EtSum::EtSumType::kTotalHt: + HTTpackWd = formatTotalET(etsum); + break; + } //end switch statement + } //end loop over etsums // Fill in the words in appropriate order myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << ETTpackWd; myOutFile << " " << std::hex << std::setw(8) << std::setfill('0') << HTTpackWd; @@ -461,39 +396,31 @@ void GtRecordDump::dumpTestVectors(int bx, std::ofstream& myOutFile, // External Condition (64 digits + space) int digit = 0; myOutFile << " "; - if(uGtExt.isValid()) { - for(std::vector::const_iterator extBlk = uGtExt->begin(bx); extBlk != uGtExt->end(bx); ++extBlk) { - for(int i=255; i>-1; i--) { - if(extBlk->getExternalDecision(i)) digit |= (1 << (i%4)); - if((i%4) == 0){ - myOutFile << std::hex << std::setw(1) << digit; - digit = 0; - } - } //end loop over external bits - } //loop over objects - } else { - myOutFile << std::hex << std::setw(64) << std::setfill('0') << empty; + for(std::vector::const_iterator extBlk = uGtExt->begin(bx); extBlk != uGtExt->end(bx); ++extBlk) { + for(int i=255; i>-1; i--) { + if(extBlk->getExternalDecision(i)) digit |= (1 << (i%4)); + if((i%4) == 0){ + myOutFile << std::hex << std::setw(1) << digit; + digit = 0; + } + } //end loop over external bits } // Algorithm Dump (128 digits + space) digit = 0; myOutFile << " "; - if(uGtAlg.isValid()) { - for(std::vector::const_iterator algBlk = uGtAlg->begin(bx); algBlk != uGtAlg->end(bx); ++algBlk) { - for(int i=511; i>-1; i--) { - if(algBlk->getAlgoDecisionFinal(i)) digit |= (1 << (i%4)); - if((i%4) == 0){ - myOutFile << std::hex << std::setw(1) << digit; - digit = 0; - } - } //end loop over algorithm bits - - // Final OR (1 digit + space) - unsigned int finalOr = (algBlk->getFinalOR() & 0x1); - myOutFile << " " << std::hex << std::setw(1) << std::setfill('0') << finalOr; - } - } else { - myOutFile << std::hex << std::setw(128) << std::setfill('0') << empty; + for(std::vector::const_iterator algBlk = uGtAlg->begin(bx); algBlk != uGtAlg->end(bx); ++algBlk) { + for(int i=511; i>-1; i--) { + if(algBlk->getAlgoDecisionFinal(i)) digit |= (1 << (i%4)); + if((i%4) == 0){ + myOutFile << std::hex << std::setw(1) << digit; + digit = 0; + } + } //end loop over algorithm bits + +// Final OR (1 digit + space) + unsigned int finalOr = (algBlk->getFinalOR() & 0x1); + myOutFile << " " << std::hex << std::setw(1) << std::setfill('0') << finalOr; } myOutFile << endl; diff --git a/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlParser.cc b/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlParser.cc index 08c01f45d8edf..1cd474677712f 100644 --- a/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlParser.cc +++ b/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlParser.cc @@ -1428,12 +1428,22 @@ bool l1t::TriggerMenuXmlParser::getMuonMipIsoBits(XERCES_CPP_NAMESPACE::DOMNode* } -template std::string l1t::TriggerMenuXmlParser::l1t2string( T data ){ +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::MenuName data ){ std::stringstream ss; ss << data; return ss.str(); } -std::string l1t::TriggerMenuXmlParser::l1tDateTime2string( l1t::DateTime date ){ +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::ScalesKey data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::FirmwareVersion data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::DateTime date ){ std::stringstream ss; ss << std::setfill('0'); ss << std::setw(4) << date.year() << "-" << std::setw(2) << date.month() << "-" << std::setw(2) << date.day() << "T"; @@ -1441,6 +1451,56 @@ std::string l1t::TriggerMenuXmlParser::l1tDateTime2string( l1t::DateTime date ){ //ss << data; return ss.str(); } +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::Label data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::Description data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::ConditionName data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::ConditionType data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::EtComparison data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::CalorimeterObjectType data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::AlgorithmName data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::AlgorithmIndex data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::AlgorithmEquation data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} +std::string l1t::TriggerMenuXmlParser::l1t2string( l1t::EtThreshold data ){ + std::stringstream ss; + ss << data; + return ss.str(); +} int l1t::TriggerMenuXmlParser::l1t2int( l1t::RelativeBx data ){ std::stringstream ss; ss << data; @@ -1469,17 +1529,12 @@ bool l1t::TriggerMenuXmlParser::parseMuon(l1t::MuonCondition condMu, // get condition, particle name (must be muon) and type name std::string condition = "muon"; - std::string particle = "muon";//l1t2string( condMu.objectType() ); - std::string type = l1t2string( condMu.type() ); + std::string particle = "mu";//l1t2string( condMu.objectType() ); + std::string type = "single";//l1t2string( condMu.type() ); std::string name = l1t2string( condMu.name() ); if( particle=="mu" ) particle = "muon"; - - if( type=="double_wsc" ) type = "2_wsc"; - else if( type=="single" ) type = "1_s"; - else if( type=="double" ) type = "2_s"; - else if( type=="triple" ) type = "3"; - else if( type=="quad" ) type = "4"; + if( type=="single" ) type = "1_s"; LogDebug("l1t|Global") << "\n ****************************************** " @@ -1497,7 +1552,7 @@ bool l1t::TriggerMenuXmlParser::parseMuon(l1t::MuonCondition condMu, } // get greater equal flag - std::string str_etComparison = l1t2string( condMu.comparison_operator() ); + std::string str_etComparison = l1t2string( condMu.etComparison() ); int nrObj = getNumFromType(type); if (nrObj < 0) { @@ -1524,193 +1579,198 @@ bool l1t::TriggerMenuXmlParser::parseMuon(l1t::MuonCondition condMu, // need at least two values for deltaPhi std::vector tmpValues((nrObj > 2) ? nrObj : 2); - tmpValues.reserve( nrObj ); - if( int(condMu.objectRequirements().objectRequirement().size())!=nrObj ){ - edm::LogError("TriggerMenuXmlParser") << " condMu objects: nrObj = " << nrObj - << "condMu.objectRequirements().objectRequirement().size() = " - << condMu.objectRequirements().objectRequirement().size() - << std::endl; - return false; + boost::uint64_t dst; + + // need this for future DP +// // get ptHighThreshold values and fill into structure +// if ( !getConditionChildValuesOld(node, m_xmlTagPtHighThreshold, nrObj, tmpValues) ) { +// return false; +// } + + for (int i = 0; i < nrObj; i++) { + getXMLHexTextValue("0a", dst); + + objParameter[i].ptHighThreshold = dst;//tmpValues[i]; + +// LogTrace("TriggerMenuXmlParser") +// << " Muon pT high threshold (hex) for muon " << i << " = " +// << std::hex << objParameter[i].ptHighThreshold << std::dec +// << std::endl; } - - std::string str_chargeCorrelation = l1t2string( condMu.requestedChargeCorr() ); + // need this for future DP +// // get ptLowThreshold values and fill into structure +// if ( !getConditionChildValuesOld(node, m_xmlTagPtLowThreshold, nrObj, tmpValues) ) { +// return false; +// } - unsigned int chargeCorrelation = 0; - if( str_chargeCorrelation=="ig" ) chargeCorrelation = 0; - else if( str_chargeCorrelation=="ls" ) chargeCorrelation = 1; - else if( str_chargeCorrelation=="os" ) chargeCorrelation = 2; + for (int i = 0; i < nrObj; i++) { + //LogTrace("TriggerMenuXmlParser") + //<< " Muon pT low threshold word (hex) for muon " << i << " = " + //<< std::hex << tmpValues[i] << std::dec + //<< std::endl; - //getXMLHexTextValue("1", dst); - corrParameter.chargeCorrelation = chargeCorrelation;//tmpValues[0]; + // TODO FIXME stupid format in def.xml... + // one takes mip bit also, therefore one divide by 16 + // need this for future DP + //tmpValues[i] = (tmpValues[i])/16; - std::string str_condMu = ""; - boost::uint64_t tempUIntH, tempUIntL; - boost::uint64_t dst; - int cnt = 0; - for( l1t::MuonObjectRequirementList::objectRequirement_const_iterator objPar = condMu.objectRequirements().objectRequirement().begin(); - objPar != condMu.objectRequirements().objectRequirement().end(); ++objPar ){ + // need this for future DP + getXMLHexTextValue("0a", dst); + objParameter[i].ptLowThreshold = dst;//tmpValues[i]; - // ET Threshold - str_condMu = l1t2string( objPar->ptThreshold() ); - if( !getXMLHexTextValue(str_condMu, dst) ) return false; - //if( cntptThreshold(); - objParameter[cnt].ptLowThreshold = objPar->ptThreshold(); - } + //LogTrace("TriggerMenuXmlParser") + //<< " Muon pT low threshold (hex) for muon " << i << " = " + //<< std::hex << objParameter[i].ptLowThreshold << std::dec + //<< std::endl; + } - // Eta Range - //str_condMu = "ffff"; - str_condMu = "7f7f"; - //str_condMu = "0f0f"; - if( !getXMLHexTextValue(str_condMu, dst) ) return false; - if( cntetaWindow().begin(); - etaWindow != objPar->etaWindow().end(); ++etaWindow ){ - - LogDebug("l1t|Global") - << "\n etaWindow lower = " << etaWindow->lower() - << "\n etaWindow upper = " << etaWindow->upper() - << std::endl; - if( cntEta==0 ){ etaWindowLower = etaWindow->lower(); etaWindowUpper = etaWindow->upper(); } - else if( cntEta==1 ){ etaWindowVetoLower = etaWindow->lower(); etaWindowVetoUpper = etaWindow->upper(); } - cntEta++; - } + for (int i = 0; i < nrObj; i++) { - int cntPhi=0; - unsigned int phiWindowLower=-1, phiWindowUpper=-1, phiWindowVetoLower=-1, phiWindowVetoUpper=-1; - for( l1t::CalorimeterObjectRequirement::phiWindow_const_iterator phiWindow =objPar->phiWindow().begin(); - phiWindow != objPar->phiWindow().end(); ++phiWindow ){ - - LogDebug("l1t|Global") - << "\n phiWindow begin = " << phiWindow->lower() - << "\n phiWindow end = " << phiWindow->upper() - << std::endl; + getXMLHexTextValue("FFFFFFFFFFFFFFFF", dst); + objParameter[i].etaRange = dst;//tmpValues[i]; - if( cntPhi==0 ){ phiWindowLower = phiWindow->lower(); phiWindowUpper = phiWindow->upper(); } - else if( cntPhi==1 ){ phiWindowVetoLower = phiWindow->lower(); phiWindowVetoUpper = phiWindow->upper(); } - cntPhi++; - } + //LogTrace("TriggerMenuXmlParser") + //<< " etaRange (hex) for muon " << i << " = " + //<< std::hex << objParameter[i].etaRange << std::dec + //<< std::endl; + } - objParameter[cnt].etaWindowLower = etaWindowLower; - objParameter[cnt].etaWindowUpper = etaWindowUpper; - objParameter[cnt].etaWindowVetoLower = etaWindowVetoLower; - objParameter[cnt].etaWindowVetoUpper = etaWindowVetoUpper; + // need this for future DP +// // get phiHigh values and fill into structure +// if ( !getConditionChildValuesOld(node, m_xmlTagPhiHigh, nrObj, tmpValues) ) { +// return false; +// } - objParameter[cnt].phiWindowLower = phiWindowLower; - objParameter[cnt].phiWindowUpper = phiWindowUpper; - objParameter[cnt].phiWindowVetoLower = phiWindowVetoLower; - objParameter[cnt].phiWindowVetoUpper = phiWindowVetoUpper; + for (int i = 0; i < nrObj; i++) { + getXMLHexTextValue("8f", dst); + objParameter[i].phiHigh = dst;//tmpValues[i]; - - // Output for debugging - LogDebug("l1t|Global") - << "\n Muon PT high threshold (hex) for muon object " << cnt << " = " - << std::hex << objParameter[cnt].ptHighThreshold << std::dec - << "\n etaWindow (hex) for muon object " << cnt << " = " - << std::hex << objParameter[cnt].etaRange << std::dec - // << "\n phiRange (hex) for muon object " << cnt << " = " - // << std::hex << objParameter[cnt].phiRange << std::dec - << "\n etaWindow Lower / Upper for muon object " << cnt << " = " - << objParameter[cnt].etaWindowLower << " / " << objParameter[cnt].etaWindowUpper - << "\n etaWindowVeto Lower / Upper for muon object " << cnt << " = " - << objParameter[cnt].etaWindowVetoLower << " / " << objParameter[cnt].etaWindowVetoUpper - << "\n phiWindow Lower / Upper for muon object " << cnt << " = " - << objParameter[cnt].phiWindowLower << " / " << objParameter[cnt].phiWindowUpper - << "\n phiWindowVeto Lower / Upper for muon object " << cnt << " = " - << objParameter[cnt].phiWindowVetoLower << " / " << objParameter[cnt].phiWindowVetoUpper - << std::endl; + //LogTrace("TriggerMenuXmlParser") + //<< " phiHigh (hex) for muon " << i << " = " + //<< std::hex << objParameter[i].phiHigh << std::dec + //<< std::endl; + } - cnt++; + // need this for future DP +// // get phiLow values and fill into structure +// if ( !getConditionChildValuesOld(node, m_xmlTagPhiLow, nrObj, tmpValues) ) { +// return false; +// } + + for (int i = 0; i < nrObj; i++) { + getXMLHexTextValue("00", dst); + objParameter[i].phiLow = dst;//tmpValues[i]; + + //LogTrace("TriggerMenuXmlParser") + //<< " phiLow (hex) for muon " << i << " = " + //<< std::hex << objParameter[i].phiLow << std::dec + //<< std::endl; } + // need this for future DP +// // get charge correlation and fill into structure +// if ( !getXMLHexTextValueOld(findXMLChild(node->getFirstChild(), m_xmlTagChargeCorrelation), +// tmpValues[0]) ) { +// LogDebug("TriggerMenuXmlParser") +// << " Error getting charge correlation from muon condition (" << name << ")" +// << std::endl; +// return false; +// } - // indicates if a correlation is used - bool wscVal = (type == m_xmlConditionAttrType2wsc ); + getXMLHexTextValue("1", dst); + corrParameter.chargeCorrelation = dst;//tmpValues[0]; - if( wscVal ){ +// //LogTrace("TriggerMenuXmlParser") +// //<< " charge correlation" << " = " +// //<< std::hex << corrParameter.chargeCorrelation << std::dec +// //<< std::endl; - xsd::cxx::tree::optional condRanges = condMu.deltaRequirement(); - LogDebug("l1t|Global") - << "\t condRanges->deltaEtaRange().lower() = " << condRanges->deltaEtaRange().lower() - << "\n\t condRanges->deltaEtaRange().upper() = " << condRanges->deltaEtaRange().upper() - << "\n\t condRanges->deltaPhiRange().lower() = " << condRanges->deltaPhiRange().lower() - << "\n\t condRanges->deltaPhiRange().upper() = " << condRanges->deltaPhiRange().upper() - << std::endl; + // get mip and iso bits and fill into structure - corrParameter.deltaEtaRangeLower = condRanges->deltaEtaRange().lower(); - corrParameter.deltaEtaRangeUpper = condRanges->deltaEtaRange().upper(); + std::vector tmpMip(nrObj); + std::vector tmpEnableIso(nrObj); + std::vector tmpRequestIso(nrObj); - corrParameter.deltaPhiRangeLower = condRanges->deltaPhiRange().lower(); - corrParameter.deltaPhiRangeUpper = condRanges->deltaPhiRange().upper(); + // need this for future DP +// if ( !getMuonMipIsoBits(node, nrObj, tmpMip, tmpEnableIso, tmpRequestIso) ) { +// edm::LogError("TriggerMenuXmlParser") +// << " Could not get mip and iso bits from muon condition (" << name << ")" +// << std::endl; +// return false; +// } - // - /// Temporary - // + for (int i = 0; i < nrObj; i++) { + objParameter[i].enableMip = false;//tmpMip[i]; + objParameter[i].enableIso = false;//tmpEnableIso[i]; + objParameter[i].requestIso = false;//tmpRequestIso[i]; + } - // Eta Range - str_condMu = "0003"; - if ( !hexString2UInt128(str_condMu, tempUIntL, tempUIntH) ) { - return false; - } - if( tempUIntH != 0 ){ - edm::LogError("TriggerMenuXmlParser") << "Too large hex-value!" << std::endl; - return false; - } - corrParameter.deltaEtaRange = tempUIntL; + // indicates if a correlation is used + bool wscVal = (type == m_xmlConditionAttrType2wsc ); - // Phi Range - str_condMu = "003"; - if ( !hexString2UInt128(str_condMu, tempUIntL, tempUIntH) ) { - return false; - } - if( tempUIntH != 0 ){ - edm::LogError("TriggerMenuXmlParser") << "Too large hex-value!" << std::endl; - return false; - } - corrParameter.deltaPhiRange = tempUIntL; + if (wscVal) { + // need this for future DP +// // get deltaEtaRange +// if ( !getConditionChildValuesOld(node, m_xmlTagDeltaEta, 1, tmpValues) ) { +// return false; +// } +// corrParameter.deltaEtaRange = tmpValues[0]; +// // deltaPhi is larger than 64bit +// if ( !getXMLHexTextValue128Old(findXMLChild(node->getFirstChild(), m_xmlTagDeltaPhi), +// tmpValues[0], tmpValues[1])) { +// edm::LogError("TriggerMenuXmlParser") +// << " Could not get deltaPhi for muon condition with wsc (" << name << ")" +// << std::endl; +// return false; +// } - // Max Phi Range - std::string maxString = "3FF"; +// corrParameter.deltaPhiRange0Word = tmpValues[0]; +// corrParameter.deltaPhiRange1Word = tmpValues[1]; - unsigned int maxbits = 0; +// // get maximum number of bits for delta phi +// //LogTrace("TriggerMenuXmlParser") +// //<< " Counting deltaPhiMaxbits" +// //<< std::endl; - if ( !countConditionChildMaxBits(maxString, maxbits) ) { - return false; - } +// unsigned int maxbits; - corrParameter.deltaPhiMaxbits = maxbits; - LogTrace("TriggerMenuXmlParser") - << " deltaPhiMaxbits (dec) = " << maxbits - << std::endl; - } +// if ( !countConditionChildMaxBits2(node, m_xmlTagDeltaPhi, maxbits) ) { +// return false; +// } +// corrParameter.deltaPhiMaxbits = maxbits; +// //LogTrace("TriggerMenuXmlParser") +// //<< " deltaPhiMaxbits (dec) = " << maxbits +// //<< std::endl; + } // get the type of the condition, as defined in enum, from the condition type // as defined in the XML file @@ -1769,13 +1829,6 @@ bool l1t::TriggerMenuXmlParser::parseMuon(l1t::MuonCondition condMu, } - - LogDebug("l1t|Global") - << "\n intGEq = " << intGEq - << " nrObj = " << nrObj - << "\n ****************************************** " - << std::endl; - // return true; } @@ -1844,7 +1897,7 @@ bool l1t::TriggerMenuXmlParser::parseCalo(l1t::CalorimeterCondition condCalo, else if( type=="quad" ) type = "4"; - std::string str_etComparison = l1t2string( condCalo.comparison_operator() ); + std::string str_etComparison = l1t2string( condCalo.etComparison() ); int nrObj = getNumFromType(type); if (nrObj < 0) { @@ -3501,26 +3554,26 @@ bool l1t::TriggerMenuXmlParser::parseId( l1t::Meta meta ) { m_triggerMenuInterface = l1t2string( meta.name() ); m_triggerMenuInterfaceDate = "2013-010-24T15:33:24"; m_triggerMenuInterfaceAuthor = "Darren Puigh"; - m_triggerMenuInterfaceDescription = l1t2string( meta.comment() ); + m_triggerMenuInterfaceDescription = l1t2string( meta.description() ); // m_algorithmImplementation = l1t2string( meta.firmwareVersion() ); // m_triggerMenuDate = l1t2string( meta.changesDate() ); // m_triggerMenuAuthor = l1t2string( meta.changesAuthor() ); - m_triggerMenuDescription = l1t2string( meta.comment() ); - m_scaleDbKey = l1t2string( meta.scale_set() ); + m_triggerMenuDescription = l1t2string( meta.description() ); + m_scaleDbKey = l1t2string( meta.scalesKey() ); int cnt = 0; - for( l1t::RevisionList::revision_const_iterator revision = meta.revisions().revision().begin(); - revision != meta.revisions().revision().end(); ++revision ){ + for( l1t::History::revision_const_iterator revision = meta.history().revision().begin(); + revision != meta.history().revision().end(); ++revision ){ LogDebug("l1t|Global") << "\t Revision " << cnt << "\t\t author = " << l1t2string( revision->author() ) - << "\t\t datetime = " << l1tDateTime2string( revision->datetime() ) + << "\t\t datetime = " << l1t2string( revision->datetime() ) << std::endl; if( cnt==0 ){ - m_triggerMenuDate = l1tDateTime2string( revision->datetime() ); + m_triggerMenuDate = l1t2string( revision->datetime() ); m_triggerMenuAuthor = l1t2string( revision->author() ); } cnt++; @@ -3686,7 +3739,7 @@ bool l1t::TriggerMenuXmlParser::parseConditions( l1t::ConditionList conditions ) LogDebug("l1t|Global") << condCalo->name() << " {" - << " comment: " << condCalo->comment() + << " description: " << condCalo->description() << " locked: " << condCalo->locked() << "}" << std::endl; @@ -3702,7 +3755,7 @@ bool l1t::TriggerMenuXmlParser::parseConditions( l1t::ConditionList conditions ) LogDebug("l1t|Global") << condMu->name() << " {" - << " comment: " << condMu->comment() + << " description: " << condMu->description() << " locked: " << condMu->locked() << "}" << std::endl; @@ -3758,7 +3811,7 @@ bool l1t::TriggerMenuXmlParser::workAlgorithm( l1t::Algorithm algorithm, } // get the logical expression - std::string logExpression = l1t2string( algorithm.logical_expression() ); + std::string logExpression = l1t2string( algorithm.equation() ); LogDebug("l1t|Global") << " Logical expression: " << logExpression @@ -3845,8 +3898,8 @@ bool l1t::TriggerMenuXmlParser::parseAlgorithms( l1t::AlgorithmList algorithms ) LogDebug("l1t|Global") << algorithm.name() << " {" << " index: " << algorithm.index() - << " equation: " << algorithm.logical_expression() - << " comment: " << algorithm.comment() + << " equation: " << algorithm.equation() + << " description: " << algorithm.description() << " locked: " << algorithm.locked() << "}" << std::endl; diff --git a/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlParser.h b/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlParser.h index b45c5f0c3f044..0c2911634c555 100644 --- a/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlParser.h +++ b/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlParser.h @@ -432,8 +432,20 @@ class TriggerMenuXmlParser : public L1GtXmlParserTags unsigned int num, std::vector& mipDst, std::vector& isoEnDst, std::vector& isoReqDst); - template std::string l1t2string( T ); - std::string l1tDateTime2string( l1t::DateTime ); + std::string l1t2string( l1t::MenuName ); + std::string l1t2string( l1t::ScalesKey ); + std::string l1t2string( l1t::FirmwareVersion ); + std::string l1t2string( l1t::DateTime ); + std::string l1t2string( l1t::Label ); + std::string l1t2string( l1t::Description ); + std::string l1t2string( l1t::ConditionName ); + std::string l1t2string( l1t::ConditionType ); + std::string l1t2string( l1t::EtComparison ); + std::string l1t2string( l1t::CalorimeterObjectType ); + std::string l1t2string( l1t::AlgorithmName ); + std::string l1t2string( l1t::AlgorithmIndex ); + std::string l1t2string( l1t::AlgorithmEquation ); + std::string l1t2string( l1t::EtThreshold ); int l1t2int( l1t::RelativeBx ); /// parse a muon condition diff --git a/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlProducer.cc b/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlProducer.cc index 06e1afd857624..0d0e02a86ad41 100644 --- a/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlProducer.cc +++ b/L1Trigger/L1TGlobal/plugins/TriggerMenuXmlProducer.cc @@ -197,6 +197,7 @@ boost::shared_ptr l1t::TriggerMenuXmlProducer::produceGtTriggerMenu // End add + l1t::TriggerMenuXmlParser gtXmlParser = l1t::TriggerMenuXmlParser(); gtXmlParser.setGtNumberConditionChips(numberConditionChips); @@ -226,7 +227,7 @@ boost::shared_ptr l1t::TriggerMenuXmlProducer::produceGtTriggerMenu gtXmlParser.corCaloTemplate(), gtXmlParser.corEnergySumTemplate()) ); - + pL1uGtTriggerMenu->setGtTriggerMenuInterface(gtXmlParser.gtTriggerMenuInterface()); pL1uGtTriggerMenu->setGtTriggerMenuImplementation(gtXmlParser.gtTriggerMenuImplementation()); pL1uGtTriggerMenu->setGtScaleDbKey(gtXmlParser.gtScaleDbKey()); diff --git a/L1Trigger/L1TGlobal/python/runGlobalFakeInputProducer.py b/L1Trigger/L1TGlobal/python/runGlobalFakeInputProducer.py index c7a376b02347d..f9689a1a66a49 100644 --- a/L1Trigger/L1TGlobal/python/runGlobalFakeInputProducer.py +++ b/L1Trigger/L1TGlobal/python/runGlobalFakeInputProducer.py @@ -78,17 +78,7 @@ #fileNames = cms.untracked.vstring("root://xrootd.unl.edu//store/relval/CMSSW_7_0_0_pre8/RelValTTbar/GEN-SIM-DIGI-RAW-HLTDEBUG/START70_V2_amend-v4/00000/1A20137C-E651-E311-A9C6-00304867BFAA.root"), ### Local RelValTTBar #fileNames = cms.untracked.vstring("/store/relval/CMSSW_7_1_0_pre6/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_PRE_LS171_V6-v1/00000/02ACFBFD-B0CB-E311-862A-002618FDA248.root"), - fileNames = cms.untracked.vstring( - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/0EF13A80-F2FE-E311-9565-003048FFD7D4.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/389E0C8A-EFFE-E311-86EA-0025905A6088.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/52F1C37C-F1FE-E311-89EA-00261894394D.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/545B93FA-F1FE-E311-8414-0025905A497A.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/5C8B9784-EFFE-E311-A37A-0025905A60B0.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/5E835FAA-F3FE-E311-8D88-0025905B8596.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/6C2B9503-F0FE-E311-858F-0025905A612A.root", - ), - - #fileNames = cms.untracked.vstring("/store/relval/CMSSW_7_1_0_pre5/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V2-v2/00000/0E8CA3E5-94BC-E311-866D-02163E00EB85.root"), + fileNames = cms.untracked.vstring("/store/relval/CMSSW_7_1_0_pre5/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V2-v2/00000/0E8CA3E5-94BC-E311-866D-02163E00EB85.root"), #fileNames = cms.untracked.vstring( #"/store/user/puigh/RelValTTbar_GEN-SIM-DIGI-RAW-HLTDEBUG_START70_V2_amend-v4_00000_3A11157B-ED51-E311-BA75-003048679080.root", #"/store/user/puigh/RelValTTbar_GEN-SIM-DIGI-RAW-HLTDEBUG_START70_V2_amend-v4_00000_1A20137C-E651-E311-A9C6-00304867BFAA.root", @@ -117,9 +107,7 @@ muInputTag = cms.InputTag("gtInput"), tauInputTag = cms.InputTag("gtInput"), jetInputTag = cms.InputTag("gtInput"), - etsumInputTag = cms.InputTag("gtInput"), - minBx = cms.int32(0), - maxBx = cms.int32(0) + etsumInputTag = cms.InputTag("gtInput") ) process.dumpED = cms.EDAnalyzer("EventContentAnalyzer") process.dumpES = cms.EDAnalyzer("PrintEventSetupContent") @@ -228,7 +216,7 @@ maxBx = cms.int32(2), minBxVec = cms.int32(0), maxBxVec = cms.int32(0), - dumpGTRecord = cms.bool(True), + dumpGTRecord = cms.bool(False), dumpVectors = cms.bool(True), tvFileName = cms.string( ("TestVector_%03d.txt") % job ) ) diff --git a/L1Trigger/L1TGlobal/src/AlgorithmEvaluation.cc b/L1Trigger/L1TGlobal/src/AlgorithmEvaluation.cc index ae3c6523b6bce..bfe6bef4351f7 100644 --- a/L1Trigger/L1TGlobal/src/AlgorithmEvaluation.cc +++ b/L1Trigger/L1TGlobal/src/AlgorithmEvaluation.cc @@ -85,7 +85,7 @@ void l1t::AlgorithmEvaluation::evaluateAlgorithm(const int chipNumber, for (RpnVector::const_iterator it = m_rpnVector.begin(); it != m_rpnVector.end(); it++) { - //LogTrace("l1t|Global") + //LogTrace("L1GlobalTrigger") //<< "\nit->operation = " << it->operation //<< "\nit->operand = '" << it->operand << "'\n" //<< std::endl; diff --git a/L1Trigger/L1TGlobal/src/BuildFile.xml b/L1Trigger/L1TGlobal/src/BuildFile.xml index 196bbccbe8342..79a05a0e1e379 100644 --- a/L1Trigger/L1TGlobal/src/BuildFile.xml +++ b/L1Trigger/L1TGlobal/src/BuildFile.xml @@ -5,6 +5,7 @@ + diff --git a/L1Trigger/L1TGlobal/src/CaloCondition.cc b/L1Trigger/L1TGlobal/src/CaloCondition.cc index d8101c798ec45..fbe76f375fe04 100644 --- a/L1Trigger/L1TGlobal/src/CaloCondition.cc +++ b/L1Trigger/L1TGlobal/src/CaloCondition.cc @@ -168,7 +168,7 @@ const bool l1t::CaloCondition::evaluateCondition(const int bxEval) const { // number of trigger objects in the condition int nObjInCond = m_gtCaloTemplate->nrObjects(); - //LogTrace("l1t|Global") << " nObjInCond: " << nObjInCond + //LogTrace("L1GlobalTrigger") << " nObjInCond: " << nObjInCond // << std::endl; // the candidates @@ -208,7 +208,7 @@ const bool l1t::CaloCondition::evaluateCondition(const int bxEval) const { int numberObjects = candVec->size(useBx); - //LogTrace("l1t|Global") << " numberObjects: " << numberObjects + //LogTrace("L1GlobalTrigger") << " numberObjects: " << numberObjects // << std::endl; if (numberObjects < nObjInCond) { return false; @@ -290,7 +290,7 @@ const bool l1t::CaloCondition::evaluateCondition(const int bxEval) const { if (nObjInCond != ObjInWscComb) { if (m_verbosity) { - edm::LogError("l1t|Global") + edm::LogError("L1GlobalTrigger") << "\n Error: " << "number of particles in condition with spatial correlation = " << nObjInCond << "\n it must be = " << ObjInWscComb @@ -462,7 +462,7 @@ const bool l1t::CaloCondition::evaluateCondition(const int bxEval) const { } // end if condition has 4 objects - LogTrace("l1t|Global") + LogTrace("L1GlobalTrigger") << "\n CaloCondition: total number of permutations found: " << totalLoops << "\n CaloCondition: number of permutations passing requirements: " << passLoops << "\n" << std::endl; @@ -566,7 +566,7 @@ const bool l1t::CaloCondition::checkObjectParameter(const int iCondition, const // } // particle matches if we get here - //LogTrace("l1t|Global") + //LogTrace("L1GlobalTrigger") // << " checkObjectParameter: calorimeter object OK, passes all requirements\n" // << std::endl; diff --git a/L1Trigger/L1TGlobal/src/GtBoard.cc b/L1Trigger/L1TGlobal/src/GtBoard.cc index 724fdf86ad0b9..73f178aa0d2dd 100644 --- a/L1Trigger/L1TGlobal/src/GtBoard.cc +++ b/L1Trigger/L1TGlobal/src/GtBoard.cc @@ -1090,7 +1090,7 @@ void l1t::GtBoard::resetCalo() { void l1t::GtBoard::printGmtData(const int iBxInEvent) const { LogTrace("l1t|Global") - << "\nl1t::L1GlobalTrigger: GMT data received for BxInEvent = " + << "\nL1GlobalTrigger: GMT data received for BxInEvent = " << iBxInEvent << std::endl; int nrL1Mu = m_candL1Mu->size(iBxInEvent); diff --git a/L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.cxx b/L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.cxx index cbad277ac3a5a..ff5d0089a86e0 100644 --- a/L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.cxx +++ b/L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.cxx @@ -50,11 +50,11 @@ namespace l1t // - // Name + // Label // - // Comment + // Description // @@ -62,30 +62,30 @@ namespace l1t // - // ScaleSet + // ScalesKey // - // Version + // FirmwareVersion // - // RevisionList + // History // - const RevisionList::revision_sequence& RevisionList:: + const History::revision_sequence& History:: revision () const { return this->revision_; } - RevisionList::revision_sequence& RevisionList:: + History::revision_sequence& History:: revision () { return this->revision_; } - void RevisionList:: + void History:: revision (const revision_sequence& s) { this->revision_ = s; @@ -204,46 +204,46 @@ namespace l1t } - // ComparisonOperator + // EtComparison // - ComparisonOperator:: - ComparisonOperator (value v) - : ::xml_schema::string (_xsd_ComparisonOperator_literals_[v]) + EtComparison:: + EtComparison (value v) + : ::xml_schema::string (_xsd_EtComparison_literals_[v]) { } - ComparisonOperator:: - ComparisonOperator (const char* v) + EtComparison:: + EtComparison (const char* v) : ::xml_schema::string (v) { } - ComparisonOperator:: - ComparisonOperator (const ::std::string& v) + EtComparison:: + EtComparison (const ::std::string& v) : ::xml_schema::string (v) { } - ComparisonOperator:: - ComparisonOperator (const ::xml_schema::string& v) + EtComparison:: + EtComparison (const ::xml_schema::string& v) : ::xml_schema::string (v) { } - ComparisonOperator:: - ComparisonOperator (const ComparisonOperator& v, - ::xml_schema::flags f, - ::xml_schema::container* c) + EtComparison:: + EtComparison (const EtComparison& v, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (v, f, c) { } - ComparisonOperator& ComparisonOperator:: + EtComparison& EtComparison:: operator= (value v) { static_cast< ::xml_schema::string& > (*this) = - ::xml_schema::string (_xsd_ComparisonOperator_literals_[v]); + ::xml_schema::string (_xsd_EtComparison_literals_[v]); return *this; } @@ -347,104 +347,10 @@ namespace l1t } - // MuonRequstedCharge - // - - MuonRequstedCharge:: - MuonRequstedCharge (value v) - : ::xml_schema::string (_xsd_MuonRequstedCharge_literals_[v]) - { - } - - MuonRequstedCharge:: - MuonRequstedCharge (const char* v) - : ::xml_schema::string (v) - { - } - - MuonRequstedCharge:: - MuonRequstedCharge (const ::std::string& v) - : ::xml_schema::string (v) - { - } - - MuonRequstedCharge:: - MuonRequstedCharge (const ::xml_schema::string& v) - : ::xml_schema::string (v) - { - } - - MuonRequstedCharge:: - MuonRequstedCharge (const MuonRequstedCharge& v, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (v, f, c) - { - } - - MuonRequstedCharge& MuonRequstedCharge:: - operator= (value v) - { - static_cast< ::xml_schema::string& > (*this) = - ::xml_schema::string (_xsd_MuonRequstedCharge_literals_[v]); - - return *this; - } - - - // MuonRequstedChargeCorr - // - - MuonRequstedChargeCorr:: - MuonRequstedChargeCorr (value v) - : ::xml_schema::string (_xsd_MuonRequstedChargeCorr_literals_[v]) - { - } - - MuonRequstedChargeCorr:: - MuonRequstedChargeCorr (const char* v) - : ::xml_schema::string (v) - { - } - - MuonRequstedChargeCorr:: - MuonRequstedChargeCorr (const ::std::string& v) - : ::xml_schema::string (v) - { - } - - MuonRequstedChargeCorr:: - MuonRequstedChargeCorr (const ::xml_schema::string& v) - : ::xml_schema::string (v) - { - } - - MuonRequstedChargeCorr:: - MuonRequstedChargeCorr (const MuonRequstedChargeCorr& v, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (v, f, c) - { - } - - MuonRequstedChargeCorr& MuonRequstedChargeCorr:: - operator= (value v) - { - static_cast< ::xml_schema::string& > (*this) = - ::xml_schema::string (_xsd_MuonRequstedChargeCorr_literals_[v]); - - return *this; - } - - // EtThreshold // - // PtThreshold - // - - // AlgorithmName // @@ -453,7 +359,7 @@ namespace l1t // - // LogicalExpression + // AlgorithmEquation // @@ -468,208 +374,124 @@ namespace l1t // Meta // - const Meta::name_type& Meta:: - name () const - { - return this->name_.get (); - } - - Meta::name_type& Meta:: - name () - { - return this->name_.get (); - } - - void Meta:: - name (const name_type& x) - { - this->name_.set (x); - } - - void Meta:: - name (::std::auto_ptr< name_type > x) - { - this->name_.set (x); - } - - const Meta::datetime_type& Meta:: - datetime () const - { - return this->datetime_.get (); - } - - Meta::datetime_type& Meta:: - datetime () - { - return this->datetime_.get (); - } - - void Meta:: - datetime (const datetime_type& x) - { - this->datetime_.set (x); - } - - void Meta:: - datetime (::std::auto_ptr< datetime_type > x) - { - this->datetime_.set (x); - } - - const Meta::uuid_menu_type& Meta:: - uuid_menu () const - { - return this->uuid_menu_.get (); - } - - Meta::uuid_menu_type& Meta:: - uuid_menu () - { - return this->uuid_menu_.get (); - } - - void Meta:: - uuid_menu (const uuid_menu_type& x) - { - this->uuid_menu_.set (x); - } - - void Meta:: - uuid_menu (::std::auto_ptr< uuid_menu_type > x) - { - this->uuid_menu_.set (x); - } - - const Meta::uuid_firmware_optional& Meta:: - uuid_firmware () const - { - return this->uuid_firmware_; - } - - Meta::uuid_firmware_optional& Meta:: - uuid_firmware () + const Meta::uid_type& Meta:: + uid () const { - return this->uuid_firmware_; + return this->uid_.get (); } - void Meta:: - uuid_firmware (const uuid_firmware_type& x) + Meta::uid_type& Meta:: + uid () { - this->uuid_firmware_.set (x); + return this->uid_.get (); } void Meta:: - uuid_firmware (const uuid_firmware_optional& x) + uid (const uid_type& x) { - this->uuid_firmware_ = x; + this->uid_.set (x); } void Meta:: - uuid_firmware (::std::auto_ptr< uuid_firmware_type > x) + uid (::std::auto_ptr< uid_type > x) { - this->uuid_firmware_.set (x); + this->uid_.set (x); } - const Meta::comment_type& Meta:: - comment () const + const Meta::name_type& Meta:: + name () const { - return this->comment_.get (); + return this->name_.get (); } - Meta::comment_type& Meta:: - comment () + Meta::name_type& Meta:: + name () { - return this->comment_.get (); + return this->name_.get (); } void Meta:: - comment (const comment_type& x) + name (const name_type& x) { - this->comment_.set (x); + this->name_.set (x); } void Meta:: - comment (::std::auto_ptr< comment_type > x) + name (::std::auto_ptr< name_type > x) { - this->comment_.set (x); + this->name_.set (x); } - const Meta::scale_set_type& Meta:: - scale_set () const + const Meta::scalesKey_type& Meta:: + scalesKey () const { - return this->scale_set_.get (); + return this->scalesKey_.get (); } - Meta::scale_set_type& Meta:: - scale_set () + Meta::scalesKey_type& Meta:: + scalesKey () { - return this->scale_set_.get (); + return this->scalesKey_.get (); } void Meta:: - scale_set (const scale_set_type& x) + scalesKey (const scalesKey_type& x) { - this->scale_set_.set (x); + this->scalesKey_.set (x); } void Meta:: - scale_set (::std::auto_ptr< scale_set_type > x) - { - this->scale_set_.set (x); - } - - const Meta::editor_version_optional& Meta:: - editor_version () const + scalesKey (::std::auto_ptr< scalesKey_type > x) { - return this->editor_version_; + this->scalesKey_.set (x); } - Meta::editor_version_optional& Meta:: - editor_version () + const Meta::description_type& Meta:: + description () const { - return this->editor_version_; + return this->description_.get (); } - void Meta:: - editor_version (const editor_version_type& x) + Meta::description_type& Meta:: + description () { - this->editor_version_.set (x); + return this->description_.get (); } void Meta:: - editor_version (const editor_version_optional& x) + description (const description_type& x) { - this->editor_version_ = x; + this->description_.set (x); } void Meta:: - editor_version (::std::auto_ptr< editor_version_type > x) + description (::std::auto_ptr< description_type > x) { - this->editor_version_.set (x); + this->description_.set (x); } - const Meta::revisions_type& Meta:: - revisions () const + const Meta::history_type& Meta:: + history () const { - return this->revisions_.get (); + return this->history_.get (); } - Meta::revisions_type& Meta:: - revisions () + Meta::history_type& Meta:: + history () { - return this->revisions_.get (); + return this->history_.get (); } void Meta:: - revisions (const revisions_type& x) + history (const history_type& x) { - this->revisions_.set (x); + this->history_.set (x); } void Meta:: - revisions (::std::auto_ptr< revisions_type > x) + history (::std::auto_ptr< history_type > x) { - this->revisions_.set (x); + this->history_.set (x); } @@ -748,6 +570,42 @@ namespace l1t this->condCorrelation_ = s; } + const ConditionList::condInvariantMass_sequence& ConditionList:: + condInvariantMass () const + { + return this->condInvariantMass_; + } + + ConditionList::condInvariantMass_sequence& ConditionList:: + condInvariantMass () + { + return this->condInvariantMass_; + } + + void ConditionList:: + condInvariantMass (const condInvariantMass_sequence& s) + { + this->condInvariantMass_ = s; + } + + const ConditionList::condDeltaR_sequence& ConditionList:: + condDeltaR () const + { + return this->condDeltaR_; + } + + ConditionList::condDeltaR_sequence& ConditionList:: + condDeltaR () + { + return this->condDeltaR_; + } + + void ConditionList:: + condDeltaR (const condDeltaR_sequence& s) + { + this->condDeltaR_ = s; + } + // Condition // @@ -800,28 +658,28 @@ namespace l1t this->name_.set (x); } - const Condition::comment_type& Condition:: - comment () const + const Condition::description_type& Condition:: + description () const { - return this->comment_.get (); + return this->description_.get (); } - Condition::comment_type& Condition:: - comment () + Condition::description_type& Condition:: + description () { - return this->comment_.get (); + return this->description_.get (); } void Condition:: - comment (const comment_type& x) + description (const description_type& x) { - this->comment_.set (x); + this->description_.set (x); } void Condition:: - comment (::std::auto_ptr< comment_type > x) + description (::std::auto_ptr< description_type > x) { - this->comment_.set (x); + this->description_.set (x); } const Condition::locked_type& Condition:: @@ -1048,28 +906,28 @@ namespace l1t this->type_.set (x); } - const CalorimeterCondition::comparison_operator_type& CalorimeterCondition:: - comparison_operator () const + const CalorimeterCondition::etComparison_type& CalorimeterCondition:: + etComparison () const { - return this->comparison_operator_.get (); + return this->etComparison_.get (); } - CalorimeterCondition::comparison_operator_type& CalorimeterCondition:: - comparison_operator () + CalorimeterCondition::etComparison_type& CalorimeterCondition:: + etComparison () { - return this->comparison_operator_.get (); + return this->etComparison_.get (); } void CalorimeterCondition:: - comparison_operator (const comparison_operator_type& x) + etComparison (const etComparison_type& x) { - this->comparison_operator_.set (x); + this->etComparison_.set (x); } void CalorimeterCondition:: - comparison_operator (::std::auto_ptr< comparison_operator_type > x) + etComparison (::std::auto_ptr< etComparison_type > x) { - this->comparison_operator_.set (x); + this->etComparison_.set (x); } const CalorimeterCondition::objectType_type& CalorimeterCondition:: @@ -1175,425 +1033,153 @@ namespace l1t } - // MuonObjectRequirement + // MuonCondition // - const MuonObjectRequirement::ptThreshold_type& MuonObjectRequirement:: - ptThreshold () const + const MuonCondition::type_type& MuonCondition:: + type () const { - return this->ptThreshold_.get (); + return this->type_.get (); } - MuonObjectRequirement::ptThreshold_type& MuonObjectRequirement:: - ptThreshold () + MuonCondition::type_type& MuonCondition:: + type () { - return this->ptThreshold_.get (); + return this->type_.get (); } - void MuonObjectRequirement:: - ptThreshold (const ptThreshold_type& x) + void MuonCondition:: + type (const type_type& x) { - this->ptThreshold_.set (x); + this->type_.set (x); } - void MuonObjectRequirement:: - ptThreshold (::std::auto_ptr< ptThreshold_type > x) + void MuonCondition:: + type (::std::auto_ptr< type_type > x) { - this->ptThreshold_.set (x); + this->type_.set (x); } - const MuonObjectRequirement::phiWindow_sequence& MuonObjectRequirement:: - phiWindow () const + const MuonCondition::etComparison_type& MuonCondition:: + etComparison () const { - return this->phiWindow_; + return this->etComparison_.get (); } - MuonObjectRequirement::phiWindow_sequence& MuonObjectRequirement:: - phiWindow () + MuonCondition::etComparison_type& MuonCondition:: + etComparison () { - return this->phiWindow_; + return this->etComparison_.get (); } - void MuonObjectRequirement:: - phiWindow (const phiWindow_sequence& s) + void MuonCondition:: + etComparison (const etComparison_type& x) { - this->phiWindow_ = s; + this->etComparison_.set (x); } - const MuonObjectRequirement::etaWindow_sequence& MuonObjectRequirement:: - etaWindow () const + void MuonCondition:: + etComparison (::std::auto_ptr< etComparison_type > x) { - return this->etaWindow_; + this->etComparison_.set (x); } - MuonObjectRequirement::etaWindow_sequence& MuonObjectRequirement:: - etaWindow () + const MuonCondition::relativeBx_type& MuonCondition:: + relativeBx () const { - return this->etaWindow_; + return this->relativeBx_.get (); } - void MuonObjectRequirement:: - etaWindow (const etaWindow_sequence& s) + MuonCondition::relativeBx_type& MuonCondition:: + relativeBx () { - this->etaWindow_ = s; + return this->relativeBx_.get (); } - const MuonObjectRequirement::requestedCharge_type& MuonObjectRequirement:: - requestedCharge () const + void MuonCondition:: + relativeBx (const relativeBx_type& x) { - return this->requestedCharge_.get (); + this->relativeBx_.set (x); } - MuonObjectRequirement::requestedCharge_type& MuonObjectRequirement:: - requestedCharge () + void MuonCondition:: + relativeBx (::std::auto_ptr< relativeBx_type > x) { - return this->requestedCharge_.get (); + this->relativeBx_.set (x); } - void MuonObjectRequirement:: - requestedCharge (const requestedCharge_type& x) - { - this->requestedCharge_.set (x); - } - void MuonObjectRequirement:: - requestedCharge (::std::auto_ptr< requestedCharge_type > x) + // EnergySumsCondition + // + + + // CorrelationCondition + // + + + // InvariantMassCondition + // + + + // DeltaRCondition + // + + + // Algorithm + // + + const Algorithm::uid_type& Algorithm:: + uid () const { - this->requestedCharge_.set (x); + return this->uid_.get (); } - const MuonObjectRequirement::qualityLut_type& MuonObjectRequirement:: - qualityLut () const + Algorithm::uid_type& Algorithm:: + uid () { - return this->qualityLut_.get (); + return this->uid_.get (); } - MuonObjectRequirement::qualityLut_type& MuonObjectRequirement:: - qualityLut () + void Algorithm:: + uid (const uid_type& x) { - return this->qualityLut_.get (); + this->uid_.set (x); } - void MuonObjectRequirement:: - qualityLut (const qualityLut_type& x) + void Algorithm:: + uid (::std::auto_ptr< uid_type > x) { - this->qualityLut_.set (x); + this->uid_.set (x); } - void MuonObjectRequirement:: - qualityLut (::std::auto_ptr< qualityLut_type > x) + const Algorithm::name_type& Algorithm:: + name () const { - this->qualityLut_.set (x); + return this->name_.get (); } - const MuonObjectRequirement::isolationLut_type& MuonObjectRequirement:: - isolationLut () const + Algorithm::name_type& Algorithm:: + name () { - return this->isolationLut_.get (); + return this->name_.get (); } - MuonObjectRequirement::isolationLut_type& MuonObjectRequirement:: - isolationLut () + void Algorithm:: + name (const name_type& x) { - return this->isolationLut_.get (); + this->name_.set (x); } - void MuonObjectRequirement:: - isolationLut (const isolationLut_type& x) + void Algorithm:: + name (::std::auto_ptr< name_type > x) { - this->isolationLut_.set (x); + this->name_.set (x); } - void MuonObjectRequirement:: - isolationLut (::std::auto_ptr< isolationLut_type > x) + const Algorithm::index_type& Algorithm:: + index () const { - this->isolationLut_.set (x); - } - - - // MuonObjectRequirementList - // - - const MuonObjectRequirementList::objectRequirement_sequence& MuonObjectRequirementList:: - objectRequirement () const - { - return this->objectRequirement_; - } - - MuonObjectRequirementList::objectRequirement_sequence& MuonObjectRequirementList:: - objectRequirement () - { - return this->objectRequirement_; - } - - void MuonObjectRequirementList:: - objectRequirement (const objectRequirement_sequence& s) - { - this->objectRequirement_ = s; - } - - - // MuonQualityLUT - // - - const MuonQualityLUT::quality_sequence& MuonQualityLUT:: - quality () const - { - return this->quality_; - } - - MuonQualityLUT::quality_sequence& MuonQualityLUT:: - quality () - { - return this->quality_; - } - - void MuonQualityLUT:: - quality (const quality_sequence& s) - { - this->quality_ = s; - } - - - // MuonIsolationLUT - // - - const MuonIsolationLUT::isolation_sequence& MuonIsolationLUT:: - isolation () const - { - return this->isolation_; - } - - MuonIsolationLUT::isolation_sequence& MuonIsolationLUT:: - isolation () - { - return this->isolation_; - } - - void MuonIsolationLUT:: - isolation (const isolation_sequence& s) - { - this->isolation_ = s; - } - - - // MuonCondition - // - - const MuonCondition::type_type& MuonCondition:: - type () const - { - return this->type_.get (); - } - - MuonCondition::type_type& MuonCondition:: - type () - { - return this->type_.get (); - } - - void MuonCondition:: - type (const type_type& x) - { - this->type_.set (x); - } - - void MuonCondition:: - type (::std::auto_ptr< type_type > x) - { - this->type_.set (x); - } - - const MuonCondition::comparison_operator_type& MuonCondition:: - comparison_operator () const - { - return this->comparison_operator_.get (); - } - - MuonCondition::comparison_operator_type& MuonCondition:: - comparison_operator () - { - return this->comparison_operator_.get (); - } - - void MuonCondition:: - comparison_operator (const comparison_operator_type& x) - { - this->comparison_operator_.set (x); - } - - void MuonCondition:: - comparison_operator (::std::auto_ptr< comparison_operator_type > x) - { - this->comparison_operator_.set (x); - } - - const MuonCondition::objectRequirements_type& MuonCondition:: - objectRequirements () const - { - return this->objectRequirements_.get (); - } - - MuonCondition::objectRequirements_type& MuonCondition:: - objectRequirements () - { - return this->objectRequirements_.get (); - } - - void MuonCondition:: - objectRequirements (const objectRequirements_type& x) - { - this->objectRequirements_.set (x); - } - - void MuonCondition:: - objectRequirements (::std::auto_ptr< objectRequirements_type > x) - { - this->objectRequirements_.set (x); - } - - const MuonCondition::requestedChargeCorr_type& MuonCondition:: - requestedChargeCorr () const - { - return this->requestedChargeCorr_.get (); - } - - MuonCondition::requestedChargeCorr_type& MuonCondition:: - requestedChargeCorr () - { - return this->requestedChargeCorr_.get (); - } - - void MuonCondition:: - requestedChargeCorr (const requestedChargeCorr_type& x) - { - this->requestedChargeCorr_.set (x); - } - - void MuonCondition:: - requestedChargeCorr (::std::auto_ptr< requestedChargeCorr_type > x) - { - this->requestedChargeCorr_.set (x); - } - - const MuonCondition::deltaRequirement_optional& MuonCondition:: - deltaRequirement () const - { - return this->deltaRequirement_; - } - - MuonCondition::deltaRequirement_optional& MuonCondition:: - deltaRequirement () - { - return this->deltaRequirement_; - } - - void MuonCondition:: - deltaRequirement (const deltaRequirement_type& x) - { - this->deltaRequirement_.set (x); - } - - void MuonCondition:: - deltaRequirement (const deltaRequirement_optional& x) - { - this->deltaRequirement_ = x; - } - - void MuonCondition:: - deltaRequirement (::std::auto_ptr< deltaRequirement_type > x) - { - this->deltaRequirement_.set (x); - } - - const MuonCondition::relativeBx_type& MuonCondition:: - relativeBx () const - { - return this->relativeBx_.get (); - } - - MuonCondition::relativeBx_type& MuonCondition:: - relativeBx () - { - return this->relativeBx_.get (); - } - - void MuonCondition:: - relativeBx (const relativeBx_type& x) - { - this->relativeBx_.set (x); - } - - void MuonCondition:: - relativeBx (::std::auto_ptr< relativeBx_type > x) - { - this->relativeBx_.set (x); - } - - - // EnergySumsCondition - // - - - // CorrelationCondition - // - - - // Algorithm - // - - const Algorithm::uid_type& Algorithm:: - uid () const - { - return this->uid_.get (); - } - - Algorithm::uid_type& Algorithm:: - uid () - { - return this->uid_.get (); - } - - void Algorithm:: - uid (const uid_type& x) - { - this->uid_.set (x); - } - - void Algorithm:: - uid (::std::auto_ptr< uid_type > x) - { - this->uid_.set (x); - } - - const Algorithm::name_type& Algorithm:: - name () const - { - return this->name_.get (); - } - - Algorithm::name_type& Algorithm:: - name () - { - return this->name_.get (); - } - - void Algorithm:: - name (const name_type& x) - { - this->name_.set (x); - } - - void Algorithm:: - name (::std::auto_ptr< name_type > x) - { - this->name_.set (x); - } - - const Algorithm::index_type& Algorithm:: - index () const - { - return this->index_.get (); + return this->index_.get (); } Algorithm::index_type& Algorithm:: @@ -1614,52 +1200,52 @@ namespace l1t this->index_.set (x); } - const Algorithm::logical_expression_type& Algorithm:: - logical_expression () const + const Algorithm::equation_type& Algorithm:: + equation () const { - return this->logical_expression_.get (); + return this->equation_.get (); } - Algorithm::logical_expression_type& Algorithm:: - logical_expression () + Algorithm::equation_type& Algorithm:: + equation () { - return this->logical_expression_.get (); + return this->equation_.get (); } void Algorithm:: - logical_expression (const logical_expression_type& x) + equation (const equation_type& x) { - this->logical_expression_.set (x); + this->equation_.set (x); } void Algorithm:: - logical_expression (::std::auto_ptr< logical_expression_type > x) + equation (::std::auto_ptr< equation_type > x) { - this->logical_expression_.set (x); + this->equation_.set (x); } - const Algorithm::comment_type& Algorithm:: - comment () const + const Algorithm::description_type& Algorithm:: + description () const { - return this->comment_.get (); + return this->description_.get (); } - Algorithm::comment_type& Algorithm:: - comment () + Algorithm::description_type& Algorithm:: + description () { - return this->comment_.get (); + return this->description_.get (); } void Algorithm:: - comment (const comment_type& x) + description (const description_type& x) { - this->comment_.set (x); + this->description_.set (x); } void Algorithm:: - comment (::std::auto_ptr< comment_type > x) + description (::std::auto_ptr< description_type > x) { - this->comment_.set (x); + this->description_.set (x); } const Algorithm::locked_type& Algorithm:: @@ -1985,147 +1571,147 @@ namespace l1t { } - // Name + // Label // - Name:: - Name () + Label:: + Label () : ::xml_schema::string () { } - Name:: - Name (const char* _xsd_string_base) + Label:: + Label (const char* _xsd_string_base) : ::xml_schema::string (_xsd_string_base) { } - Name:: - Name (const ::std::string& _xsd_string_base) + Label:: + Label (const ::std::string& _xsd_string_base) : ::xml_schema::string (_xsd_string_base) { } - Name:: - Name (const ::xml_schema::string& _xsd_string_base) + Label:: + Label (const ::xml_schema::string& _xsd_string_base) : ::xml_schema::string (_xsd_string_base) { } - Name:: - Name (const Name& x, - ::xml_schema::flags f, - ::xml_schema::container* c) + Label:: + Label (const Label& x, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (x, f, c) { } - Name:: - Name (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) + Label:: + Label (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (e, f, c) { } - Name:: - Name (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f, - ::xml_schema::container* c) + Label:: + Label (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (a, f, c) { } - Name:: - Name (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f, - ::xml_schema::container* c) + Label:: + Label (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (s, e, f, c) { } - Name* Name:: + Label* Label:: _clone (::xml_schema::flags f, ::xml_schema::container* c) const { - return new class Name (*this, f, c); + return new class Label (*this, f, c); } - Name:: - ~Name () + Label:: + ~Label () { } - // Comment + // Description // - Comment:: - Comment () + Description:: + Description () : ::xml_schema::string () { } - Comment:: - Comment (const char* _xsd_string_base) + Description:: + Description (const char* _xsd_string_base) : ::xml_schema::string (_xsd_string_base) { } - Comment:: - Comment (const ::std::string& _xsd_string_base) + Description:: + Description (const ::std::string& _xsd_string_base) : ::xml_schema::string (_xsd_string_base) { } - Comment:: - Comment (const ::xml_schema::string& _xsd_string_base) + Description:: + Description (const ::xml_schema::string& _xsd_string_base) : ::xml_schema::string (_xsd_string_base) { } - Comment:: - Comment (const Comment& x, - ::xml_schema::flags f, - ::xml_schema::container* c) + Description:: + Description (const Description& x, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (x, f, c) { } - Comment:: - Comment (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) + Description:: + Description (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (e, f, c) { } - Comment:: - Comment (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f, - ::xml_schema::container* c) + Description:: + Description (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (a, f, c) { } - Comment:: - Comment (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f, - ::xml_schema::container* c) + Description:: + Description (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (s, e, f, c) { } - Comment* Comment:: + Description* Description:: _clone (::xml_schema::flags f, ::xml_schema::container* c) const { - return new class Comment (*this, f, c); + return new class Description (*this, f, c); } - Comment:: - ~Comment () + Description:: + ~Description () { } @@ -2134,25 +1720,25 @@ namespace l1t MenuName:: MenuName () - : ::l1t::Name () + : ::xml_schema::string () { } MenuName:: MenuName (const char* _xsd_string_base) - : ::l1t::Name (_xsd_string_base) + : ::xml_schema::string (_xsd_string_base) { } MenuName:: MenuName (const ::std::string& _xsd_string_base) - : ::l1t::Name (_xsd_string_base) + : ::xml_schema::string (_xsd_string_base) { } MenuName:: MenuName (const ::xml_schema::string& _xsd_string_base) - : ::l1t::Name (_xsd_string_base) + : ::xml_schema::string (_xsd_string_base) { } @@ -2160,7 +1746,7 @@ namespace l1t MenuName (const MenuName& x, ::xml_schema::flags f, ::xml_schema::container* c) - : ::l1t::Name (x, f, c) + : ::xml_schema::string (x, f, c) { } @@ -2168,7 +1754,7 @@ namespace l1t MenuName (const ::xercesc::DOMElement& e, ::xml_schema::flags f, ::xml_schema::container* c) - : ::l1t::Name (e, f, c) + : ::xml_schema::string (e, f, c) { } @@ -2176,7 +1762,7 @@ namespace l1t MenuName (const ::xercesc::DOMAttr& a, ::xml_schema::flags f, ::xml_schema::container* c) - : ::l1t::Name (a, f, c) + : ::xml_schema::string (a, f, c) { } @@ -2185,7 +1771,7 @@ namespace l1t const ::xercesc::DOMElement* e, ::xml_schema::flags f, ::xml_schema::container* c) - : ::l1t::Name (s, e, f, c) + : ::xml_schema::string (s, e, f, c) { } @@ -2201,173 +1787,155 @@ namespace l1t { } - // ScaleSet + // ScalesKey // - ScaleSet:: - ScaleSet () - : ::l1t::Name () + ScalesKey:: + ScalesKey () + : ::xml_schema::string () { } - ScaleSet:: - ScaleSet (const char* _xsd_string_base) - : ::l1t::Name (_xsd_string_base) + ScalesKey:: + ScalesKey (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) { } - ScaleSet:: - ScaleSet (const ::std::string& _xsd_string_base) - : ::l1t::Name (_xsd_string_base) + ScalesKey:: + ScalesKey (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) { } - ScaleSet:: - ScaleSet (const ::xml_schema::string& _xsd_string_base) - : ::l1t::Name (_xsd_string_base) + ScalesKey:: + ScalesKey (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) { } - ScaleSet:: - ScaleSet (const ScaleSet& x, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::l1t::Name (x, f, c) + ScalesKey:: + ScalesKey (const ScalesKey& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) { } - ScaleSet:: - ScaleSet (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::l1t::Name (e, f, c) + ScalesKey:: + ScalesKey (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) { } - ScaleSet:: - ScaleSet (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::l1t::Name (a, f, c) + ScalesKey:: + ScalesKey (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) { } - ScaleSet:: - ScaleSet (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::l1t::Name (s, e, f, c) + ScalesKey:: + ScalesKey (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) { } - ScaleSet* ScaleSet:: + ScalesKey* ScalesKey:: _clone (::xml_schema::flags f, ::xml_schema::container* c) const { - return new class ScaleSet (*this, f, c); + return new class ScalesKey (*this, f, c); } - ScaleSet:: - ~ScaleSet () + ScalesKey:: + ~ScalesKey () { } - // Version + // FirmwareVersion // - Version:: - Version () - : ::xml_schema::string () - { - } - - Version:: - Version (const char* _xsd_string_base) - : ::xml_schema::string (_xsd_string_base) - { - } - - Version:: - Version (const ::std::string& _xsd_string_base) - : ::xml_schema::string (_xsd_string_base) - { - } - - Version:: - Version (const ::xml_schema::string& _xsd_string_base) - : ::xml_schema::string (_xsd_string_base) + FirmwareVersion:: + FirmwareVersion (const ::xml_schema::unsigned_int& _xsd_unsigned_int_base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (_xsd_unsigned_int_base) { } - Version:: - Version (const Version& x, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (x, f, c) + FirmwareVersion:: + FirmwareVersion (const FirmwareVersion& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (x, f, c) { } - Version:: - Version (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (e, f, c) + FirmwareVersion:: + FirmwareVersion (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (e, f, c) { } - Version:: - Version (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (a, f, c) + FirmwareVersion:: + FirmwareVersion (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (a, f, c) { } - Version:: - Version (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (s, e, f, c) + FirmwareVersion:: + FirmwareVersion (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (s, e, f, c) { } - Version* Version:: + FirmwareVersion* FirmwareVersion:: _clone (::xml_schema::flags f, ::xml_schema::container* c) const { - return new class Version (*this, f, c); + return new class FirmwareVersion (*this, f, c); } - Version:: - ~Version () + FirmwareVersion:: + ~FirmwareVersion () { } - // RevisionList + // History // - RevisionList:: - RevisionList () + History:: + History () : ::xml_schema::type (), revision_ (::xml_schema::flags (), this) { } - RevisionList:: - RevisionList (const RevisionList& x, - ::xml_schema::flags f, - ::xml_schema::container* c) + History:: + History (const History& x, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::type (x, f, c), revision_ (x.revision_, f, this) { } - RevisionList:: - RevisionList (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) + History:: + History (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), revision_ (f, this) { @@ -2378,7 +1946,7 @@ namespace l1t } } - void RevisionList:: + void History:: parse (::xsd::cxx::xml::dom::parser< char >& p, ::xml_schema::flags f) { @@ -2390,7 +1958,7 @@ namespace l1t // revision // - if (n.name () == "revision" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "revision" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< revision_type > r ( revision_traits::create (i, f, this)); @@ -2403,15 +1971,15 @@ namespace l1t } } - RevisionList* RevisionList:: + History* History:: _clone (::xml_schema::flags f, ::xml_schema::container* c) const { - return new class RevisionList (*this, f, c); + return new class History (*this, f, c); } - RevisionList:: - ~RevisionList () + History:: + ~History () { } @@ -2470,7 +2038,7 @@ namespace l1t // author // - if (n.name () == "author" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "author" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< author_type > r ( author_traits::create (i, f, this)); @@ -2484,7 +2052,7 @@ namespace l1t // datetime // - if (n.name () == "datetime" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "datetime" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< datetime_type > r ( datetime_traits::create (i, f, this)); @@ -2503,14 +2071,14 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "author", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!datetime_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "datetime", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } while (p.more_attributes ()) @@ -2551,55 +2119,55 @@ namespace l1t { } - // ComparisonOperator + // EtComparison // - ComparisonOperator:: - ComparisonOperator (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) + EtComparison:: + EtComparison (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (e, f, c) { - _xsd_ComparisonOperator_convert (); + _xsd_EtComparison_convert (); } - ComparisonOperator:: - ComparisonOperator (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f, - ::xml_schema::container* c) + EtComparison:: + EtComparison (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (a, f, c) { - _xsd_ComparisonOperator_convert (); + _xsd_EtComparison_convert (); } - ComparisonOperator:: - ComparisonOperator (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f, - ::xml_schema::container* c) + EtComparison:: + EtComparison (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) : ::xml_schema::string (s, e, f, c) { - _xsd_ComparisonOperator_convert (); + _xsd_EtComparison_convert (); } - ComparisonOperator* ComparisonOperator:: + EtComparison* EtComparison:: _clone (::xml_schema::flags f, ::xml_schema::container* c) const { - return new class ComparisonOperator (*this, f, c); + return new class EtComparison (*this, f, c); } - ComparisonOperator::value ComparisonOperator:: - _xsd_ComparisonOperator_convert () const + EtComparison::value EtComparison:: + _xsd_EtComparison_convert () const { - ::xsd::cxx::tree::enum_comparator< char > c (_xsd_ComparisonOperator_literals_); + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_EtComparison_literals_); const value* i (::std::lower_bound ( - _xsd_ComparisonOperator_indexes_, - _xsd_ComparisonOperator_indexes_ + 2, + _xsd_EtComparison_indexes_, + _xsd_EtComparison_indexes_ + 2, *this, c)); - if (i == _xsd_ComparisonOperator_indexes_ + 2 || _xsd_ComparisonOperator_literals_[*i] != *this) + if (i == _xsd_EtComparison_indexes_ + 2 || _xsd_EtComparison_literals_[*i] != *this) { throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); } @@ -2607,18 +2175,18 @@ namespace l1t return *i; } - const char* const ComparisonOperator:: - _xsd_ComparisonOperator_literals_[2] = + const char* const EtComparison:: + _xsd_EtComparison_literals_[2] = { "eq", "ge" }; - const ComparisonOperator::value ComparisonOperator:: - _xsd_ComparisonOperator_indexes_[2] = + const EtComparison::value EtComparison:: + _xsd_EtComparison_indexes_[2] = { - ::l1t::ComparisonOperator::eq, - ::l1t::ComparisonOperator::ge + ::l1t::EtComparison::eq, + ::l1t::EtComparison::ge }; // RelativeBx @@ -2895,150 +2463,6 @@ namespace l1t ::l1t::CalorimeterObjectType::tau }; - // MuonRequstedCharge - // - - MuonRequstedCharge:: - MuonRequstedCharge (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (e, f, c) - { - _xsd_MuonRequstedCharge_convert (); - } - - MuonRequstedCharge:: - MuonRequstedCharge (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (a, f, c) - { - _xsd_MuonRequstedCharge_convert (); - } - - MuonRequstedCharge:: - MuonRequstedCharge (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (s, e, f, c) - { - _xsd_MuonRequstedCharge_convert (); - } - - MuonRequstedCharge* MuonRequstedCharge:: - _clone (::xml_schema::flags f, - ::xml_schema::container* c) const - { - return new class MuonRequstedCharge (*this, f, c); - } - - MuonRequstedCharge::value MuonRequstedCharge:: - _xsd_MuonRequstedCharge_convert () const - { - ::xsd::cxx::tree::enum_comparator< char > c (_xsd_MuonRequstedCharge_literals_); - const value* i (::std::lower_bound ( - _xsd_MuonRequstedCharge_indexes_, - _xsd_MuonRequstedCharge_indexes_ + 3, - *this, - c)); - - if (i == _xsd_MuonRequstedCharge_indexes_ + 3 || _xsd_MuonRequstedCharge_literals_[*i] != *this) - { - throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); - } - - return *i; - } - - const char* const MuonRequstedCharge:: - _xsd_MuonRequstedCharge_literals_[3] = - { - "pos", - "neg", - "ign" - }; - - const MuonRequstedCharge::value MuonRequstedCharge:: - _xsd_MuonRequstedCharge_indexes_[3] = - { - ::l1t::MuonRequstedCharge::ign, - ::l1t::MuonRequstedCharge::neg, - ::l1t::MuonRequstedCharge::pos - }; - - // MuonRequstedChargeCorr - // - - MuonRequstedChargeCorr:: - MuonRequstedChargeCorr (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (e, f, c) - { - _xsd_MuonRequstedChargeCorr_convert (); - } - - MuonRequstedChargeCorr:: - MuonRequstedChargeCorr (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (a, f, c) - { - _xsd_MuonRequstedChargeCorr_convert (); - } - - MuonRequstedChargeCorr:: - MuonRequstedChargeCorr (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::string (s, e, f, c) - { - _xsd_MuonRequstedChargeCorr_convert (); - } - - MuonRequstedChargeCorr* MuonRequstedChargeCorr:: - _clone (::xml_schema::flags f, - ::xml_schema::container* c) const - { - return new class MuonRequstedChargeCorr (*this, f, c); - } - - MuonRequstedChargeCorr::value MuonRequstedChargeCorr:: - _xsd_MuonRequstedChargeCorr_convert () const - { - ::xsd::cxx::tree::enum_comparator< char > c (_xsd_MuonRequstedChargeCorr_literals_); - const value* i (::std::lower_bound ( - _xsd_MuonRequstedChargeCorr_indexes_, - _xsd_MuonRequstedChargeCorr_indexes_ + 3, - *this, - c)); - - if (i == _xsd_MuonRequstedChargeCorr_indexes_ + 3 || _xsd_MuonRequstedChargeCorr_literals_[*i] != *this) - { - throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); - } - - return *i; - } - - const char* const MuonRequstedChargeCorr:: - _xsd_MuonRequstedChargeCorr_literals_[3] = - { - "ls", - "os", - "ig" - }; - - const MuonRequstedChargeCorr::value MuonRequstedChargeCorr:: - _xsd_MuonRequstedChargeCorr_indexes_[3] = - { - ::l1t::MuonRequstedChargeCorr::ig, - ::l1t::MuonRequstedChargeCorr::ls, - ::l1t::MuonRequstedChargeCorr::os - }; - // EtThreshold // @@ -3093,60 +2517,6 @@ namespace l1t { } - // PtThreshold - // - - PtThreshold:: - PtThreshold (const ::xml_schema::unsigned_int& _xsd_unsigned_int_base) - : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (_xsd_unsigned_int_base) - { - } - - PtThreshold:: - PtThreshold (const PtThreshold& x, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (x, f, c) - { - } - - PtThreshold:: - PtThreshold (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (e, f, c) - { - } - - PtThreshold:: - PtThreshold (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (a, f, c) - { - } - - PtThreshold:: - PtThreshold (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (s, e, f, c) - { - } - - PtThreshold* PtThreshold:: - _clone (::xml_schema::flags f, - ::xml_schema::container* c) const - { - return new class PtThreshold (*this, f, c); - } - - PtThreshold:: - ~PtThreshold () - { - } - // AlgorithmName // @@ -3273,59 +2643,59 @@ namespace l1t { } - // LogicalExpression + // AlgorithmEquation // - LogicalExpression:: - LogicalExpression () + AlgorithmEquation:: + AlgorithmEquation () : ::xml_schema::string () { } - LogicalExpression:: - LogicalExpression (const char* _xsd_string_base) + AlgorithmEquation:: + AlgorithmEquation (const char* _xsd_string_base) : ::xml_schema::string (_xsd_string_base) { } - LogicalExpression:: - LogicalExpression (const ::std::string& _xsd_string_base) + AlgorithmEquation:: + AlgorithmEquation (const ::std::string& _xsd_string_base) : ::xml_schema::string (_xsd_string_base) { } - LogicalExpression:: - LogicalExpression (const ::xml_schema::string& _xsd_string_base) + AlgorithmEquation:: + AlgorithmEquation (const ::xml_schema::string& _xsd_string_base) : ::xml_schema::string (_xsd_string_base) { } - LogicalExpression:: - LogicalExpression (const LogicalExpression& x, + AlgorithmEquation:: + AlgorithmEquation (const AlgorithmEquation& x, ::xml_schema::flags f, ::xml_schema::container* c) : ::xml_schema::string (x, f, c) { } - LogicalExpression:: - LogicalExpression (const ::xercesc::DOMElement& e, + AlgorithmEquation:: + AlgorithmEquation (const ::xercesc::DOMElement& e, ::xml_schema::flags f, ::xml_schema::container* c) : ::xml_schema::string (e, f, c) { } - LogicalExpression:: - LogicalExpression (const ::xercesc::DOMAttr& a, + AlgorithmEquation:: + AlgorithmEquation (const ::xercesc::DOMAttr& a, ::xml_schema::flags f, ::xml_schema::container* c) : ::xml_schema::string (a, f, c) { } - LogicalExpression:: - LogicalExpression (const ::std::string& s, + AlgorithmEquation:: + AlgorithmEquation (const ::std::string& s, const ::xercesc::DOMElement* e, ::xml_schema::flags f, ::xml_schema::container* c) @@ -3333,15 +2703,15 @@ namespace l1t { } - LogicalExpression* LogicalExpression:: + AlgorithmEquation* AlgorithmEquation:: _clone (::xml_schema::flags f, ::xml_schema::container* c) const { - return new class LogicalExpression (*this, f, c); + return new class AlgorithmEquation (*this, f, c); } - LogicalExpression:: - ~LogicalExpression () + AlgorithmEquation:: + ~AlgorithmEquation () { } @@ -3457,40 +2827,32 @@ namespace l1t // Meta:: - Meta (const name_type& name, - const datetime_type& datetime, - const uuid_menu_type& uuid_menu, - const comment_type& comment, - const scale_set_type& scale_set, - const revisions_type& revisions) + Meta (const uid_type& uid, + const name_type& name, + const scalesKey_type& scalesKey, + const description_type& description, + const history_type& history) : ::xml_schema::type (), + uid_ (uid, ::xml_schema::flags (), this), name_ (name, ::xml_schema::flags (), this), - datetime_ (datetime, ::xml_schema::flags (), this), - uuid_menu_ (uuid_menu, ::xml_schema::flags (), this), - uuid_firmware_ (::xml_schema::flags (), this), - comment_ (comment, ::xml_schema::flags (), this), - scale_set_ (scale_set, ::xml_schema::flags (), this), - editor_version_ (::xml_schema::flags (), this), - revisions_ (revisions, ::xml_schema::flags (), this) + scalesKey_ (scalesKey, ::xml_schema::flags (), this), + description_ (description, ::xml_schema::flags (), this), + history_ (history, ::xml_schema::flags (), this) { } Meta:: - Meta (const name_type& name, - const datetime_type& datetime, - const uuid_menu_type& uuid_menu, - const comment_type& comment, - const scale_set_type& scale_set, - ::std::auto_ptr< revisions_type >& revisions) + Meta (const uid_type& uid, + const name_type& name, + const scalesKey_type& scalesKey, + const description_type& description, + ::std::auto_ptr< history_type >& history) : ::xml_schema::type (), + uid_ (uid, ::xml_schema::flags (), this), name_ (name, ::xml_schema::flags (), this), - datetime_ (datetime, ::xml_schema::flags (), this), - uuid_menu_ (uuid_menu, ::xml_schema::flags (), this), - uuid_firmware_ (::xml_schema::flags (), this), - comment_ (comment, ::xml_schema::flags (), this), - scale_set_ (scale_set, ::xml_schema::flags (), this), - editor_version_ (::xml_schema::flags (), this), - revisions_ (revisions, ::xml_schema::flags (), this) + scalesKey_ (scalesKey, ::xml_schema::flags (), this), + description_ (description, ::xml_schema::flags (), this), + history_ (history, ::xml_schema::flags (), this) { } @@ -3499,14 +2861,11 @@ namespace l1t ::xml_schema::flags f, ::xml_schema::container* c) : ::xml_schema::type (x, f, c), + uid_ (x.uid_, f, this), name_ (x.name_, f, this), - datetime_ (x.datetime_, f, this), - uuid_menu_ (x.uuid_menu_, f, this), - uuid_firmware_ (x.uuid_firmware_, f, this), - comment_ (x.comment_, f, this), - scale_set_ (x.scale_set_, f, this), - editor_version_ (x.editor_version_, f, this), - revisions_ (x.revisions_, f, this) + scalesKey_ (x.scalesKey_, f, this), + description_ (x.description_, f, this), + history_ (x.history_, f, this) { } @@ -3515,14 +2874,11 @@ namespace l1t ::xml_schema::flags f, ::xml_schema::container* c) : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + uid_ (f, this), name_ (f, this), - datetime_ (f, this), - uuid_menu_ (f, this), - uuid_firmware_ (f, this), - comment_ (f, this), - scale_set_ (f, this), - editor_version_ (f, this), - revisions_ (f, this) + scalesKey_ (f, this), + description_ (f, this), + history_ (f, this) { if ((f & ::xml_schema::flags::base) == 0) { @@ -3541,114 +2897,72 @@ namespace l1t const ::xsd::cxx::xml::qualified_name< char > n ( ::xsd::cxx::xml::dom::name< char > (i)); - // name - // - if (n.name () == "name" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< name_type > r ( - name_traits::create (i, f, this)); - - if (!name_.present ()) - { - this->name_.set (r); - continue; - } - } - - // datetime - // - if (n.name () == "datetime" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< datetime_type > r ( - datetime_traits::create (i, f, this)); - - if (!datetime_.present ()) - { - this->datetime_.set (r); - continue; - } - } - - // uuid_menu - // - if (n.name () == "uuid_menu" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< uuid_menu_type > r ( - uuid_menu_traits::create (i, f, this)); - - if (!uuid_menu_.present ()) - { - this->uuid_menu_.set (r); - continue; - } - } - - // uuid_firmware + // uid // - if (n.name () == "uuid_firmware" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "uid" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< uuid_firmware_type > r ( - uuid_firmware_traits::create (i, f, this)); + ::std::auto_ptr< uid_type > r ( + uid_traits::create (i, f, this)); - if (!this->uuid_firmware_) + if (!uid_.present ()) { - this->uuid_firmware_.set (r); + this->uid_.set (r); continue; } } - // comment + // name // - if (n.name () == "comment" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "name" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< comment_type > r ( - comment_traits::create (i, f, this)); + ::std::auto_ptr< name_type > r ( + name_traits::create (i, f, this)); - if (!comment_.present ()) + if (!name_.present ()) { - this->comment_.set (r); + this->name_.set (r); continue; } } - // scale_set + // scalesKey // - if (n.name () == "scale_set" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "scalesKey" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< scale_set_type > r ( - scale_set_traits::create (i, f, this)); + ::std::auto_ptr< scalesKey_type > r ( + scalesKey_traits::create (i, f, this)); - if (!scale_set_.present ()) + if (!scalesKey_.present ()) { - this->scale_set_.set (r); + this->scalesKey_.set (r); continue; } } - // editor_version + // description // - if (n.name () == "editor_version" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "description" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< editor_version_type > r ( - editor_version_traits::create (i, f, this)); + ::std::auto_ptr< description_type > r ( + description_traits::create (i, f, this)); - if (!this->editor_version_) + if (!description_.present ()) { - this->editor_version_.set (r); + this->description_.set (r); continue; } } - // revisions + // history // - if (n.name () == "revisions" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "history" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< revisions_type > r ( - revisions_traits::create (i, f, this)); + ::std::auto_ptr< history_type > r ( + history_traits::create (i, f, this)); - if (!revisions_.present ()) + if (!history_.present ()) { - this->revisions_.set (r); + this->history_.set (r); continue; } } @@ -3656,46 +2970,39 @@ namespace l1t break; } - if (!name_.present ()) - { - throw ::xsd::cxx::tree::expected_element< char > ( - "name", - "http://www.cern.ch/l1t/0.6.0"); - } - - if (!datetime_.present ()) + if (!uid_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "datetime", - "http://www.cern.ch/l1t/0.6.0"); + "uid", + "http://www.cern.ch/l1t/0.5.2"); } - if (!uuid_menu_.present ()) + if (!name_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "uuid_menu", - "http://www.cern.ch/l1t/0.6.0"); + "name", + "http://www.cern.ch/l1t/0.5.2"); } - if (!comment_.present ()) + if (!scalesKey_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "comment", - "http://www.cern.ch/l1t/0.6.0"); + "scalesKey", + "http://www.cern.ch/l1t/0.5.2"); } - if (!scale_set_.present ()) + if (!description_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "scale_set", - "http://www.cern.ch/l1t/0.6.0"); + "description", + "http://www.cern.ch/l1t/0.5.2"); } - if (!revisions_.present ()) + if (!history_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "revisions", - "http://www.cern.ch/l1t/0.6.0"); + "history", + "http://www.cern.ch/l1t/0.5.2"); } } @@ -3720,7 +3027,9 @@ namespace l1t condCalorimeter_ (::xml_schema::flags (), this), condMuon_ (::xml_schema::flags (), this), condEnergySums_ (::xml_schema::flags (), this), - condCorrelation_ (::xml_schema::flags (), this) + condCorrelation_ (::xml_schema::flags (), this), + condInvariantMass_ (::xml_schema::flags (), this), + condDeltaR_ (::xml_schema::flags (), this) { } @@ -3732,7 +3041,9 @@ namespace l1t condCalorimeter_ (x.condCalorimeter_, f, this), condMuon_ (x.condMuon_, f, this), condEnergySums_ (x.condEnergySums_, f, this), - condCorrelation_ (x.condCorrelation_, f, this) + condCorrelation_ (x.condCorrelation_, f, this), + condInvariantMass_ (x.condInvariantMass_, f, this), + condDeltaR_ (x.condDeltaR_, f, this) { } @@ -3744,7 +3055,9 @@ namespace l1t condCalorimeter_ (f, this), condMuon_ (f, this), condEnergySums_ (f, this), - condCorrelation_ (f, this) + condCorrelation_ (f, this), + condInvariantMass_ (f, this), + condDeltaR_ (f, this) { if ((f & ::xml_schema::flags::base) == 0) { @@ -3765,7 +3078,7 @@ namespace l1t // condCalorimeter // - if (n.name () == "condCalorimeter" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "condCalorimeter" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< condCalorimeter_type > r ( condCalorimeter_traits::create (i, f, this)); @@ -3776,7 +3089,7 @@ namespace l1t // condMuon // - if (n.name () == "condMuon" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "condMuon" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< condMuon_type > r ( condMuon_traits::create (i, f, this)); @@ -3787,7 +3100,7 @@ namespace l1t // condEnergySums // - if (n.name () == "condEnergySums" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "condEnergySums" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< condEnergySums_type > r ( condEnergySums_traits::create (i, f, this)); @@ -3798,7 +3111,7 @@ namespace l1t // condCorrelation // - if (n.name () == "condCorrelation" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "condCorrelation" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< condCorrelation_type > r ( condCorrelation_traits::create (i, f, this)); @@ -3807,6 +3120,28 @@ namespace l1t continue; } + // condInvariantMass + // + if (n.name () == "condInvariantMass" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") + { + ::std::auto_ptr< condInvariantMass_type > r ( + condInvariantMass_traits::create (i, f, this)); + + this->condInvariantMass_.push_back (r); + continue; + } + + // condDeltaR + // + if (n.name () == "condDeltaR" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") + { + ::std::auto_ptr< condDeltaR_type > r ( + condDeltaR_traits::create (i, f, this)); + + this->condDeltaR_.push_back (r); + continue; + } + break; } } @@ -3829,12 +3164,12 @@ namespace l1t Condition:: Condition (const uid_type& uid, const name_type& name, - const comment_type& comment, + const description_type& description, const locked_type& locked) : ::xml_schema::type (), uid_ (uid, ::xml_schema::flags (), this), name_ (name, ::xml_schema::flags (), this), - comment_ (comment, ::xml_schema::flags (), this), + description_ (description, ::xml_schema::flags (), this), locked_ (locked, ::xml_schema::flags (), this) { } @@ -3846,7 +3181,7 @@ namespace l1t : ::xml_schema::type (x, f, c), uid_ (x.uid_, f, this), name_ (x.name_, f, this), - comment_ (x.comment_, f, this), + description_ (x.description_, f, this), locked_ (x.locked_, f, this) { } @@ -3858,7 +3193,7 @@ namespace l1t : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), uid_ (f, this), name_ (f, this), - comment_ (f, this), + description_ (f, this), locked_ (f, this) { if ((f & ::xml_schema::flags::base) == 0) @@ -3880,7 +3215,7 @@ namespace l1t // uid // - if (n.name () == "uid" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "uid" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< uid_type > r ( uid_traits::create (i, f, this)); @@ -3894,7 +3229,7 @@ namespace l1t // name // - if (n.name () == "name" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "name" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< name_type > r ( name_traits::create (i, f, this)); @@ -3906,23 +3241,23 @@ namespace l1t } } - // comment + // description // - if (n.name () == "comment" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "description" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< comment_type > r ( - comment_traits::create (i, f, this)); + ::std::auto_ptr< description_type > r ( + description_traits::create (i, f, this)); - if (!comment_.present ()) + if (!description_.present ()) { - this->comment_.set (r); + this->description_.set (r); continue; } } // locked // - if (n.name () == "locked" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "locked" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { if (!locked_.present ()) { @@ -3938,28 +3273,28 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "uid", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!name_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "name", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } - if (!comment_.present ()) + if (!description_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "comment", - "http://www.cern.ch/l1t/0.6.0"); + "description", + "http://www.cern.ch/l1t/0.5.2"); } if (!locked_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "locked", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } @@ -4024,7 +3359,7 @@ namespace l1t // lower // - if (n.name () == "lower" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "lower" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { if (!lower_.present ()) { @@ -4035,7 +3370,7 @@ namespace l1t // upper // - if (n.name () == "upper" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "upper" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { if (!upper_.present ()) { @@ -4051,14 +3386,14 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "lower", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!upper_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "upper", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } @@ -4132,7 +3467,7 @@ namespace l1t // deltaPhiRange // - if (n.name () == "deltaPhiRange" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "deltaPhiRange" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< deltaPhiRange_type > r ( deltaPhiRange_traits::create (i, f, this)); @@ -4146,7 +3481,7 @@ namespace l1t // deltaEtaRange // - if (n.name () == "deltaEtaRange" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "deltaEtaRange" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< deltaEtaRange_type > r ( deltaEtaRange_traits::create (i, f, this)); @@ -4165,14 +3500,14 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "deltaPhiRange", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!deltaEtaRange_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "deltaEtaRange", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } @@ -4239,7 +3574,7 @@ namespace l1t // etThreshold // - if (n.name () == "etThreshold" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "etThreshold" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< etThreshold_type > r ( etThreshold_traits::create (i, f, this)); @@ -4253,7 +3588,7 @@ namespace l1t // phiWindow // - if (n.name () == "phiWindow" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "phiWindow" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< phiWindow_type > r ( phiWindow_traits::create (i, f, this)); @@ -4264,7 +3599,7 @@ namespace l1t // etaWindow // - if (n.name () == "etaWindow" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "etaWindow" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< etaWindow_type > r ( etaWindow_traits::create (i, f, this)); @@ -4280,7 +3615,7 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "etThreshold", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } @@ -4341,7 +3676,7 @@ namespace l1t // objectRequirement // - if (n.name () == "objectRequirement" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "objectRequirement" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< objectRequirement_type > r ( objectRequirement_traits::create (i, f, this)); @@ -4372,19 +3707,19 @@ namespace l1t CalorimeterCondition:: CalorimeterCondition (const uid_type& uid, const name_type& name, - const comment_type& comment, + const description_type& description, const locked_type& locked, const type_type& type, - const comparison_operator_type& comparison_operator, + const etComparison_type& etComparison, const objectType_type& objectType, const objectRequirements_type& objectRequirements, const relativeBx_type& relativeBx) : ::l1t::Condition (uid, name, - comment, + description, locked), type_ (type, ::xml_schema::flags (), this), - comparison_operator_ (comparison_operator, ::xml_schema::flags (), this), + etComparison_ (etComparison, ::xml_schema::flags (), this), objectType_ (objectType, ::xml_schema::flags (), this), objectRequirements_ (objectRequirements, ::xml_schema::flags (), this), deltaRequirement_ (::xml_schema::flags (), this), @@ -4395,19 +3730,19 @@ namespace l1t CalorimeterCondition:: CalorimeterCondition (const uid_type& uid, const name_type& name, - const comment_type& comment, + const description_type& description, const locked_type& locked, const type_type& type, - const comparison_operator_type& comparison_operator, + const etComparison_type& etComparison, const objectType_type& objectType, ::std::auto_ptr< objectRequirements_type >& objectRequirements, const relativeBx_type& relativeBx) : ::l1t::Condition (uid, name, - comment, + description, locked), type_ (type, ::xml_schema::flags (), this), - comparison_operator_ (comparison_operator, ::xml_schema::flags (), this), + etComparison_ (etComparison, ::xml_schema::flags (), this), objectType_ (objectType, ::xml_schema::flags (), this), objectRequirements_ (objectRequirements, ::xml_schema::flags (), this), deltaRequirement_ (::xml_schema::flags (), this), @@ -4421,7 +3756,7 @@ namespace l1t ::xml_schema::container* c) : ::l1t::Condition (x, f, c), type_ (x.type_, f, this), - comparison_operator_ (x.comparison_operator_, f, this), + etComparison_ (x.etComparison_, f, this), objectType_ (x.objectType_, f, this), objectRequirements_ (x.objectRequirements_, f, this), deltaRequirement_ (x.deltaRequirement_, f, this), @@ -4435,7 +3770,7 @@ namespace l1t ::xml_schema::container* c) : ::l1t::Condition (e, f | ::xml_schema::flags::base, c), type_ (f, this), - comparison_operator_ (f, this), + etComparison_ (f, this), objectType_ (f, this), objectRequirements_ (f, this), deltaRequirement_ (f, this), @@ -4462,7 +3797,7 @@ namespace l1t // type // - if (n.name () == "type" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "type" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< type_type > r ( type_traits::create (i, f, this)); @@ -4474,23 +3809,23 @@ namespace l1t } } - // comparison_operator + // etComparison // - if (n.name () == "comparison_operator" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "etComparison" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< comparison_operator_type > r ( - comparison_operator_traits::create (i, f, this)); + ::std::auto_ptr< etComparison_type > r ( + etComparison_traits::create (i, f, this)); - if (!comparison_operator_.present ()) + if (!etComparison_.present ()) { - this->comparison_operator_.set (r); + this->etComparison_.set (r); continue; } } // objectType // - if (n.name () == "objectType" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "objectType" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< objectType_type > r ( objectType_traits::create (i, f, this)); @@ -4504,7 +3839,7 @@ namespace l1t // objectRequirements // - if (n.name () == "objectRequirements" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "objectRequirements" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< objectRequirements_type > r ( objectRequirements_traits::create (i, f, this)); @@ -4518,7 +3853,7 @@ namespace l1t // deltaRequirement // - if (n.name () == "deltaRequirement" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "deltaRequirement" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< deltaRequirement_type > r ( deltaRequirement_traits::create (i, f, this)); @@ -4532,7 +3867,7 @@ namespace l1t // relativeBx // - if (n.name () == "relativeBx" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "relativeBx" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< relativeBx_type > r ( relativeBx_traits::create (i, f, this)); @@ -4551,35 +3886,35 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "type", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } - if (!comparison_operator_.present ()) + if (!etComparison_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "comparison_operator", - "http://www.cern.ch/l1t/0.6.0"); + "etComparison", + "http://www.cern.ch/l1t/0.5.2"); } if (!objectType_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "objectType", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!objectRequirements_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "objectRequirements", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!relativeBx_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "relativeBx", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } @@ -4595,453 +3930,23 @@ namespace l1t { } - // MuonObjectRequirement - // - - MuonObjectRequirement:: - MuonObjectRequirement (const ptThreshold_type& ptThreshold, - const requestedCharge_type& requestedCharge, - const qualityLut_type& qualityLut, - const isolationLut_type& isolationLut) - : ::xml_schema::type (), - ptThreshold_ (ptThreshold, ::xml_schema::flags (), this), - phiWindow_ (::xml_schema::flags (), this), - etaWindow_ (::xml_schema::flags (), this), - requestedCharge_ (requestedCharge, ::xml_schema::flags (), this), - qualityLut_ (qualityLut, ::xml_schema::flags (), this), - isolationLut_ (isolationLut, ::xml_schema::flags (), this) - { - } - - MuonObjectRequirement:: - MuonObjectRequirement (const ptThreshold_type& ptThreshold, - const requestedCharge_type& requestedCharge, - ::std::auto_ptr< qualityLut_type >& qualityLut, - ::std::auto_ptr< isolationLut_type >& isolationLut) - : ::xml_schema::type (), - ptThreshold_ (ptThreshold, ::xml_schema::flags (), this), - phiWindow_ (::xml_schema::flags (), this), - etaWindow_ (::xml_schema::flags (), this), - requestedCharge_ (requestedCharge, ::xml_schema::flags (), this), - qualityLut_ (qualityLut, ::xml_schema::flags (), this), - isolationLut_ (isolationLut, ::xml_schema::flags (), this) - { - } - - MuonObjectRequirement:: - MuonObjectRequirement (const MuonObjectRequirement& x, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::type (x, f, c), - ptThreshold_ (x.ptThreshold_, f, this), - phiWindow_ (x.phiWindow_, f, this), - etaWindow_ (x.etaWindow_, f, this), - requestedCharge_ (x.requestedCharge_, f, this), - qualityLut_ (x.qualityLut_, f, this), - isolationLut_ (x.isolationLut_, f, this) - { - } - - MuonObjectRequirement:: - MuonObjectRequirement (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), - ptThreshold_ (f, this), - phiWindow_ (f, this), - etaWindow_ (f, this), - requestedCharge_ (f, this), - qualityLut_ (f, this), - isolationLut_ (f, this) - { - if ((f & ::xml_schema::flags::base) == 0) - { - ::xsd::cxx::xml::dom::parser< char > p (e, true, false); - this->parse (p, f); - } - } - - void MuonObjectRequirement:: - parse (::xsd::cxx::xml::dom::parser< char >& p, - ::xml_schema::flags f) - { - for (; p.more_elements (); p.next_element ()) - { - const ::xercesc::DOMElement& i (p.cur_element ()); - const ::xsd::cxx::xml::qualified_name< char > n ( - ::xsd::cxx::xml::dom::name< char > (i)); - - // ptThreshold - // - if (n.name () == "ptThreshold" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< ptThreshold_type > r ( - ptThreshold_traits::create (i, f, this)); - - if (!ptThreshold_.present ()) - { - this->ptThreshold_.set (r); - continue; - } - } - - // phiWindow - // - if (n.name () == "phiWindow" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< phiWindow_type > r ( - phiWindow_traits::create (i, f, this)); - - this->phiWindow_.push_back (r); - continue; - } - - // etaWindow - // - if (n.name () == "etaWindow" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< etaWindow_type > r ( - etaWindow_traits::create (i, f, this)); - - this->etaWindow_.push_back (r); - continue; - } - - // requestedCharge - // - if (n.name () == "requestedCharge" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< requestedCharge_type > r ( - requestedCharge_traits::create (i, f, this)); - - if (!requestedCharge_.present ()) - { - this->requestedCharge_.set (r); - continue; - } - } - - // qualityLut - // - if (n.name () == "qualityLut" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< qualityLut_type > r ( - qualityLut_traits::create (i, f, this)); - - if (!qualityLut_.present ()) - { - this->qualityLut_.set (r); - continue; - } - } - - // isolationLut - // - if (n.name () == "isolationLut" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< isolationLut_type > r ( - isolationLut_traits::create (i, f, this)); - - if (!isolationLut_.present ()) - { - this->isolationLut_.set (r); - continue; - } - } - - break; - } - - if (!ptThreshold_.present ()) - { - throw ::xsd::cxx::tree::expected_element< char > ( - "ptThreshold", - "http://www.cern.ch/l1t/0.6.0"); - } - - if (!requestedCharge_.present ()) - { - throw ::xsd::cxx::tree::expected_element< char > ( - "requestedCharge", - "http://www.cern.ch/l1t/0.6.0"); - } - - if (!qualityLut_.present ()) - { - throw ::xsd::cxx::tree::expected_element< char > ( - "qualityLut", - "http://www.cern.ch/l1t/0.6.0"); - } - - if (!isolationLut_.present ()) - { - throw ::xsd::cxx::tree::expected_element< char > ( - "isolationLut", - "http://www.cern.ch/l1t/0.6.0"); - } - } - - MuonObjectRequirement* MuonObjectRequirement:: - _clone (::xml_schema::flags f, - ::xml_schema::container* c) const - { - return new class MuonObjectRequirement (*this, f, c); - } - - MuonObjectRequirement:: - ~MuonObjectRequirement () - { - } - - // MuonObjectRequirementList - // - - MuonObjectRequirementList:: - MuonObjectRequirementList () - : ::xml_schema::type (), - objectRequirement_ (::xml_schema::flags (), this) - { - } - - MuonObjectRequirementList:: - MuonObjectRequirementList (const MuonObjectRequirementList& x, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::type (x, f, c), - objectRequirement_ (x.objectRequirement_, f, this) - { - } - - MuonObjectRequirementList:: - MuonObjectRequirementList (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), - objectRequirement_ (f, this) - { - if ((f & ::xml_schema::flags::base) == 0) - { - ::xsd::cxx::xml::dom::parser< char > p (e, true, false); - this->parse (p, f); - } - } - - void MuonObjectRequirementList:: - parse (::xsd::cxx::xml::dom::parser< char >& p, - ::xml_schema::flags f) - { - for (; p.more_elements (); p.next_element ()) - { - const ::xercesc::DOMElement& i (p.cur_element ()); - const ::xsd::cxx::xml::qualified_name< char > n ( - ::xsd::cxx::xml::dom::name< char > (i)); - - // objectRequirement - // - if (n.name () == "objectRequirement" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< objectRequirement_type > r ( - objectRequirement_traits::create (i, f, this)); - - this->objectRequirement_.push_back (r); - continue; - } - - break; - } - } - - MuonObjectRequirementList* MuonObjectRequirementList:: - _clone (::xml_schema::flags f, - ::xml_schema::container* c) const - { - return new class MuonObjectRequirementList (*this, f, c); - } - - MuonObjectRequirementList:: - ~MuonObjectRequirementList () - { - } - - // MuonQualityLUT - // - - MuonQualityLUT:: - MuonQualityLUT () - : ::xml_schema::type (), - quality_ (::xml_schema::flags (), this) - { - } - - MuonQualityLUT:: - MuonQualityLUT (const MuonQualityLUT& x, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::type (x, f, c), - quality_ (x.quality_, f, this) - { - } - - MuonQualityLUT:: - MuonQualityLUT (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), - quality_ (f, this) - { - if ((f & ::xml_schema::flags::base) == 0) - { - ::xsd::cxx::xml::dom::parser< char > p (e, true, false); - this->parse (p, f); - } - } - - void MuonQualityLUT:: - parse (::xsd::cxx::xml::dom::parser< char >& p, - ::xml_schema::flags f) - { - for (; p.more_elements (); p.next_element ()) - { - const ::xercesc::DOMElement& i (p.cur_element ()); - const ::xsd::cxx::xml::qualified_name< char > n ( - ::xsd::cxx::xml::dom::name< char > (i)); - - // quality - // - if (n.name () == "quality" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - this->quality_.push_back (quality_traits::create (i, f, this)); - continue; - } - - break; - } - } - - MuonQualityLUT* MuonQualityLUT:: - _clone (::xml_schema::flags f, - ::xml_schema::container* c) const - { - return new class MuonQualityLUT (*this, f, c); - } - - MuonQualityLUT:: - ~MuonQualityLUT () - { - } - - // MuonIsolationLUT - // - - MuonIsolationLUT:: - MuonIsolationLUT () - : ::xml_schema::type (), - isolation_ (::xml_schema::flags (), this) - { - } - - MuonIsolationLUT:: - MuonIsolationLUT (const MuonIsolationLUT& x, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::type (x, f, c), - isolation_ (x.isolation_, f, this) - { - } - - MuonIsolationLUT:: - MuonIsolationLUT (const ::xercesc::DOMElement& e, - ::xml_schema::flags f, - ::xml_schema::container* c) - : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), - isolation_ (f, this) - { - if ((f & ::xml_schema::flags::base) == 0) - { - ::xsd::cxx::xml::dom::parser< char > p (e, true, false); - this->parse (p, f); - } - } - - void MuonIsolationLUT:: - parse (::xsd::cxx::xml::dom::parser< char >& p, - ::xml_schema::flags f) - { - for (; p.more_elements (); p.next_element ()) - { - const ::xercesc::DOMElement& i (p.cur_element ()); - const ::xsd::cxx::xml::qualified_name< char > n ( - ::xsd::cxx::xml::dom::name< char > (i)); - - // isolation - // - if (n.name () == "isolation" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - this->isolation_.push_back (isolation_traits::create (i, f, this)); - continue; - } - - break; - } - } - - MuonIsolationLUT* MuonIsolationLUT:: - _clone (::xml_schema::flags f, - ::xml_schema::container* c) const - { - return new class MuonIsolationLUT (*this, f, c); - } - - MuonIsolationLUT:: - ~MuonIsolationLUT () - { - } - // MuonCondition // MuonCondition:: MuonCondition (const uid_type& uid, const name_type& name, - const comment_type& comment, - const locked_type& locked, - const type_type& type, - const comparison_operator_type& comparison_operator, - const objectRequirements_type& objectRequirements, - const requestedChargeCorr_type& requestedChargeCorr, - const relativeBx_type& relativeBx) - : ::l1t::Condition (uid, - name, - comment, - locked), - type_ (type, ::xml_schema::flags (), this), - comparison_operator_ (comparison_operator, ::xml_schema::flags (), this), - objectRequirements_ (objectRequirements, ::xml_schema::flags (), this), - requestedChargeCorr_ (requestedChargeCorr, ::xml_schema::flags (), this), - deltaRequirement_ (::xml_schema::flags (), this), - relativeBx_ (relativeBx, ::xml_schema::flags (), this) - { - } - - MuonCondition:: - MuonCondition (const uid_type& uid, - const name_type& name, - const comment_type& comment, + const description_type& description, const locked_type& locked, const type_type& type, - const comparison_operator_type& comparison_operator, - ::std::auto_ptr< objectRequirements_type >& objectRequirements, - const requestedChargeCorr_type& requestedChargeCorr, + const etComparison_type& etComparison, const relativeBx_type& relativeBx) : ::l1t::Condition (uid, name, - comment, + description, locked), type_ (type, ::xml_schema::flags (), this), - comparison_operator_ (comparison_operator, ::xml_schema::flags (), this), - objectRequirements_ (objectRequirements, ::xml_schema::flags (), this), - requestedChargeCorr_ (requestedChargeCorr, ::xml_schema::flags (), this), - deltaRequirement_ (::xml_schema::flags (), this), + etComparison_ (etComparison, ::xml_schema::flags (), this), relativeBx_ (relativeBx, ::xml_schema::flags (), this) { } @@ -5052,10 +3957,7 @@ namespace l1t ::xml_schema::container* c) : ::l1t::Condition (x, f, c), type_ (x.type_, f, this), - comparison_operator_ (x.comparison_operator_, f, this), - objectRequirements_ (x.objectRequirements_, f, this), - requestedChargeCorr_ (x.requestedChargeCorr_, f, this), - deltaRequirement_ (x.deltaRequirement_, f, this), + etComparison_ (x.etComparison_, f, this), relativeBx_ (x.relativeBx_, f, this) { } @@ -5066,10 +3968,7 @@ namespace l1t ::xml_schema::container* c) : ::l1t::Condition (e, f | ::xml_schema::flags::base, c), type_ (f, this), - comparison_operator_ (f, this), - objectRequirements_ (f, this), - requestedChargeCorr_ (f, this), - deltaRequirement_ (f, this), + etComparison_ (f, this), relativeBx_ (f, this) { if ((f & ::xml_schema::flags::base) == 0) @@ -5093,7 +3992,7 @@ namespace l1t // type // - if (n.name () == "type" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "type" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< type_type > r ( type_traits::create (i, f, this)); @@ -5105,65 +4004,23 @@ namespace l1t } } - // comparison_operator - // - if (n.name () == "comparison_operator" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< comparison_operator_type > r ( - comparison_operator_traits::create (i, f, this)); - - if (!comparison_operator_.present ()) - { - this->comparison_operator_.set (r); - continue; - } - } - - // objectRequirements - // - if (n.name () == "objectRequirements" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< objectRequirements_type > r ( - objectRequirements_traits::create (i, f, this)); - - if (!objectRequirements_.present ()) - { - this->objectRequirements_.set (r); - continue; - } - } - - // requestedChargeCorr + // etComparison // - if (n.name () == "requestedChargeCorr" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "etComparison" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< requestedChargeCorr_type > r ( - requestedChargeCorr_traits::create (i, f, this)); - - if (!requestedChargeCorr_.present ()) - { - this->requestedChargeCorr_.set (r); - continue; - } - } - - // deltaRequirement - // - if (n.name () == "deltaRequirement" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") - { - ::std::auto_ptr< deltaRequirement_type > r ( - deltaRequirement_traits::create (i, f, this)); + ::std::auto_ptr< etComparison_type > r ( + etComparison_traits::create (i, f, this)); - if (!this->deltaRequirement_) + if (!etComparison_.present ()) { - this->deltaRequirement_.set (r); + this->etComparison_.set (r); continue; } } // relativeBx // - if (n.name () == "relativeBx" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "relativeBx" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< relativeBx_type > r ( relativeBx_traits::create (i, f, this)); @@ -5182,35 +4039,21 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "type", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } - if (!comparison_operator_.present ()) + if (!etComparison_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "comparison_operator", - "http://www.cern.ch/l1t/0.6.0"); - } - - if (!objectRequirements_.present ()) - { - throw ::xsd::cxx::tree::expected_element< char > ( - "objectRequirements", - "http://www.cern.ch/l1t/0.6.0"); - } - - if (!requestedChargeCorr_.present ()) - { - throw ::xsd::cxx::tree::expected_element< char > ( - "requestedChargeCorr", - "http://www.cern.ch/l1t/0.6.0"); + "etComparison", + "http://www.cern.ch/l1t/0.5.2"); } if (!relativeBx_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "relativeBx", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } @@ -5232,11 +4075,11 @@ namespace l1t EnergySumsCondition:: EnergySumsCondition (const uid_type& uid, const name_type& name, - const comment_type& comment, + const description_type& description, const locked_type& locked) : ::l1t::Condition (uid, name, - comment, + description, locked) { } @@ -5275,11 +4118,11 @@ namespace l1t CorrelationCondition:: CorrelationCondition (const uid_type& uid, const name_type& name, - const comment_type& comment, + const description_type& description, const locked_type& locked) : ::l1t::Condition (uid, name, - comment, + description, locked) { } @@ -5312,6 +4155,92 @@ namespace l1t { } + // InvariantMassCondition + // + + InvariantMassCondition:: + InvariantMassCondition (const uid_type& uid, + const name_type& name, + const description_type& description, + const locked_type& locked) + : ::l1t::Condition (uid, + name, + description, + locked) + { + } + + InvariantMassCondition:: + InvariantMassCondition (const InvariantMassCondition& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::l1t::Condition (x, f, c) + { + } + + InvariantMassCondition:: + InvariantMassCondition (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::l1t::Condition (e, f, c) + { + } + + InvariantMassCondition* InvariantMassCondition:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class InvariantMassCondition (*this, f, c); + } + + InvariantMassCondition:: + ~InvariantMassCondition () + { + } + + // DeltaRCondition + // + + DeltaRCondition:: + DeltaRCondition (const uid_type& uid, + const name_type& name, + const description_type& description, + const locked_type& locked) + : ::l1t::Condition (uid, + name, + description, + locked) + { + } + + DeltaRCondition:: + DeltaRCondition (const DeltaRCondition& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::l1t::Condition (x, f, c) + { + } + + DeltaRCondition:: + DeltaRCondition (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::l1t::Condition (e, f, c) + { + } + + DeltaRCondition* DeltaRCondition:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DeltaRCondition (*this, f, c); + } + + DeltaRCondition:: + ~DeltaRCondition () + { + } + // Algorithm // @@ -5319,16 +4248,16 @@ namespace l1t Algorithm (const uid_type& uid, const name_type& name, const index_type& index, - const logical_expression_type& logical_expression, - const comment_type& comment, + const equation_type& equation, + const description_type& description, const locked_type& locked, const mapping_type& mapping) : ::xml_schema::type (), uid_ (uid, ::xml_schema::flags (), this), name_ (name, ::xml_schema::flags (), this), index_ (index, ::xml_schema::flags (), this), - logical_expression_ (logical_expression, ::xml_schema::flags (), this), - comment_ (comment, ::xml_schema::flags (), this), + equation_ (equation, ::xml_schema::flags (), this), + description_ (description, ::xml_schema::flags (), this), locked_ (locked, ::xml_schema::flags (), this), mapping_ (mapping, ::xml_schema::flags (), this) { @@ -5338,16 +4267,16 @@ namespace l1t Algorithm (const uid_type& uid, const name_type& name, const index_type& index, - const logical_expression_type& logical_expression, - const comment_type& comment, + const equation_type& equation, + const description_type& description, const locked_type& locked, ::std::auto_ptr< mapping_type >& mapping) : ::xml_schema::type (), uid_ (uid, ::xml_schema::flags (), this), name_ (name, ::xml_schema::flags (), this), index_ (index, ::xml_schema::flags (), this), - logical_expression_ (logical_expression, ::xml_schema::flags (), this), - comment_ (comment, ::xml_schema::flags (), this), + equation_ (equation, ::xml_schema::flags (), this), + description_ (description, ::xml_schema::flags (), this), locked_ (locked, ::xml_schema::flags (), this), mapping_ (mapping, ::xml_schema::flags (), this) { @@ -5361,8 +4290,8 @@ namespace l1t uid_ (x.uid_, f, this), name_ (x.name_, f, this), index_ (x.index_, f, this), - logical_expression_ (x.logical_expression_, f, this), - comment_ (x.comment_, f, this), + equation_ (x.equation_, f, this), + description_ (x.description_, f, this), locked_ (x.locked_, f, this), mapping_ (x.mapping_, f, this) { @@ -5376,8 +4305,8 @@ namespace l1t uid_ (f, this), name_ (f, this), index_ (f, this), - logical_expression_ (f, this), - comment_ (f, this), + equation_ (f, this), + description_ (f, this), locked_ (f, this), mapping_ (f, this) { @@ -5400,7 +4329,7 @@ namespace l1t // uid // - if (n.name () == "uid" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "uid" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< uid_type > r ( uid_traits::create (i, f, this)); @@ -5414,7 +4343,7 @@ namespace l1t // name // - if (n.name () == "name" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "name" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< name_type > r ( name_traits::create (i, f, this)); @@ -5428,7 +4357,7 @@ namespace l1t // index // - if (n.name () == "index" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "index" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< index_type > r ( index_traits::create (i, f, this)); @@ -5440,37 +4369,37 @@ namespace l1t } } - // logical_expression + // equation // - if (n.name () == "logical_expression" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "equation" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< logical_expression_type > r ( - logical_expression_traits::create (i, f, this)); + ::std::auto_ptr< equation_type > r ( + equation_traits::create (i, f, this)); - if (!logical_expression_.present ()) + if (!equation_.present ()) { - this->logical_expression_.set (r); + this->equation_.set (r); continue; } } - // comment + // description // - if (n.name () == "comment" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "description" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { - ::std::auto_ptr< comment_type > r ( - comment_traits::create (i, f, this)); + ::std::auto_ptr< description_type > r ( + description_traits::create (i, f, this)); - if (!comment_.present ()) + if (!description_.present ()) { - this->comment_.set (r); + this->description_.set (r); continue; } } // locked // - if (n.name () == "locked" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "locked" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { if (!locked_.present ()) { @@ -5481,7 +4410,7 @@ namespace l1t // mapping // - if (n.name () == "mapping" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "mapping" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< mapping_type > r ( mapping_traits::create (i, f, this)); @@ -5500,49 +4429,49 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "uid", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!name_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "name", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!index_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "index", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } - if (!logical_expression_.present ()) + if (!equation_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "logical_expression", - "http://www.cern.ch/l1t/0.6.0"); + "equation", + "http://www.cern.ch/l1t/0.5.2"); } - if (!comment_.present ()) + if (!description_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( - "comment", - "http://www.cern.ch/l1t/0.6.0"); + "description", + "http://www.cern.ch/l1t/0.5.2"); } if (!locked_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "locked", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!mapping_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "mapping", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } @@ -5607,7 +4536,7 @@ namespace l1t // module // - if (n.name () == "module" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "module" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< module_type > r ( module_traits::create (i, f, this)); @@ -5621,7 +4550,7 @@ namespace l1t // index // - if (n.name () == "index" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "index" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< index_type > r ( index_traits::create (i, f, this)); @@ -5640,14 +4569,14 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "module", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!index_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "index", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } @@ -5708,7 +4637,7 @@ namespace l1t // algorithm // - if (n.name () == "algorithm" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "algorithm" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< algorithm_type > r ( algorithm_traits::create (i, f, this)); @@ -5797,7 +4726,7 @@ namespace l1t // meta // - if (n.name () == "meta" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "meta" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< meta_type > r ( meta_traits::create (i, f, this)); @@ -5811,7 +4740,7 @@ namespace l1t // conditions // - if (n.name () == "conditions" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "conditions" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< conditions_type > r ( conditions_traits::create (i, f, this)); @@ -5825,7 +4754,7 @@ namespace l1t // algorithms // - if (n.name () == "algorithms" && n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + if (n.name () == "algorithms" && n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< algorithms_type > r ( algorithms_traits::create (i, f, this)); @@ -5844,21 +4773,21 @@ namespace l1t { throw ::xsd::cxx::tree::expected_element< char > ( "meta", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!conditions_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "conditions", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } if (!algorithms_.present ()) { throw ::xsd::cxx::tree::expected_element< char > ( "algorithms", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } @@ -6108,7 +5037,7 @@ namespace l1t ::xsd::cxx::xml::dom::name< char > (e)); if (n.name () == "l1TriggerMenu" && - n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< ::l1t::L1TriggerMenu > r ( ::xsd::cxx::tree::traits< ::l1t::L1TriggerMenu, char >::create ( @@ -6120,7 +5049,7 @@ namespace l1t n.name (), n.namespace_ (), "l1TriggerMenu", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } ::std::auto_ptr< ::l1t::L1TriggerMenu > @@ -6146,7 +5075,7 @@ namespace l1t 0); if (n.name () == "l1TriggerMenu" && - n.namespace_ () == "http://www.cern.ch/l1t/0.6.0") + n.namespace_ () == "http://www.cern.ch/l1t/0.5.2") { ::std::auto_ptr< ::l1t::L1TriggerMenu > r ( ::xsd::cxx::tree::traits< ::l1t::L1TriggerMenu, char >::create ( @@ -6158,7 +5087,7 @@ namespace l1t n.name (), n.namespace_ (), "l1TriggerMenu", - "http://www.cern.ch/l1t/0.6.0"); + "http://www.cern.ch/l1t/0.5.2"); } } diff --git a/L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.hxx b/L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.hxx index 6a618adcfc7ba..526c9f6073226 100644 --- a/L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.hxx +++ b/L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.hxx @@ -225,25 +225,22 @@ namespace l1t { class UUID; class DateTime; - class Name; - class Comment; + class Label; + class Description; class MenuName; - class ScaleSet; - class Version; - class RevisionList; + class ScalesKey; + class FirmwareVersion; + class History; class Revision; - class ComparisonOperator; + class EtComparison; class RelativeBx; class ConditionName; class ConditionType; class CalorimeterObjectType; - class MuonRequstedCharge; - class MuonRequstedChargeCorr; class EtThreshold; - class PtThreshold; class AlgorithmName; class AlgorithmIndex; - class LogicalExpression; + class AlgorithmEquation; class AlgorithmMappedModule; class AlgorithmMappedIndex; class Meta; @@ -254,13 +251,11 @@ namespace l1t class CalorimeterObjectRequirement; class CalorimeterObjectRequirements; class CalorimeterCondition; - class MuonObjectRequirement; - class MuonObjectRequirementList; - class MuonQualityLUT; - class MuonIsolationLUT; class MuonCondition; class EnergySumsCondition; class CorrelationCondition; + class InvariantMassCondition; + class DeltaRCondition; class Algorithm; class AlgorithmMapping; class AlgorithmList; @@ -353,83 +348,83 @@ namespace l1t ~DateTime (); }; - class Name: public ::xml_schema::string + class Label: public ::xml_schema::string { public: // Constructors. // - Name (); + Label (); - Name (const char*); + Label (const char*); - Name (const ::std::string&); + Label (const ::std::string&); - Name (const ::xml_schema::string&); + Label (const ::xml_schema::string&); - Name (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + Label (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - Name (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + Label (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - Name (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + Label (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - Name (const Name& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + Label (const Label& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - virtual Name* + virtual Label* _clone (::xml_schema::flags f = 0, ::xml_schema::container* c = 0) const; virtual - ~Name (); + ~Label (); }; - class Comment: public ::xml_schema::string + class Description: public ::xml_schema::string { public: // Constructors. // - Comment (); + Description (); - Comment (const char*); + Description (const char*); - Comment (const ::std::string&); + Description (const ::std::string&); - Comment (const ::xml_schema::string&); + Description (const ::xml_schema::string&); - Comment (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + Description (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - Comment (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + Description (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - Comment (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + Description (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - Comment (const Comment& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + Description (const Description& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - virtual Comment* + virtual Description* _clone (::xml_schema::flags f = 0, ::xml_schema::container* c = 0) const; virtual - ~Comment (); + ~Description (); }; - class MenuName: public ::l1t::Name + class MenuName: public ::xml_schema::string { public: // Constructors. @@ -467,83 +462,77 @@ namespace l1t ~MenuName (); }; - class ScaleSet: public ::l1t::Name + class ScalesKey: public ::xml_schema::string { public: // Constructors. // - ScaleSet (); + ScalesKey (); - ScaleSet (const char*); + ScalesKey (const char*); - ScaleSet (const ::std::string&); + ScalesKey (const ::std::string&); - ScaleSet (const ::xml_schema::string&); + ScalesKey (const ::xml_schema::string&); - ScaleSet (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + ScalesKey (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - ScaleSet (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + ScalesKey (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - ScaleSet (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + ScalesKey (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - ScaleSet (const ScaleSet& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + ScalesKey (const ScalesKey& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - virtual ScaleSet* + virtual ScalesKey* _clone (::xml_schema::flags f = 0, ::xml_schema::container* c = 0) const; virtual - ~ScaleSet (); + ~ScalesKey (); }; - class Version: public ::xml_schema::string + class FirmwareVersion: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > { public: // Constructors. // - Version (); - - Version (const char*); + FirmwareVersion (const ::xml_schema::unsigned_int&); - Version (const ::std::string&); - - Version (const ::xml_schema::string&); - - Version (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + FirmwareVersion (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - Version (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + FirmwareVersion (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - Version (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + FirmwareVersion (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - Version (const Version& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + FirmwareVersion (const FirmwareVersion& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - virtual Version* + virtual FirmwareVersion* _clone (::xml_schema::flags f = 0, ::xml_schema::container* c = 0) const; virtual - ~Version (); + ~FirmwareVersion (); }; - class RevisionList: public ::xml_schema::type + class History: public ::xml_schema::type { public: // revision @@ -565,22 +554,22 @@ namespace l1t // Constructors. // - RevisionList (); + History (); - RevisionList (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + History (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - RevisionList (const RevisionList& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + History (const History& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - virtual RevisionList* + virtual History* _clone (::xml_schema::flags f = 0, ::xml_schema::container* c = 0) const; virtual - ~RevisionList (); + ~History (); // Implementation. // @@ -598,7 +587,7 @@ namespace l1t public: // author // - typedef ::l1t::Name author_type; + typedef ::l1t::Label author_type; typedef ::xsd::cxx::tree::traits< author_type, char > author_traits; const author_type& @@ -632,7 +621,7 @@ namespace l1t // username // - typedef ::l1t::Name username_type; + typedef ::l1t::Label username_type; typedef ::xsd::cxx::tree::optional< username_type > username_optional; typedef ::xsd::cxx::tree::traits< username_type, char > username_traits; @@ -653,7 +642,7 @@ namespace l1t // hostname // - typedef ::l1t::Name hostname_type; + typedef ::l1t::Label hostname_type; typedef ::xsd::cxx::tree::optional< hostname_type > hostname_optional; typedef ::xsd::cxx::tree::traits< hostname_type, char > hostname_traits; @@ -706,7 +695,7 @@ namespace l1t hostname_optional hostname_; }; - class ComparisonOperator: public ::xml_schema::string + class EtComparison: public ::xml_schema::string { public: enum value @@ -715,51 +704,51 @@ namespace l1t ge }; - ComparisonOperator (value v); + EtComparison (value v); - ComparisonOperator (const char* v); + EtComparison (const char* v); - ComparisonOperator (const ::std::string& v); + EtComparison (const ::std::string& v); - ComparisonOperator (const ::xml_schema::string& v); + EtComparison (const ::xml_schema::string& v); - ComparisonOperator (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + EtComparison (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - ComparisonOperator (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + EtComparison (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - ComparisonOperator (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + EtComparison (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - ComparisonOperator (const ComparisonOperator& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); + EtComparison (const EtComparison& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); - virtual ComparisonOperator* + virtual EtComparison* _clone (::xml_schema::flags f = 0, ::xml_schema::container* c = 0) const; - ComparisonOperator& + EtComparison& operator= (value v); virtual operator value () const { - return _xsd_ComparisonOperator_convert (); + return _xsd_EtComparison_convert (); } protected: value - _xsd_ComparisonOperator_convert () const; + _xsd_EtComparison_convert () const; public: - static const char* const _xsd_ComparisonOperator_literals_[2]; - static const value _xsd_ComparisonOperator_indexes_[2]; + static const char* const _xsd_EtComparison_literals_[2]; + static const value _xsd_EtComparison_indexes_[2]; }; class RelativeBx: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type > @@ -948,120 +937,6 @@ namespace l1t static const value _xsd_CalorimeterObjectType_indexes_[3]; }; - class MuonRequstedCharge: public ::xml_schema::string - { - public: - enum value - { - pos, - neg, - ign - }; - - MuonRequstedCharge (value v); - - MuonRequstedCharge (const char* v); - - MuonRequstedCharge (const ::std::string& v); - - MuonRequstedCharge (const ::xml_schema::string& v); - - MuonRequstedCharge (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonRequstedCharge (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonRequstedCharge (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonRequstedCharge (const MuonRequstedCharge& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - virtual MuonRequstedCharge* - _clone (::xml_schema::flags f = 0, - ::xml_schema::container* c = 0) const; - - MuonRequstedCharge& - operator= (value v); - - virtual - operator value () const - { - return _xsd_MuonRequstedCharge_convert (); - } - - protected: - value - _xsd_MuonRequstedCharge_convert () const; - - public: - static const char* const _xsd_MuonRequstedCharge_literals_[3]; - static const value _xsd_MuonRequstedCharge_indexes_[3]; - }; - - class MuonRequstedChargeCorr: public ::xml_schema::string - { - public: - enum value - { - ls, - os, - ig - }; - - MuonRequstedChargeCorr (value v); - - MuonRequstedChargeCorr (const char* v); - - MuonRequstedChargeCorr (const ::std::string& v); - - MuonRequstedChargeCorr (const ::xml_schema::string& v); - - MuonRequstedChargeCorr (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonRequstedChargeCorr (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonRequstedChargeCorr (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonRequstedChargeCorr (const MuonRequstedChargeCorr& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - virtual MuonRequstedChargeCorr* - _clone (::xml_schema::flags f = 0, - ::xml_schema::container* c = 0) const; - - MuonRequstedChargeCorr& - operator= (value v); - - virtual - operator value () const - { - return _xsd_MuonRequstedChargeCorr_convert (); - } - - protected: - value - _xsd_MuonRequstedChargeCorr_convert () const; - - public: - static const char* const _xsd_MuonRequstedChargeCorr_literals_[3]; - static const value _xsd_MuonRequstedChargeCorr_indexes_[3]; - }; - class EtThreshold: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > { public: @@ -1094,38 +969,6 @@ namespace l1t ~EtThreshold (); }; - class PtThreshold: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > - { - public: - // Constructors. - // - PtThreshold (const ::xml_schema::unsigned_int&); - - PtThreshold (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - PtThreshold (const ::xercesc::DOMAttr& a, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - PtThreshold (const ::std::string& s, - const ::xercesc::DOMElement* e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - PtThreshold (const PtThreshold& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - virtual PtThreshold* - _clone (::xml_schema::flags f = 0, - ::xml_schema::container* c = 0) const; - - virtual - ~PtThreshold (); - }; - class AlgorithmName: public ::xml_schema::string { public: @@ -1196,42 +1039,42 @@ namespace l1t ~AlgorithmIndex (); }; - class LogicalExpression: public ::xml_schema::string + class AlgorithmEquation: public ::xml_schema::string { public: // Constructors. // - LogicalExpression (); + AlgorithmEquation (); - LogicalExpression (const char*); + AlgorithmEquation (const char*); - LogicalExpression (const ::std::string&); + AlgorithmEquation (const ::std::string&); - LogicalExpression (const ::xml_schema::string&); + AlgorithmEquation (const ::xml_schema::string&); - LogicalExpression (const ::xercesc::DOMElement& e, + AlgorithmEquation (const ::xercesc::DOMElement& e, ::xml_schema::flags f = 0, ::xml_schema::container* c = 0); - LogicalExpression (const ::xercesc::DOMAttr& a, + AlgorithmEquation (const ::xercesc::DOMAttr& a, ::xml_schema::flags f = 0, ::xml_schema::container* c = 0); - LogicalExpression (const ::std::string& s, + AlgorithmEquation (const ::std::string& s, const ::xercesc::DOMElement* e, ::xml_schema::flags f = 0, ::xml_schema::container* c = 0); - LogicalExpression (const LogicalExpression& x, + AlgorithmEquation (const AlgorithmEquation& x, ::xml_schema::flags f = 0, ::xml_schema::container* c = 0); - virtual LogicalExpression* + virtual AlgorithmEquation* _clone (::xml_schema::flags f = 0, ::xml_schema::container* c = 0) const; virtual - ~LogicalExpression (); + ~AlgorithmEquation (); }; class AlgorithmMappedModule: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > @@ -1301,6 +1144,23 @@ namespace l1t class Meta: public ::xml_schema::type { public: + // uid + // + typedef ::l1t::UUID uid_type; + typedef ::xsd::cxx::tree::traits< uid_type, char > uid_traits; + + const uid_type& + uid () const; + + uid_type& + uid (); + + void + uid (const uid_type& x); + + void + uid (::std::auto_ptr< uid_type > p); + // name // typedef ::l1t::MenuName name_type; @@ -1318,148 +1178,70 @@ namespace l1t void name (::std::auto_ptr< name_type > p); - // datetime - // - typedef ::l1t::DateTime datetime_type; - typedef ::xsd::cxx::tree::traits< datetime_type, char > datetime_traits; - - const datetime_type& - datetime () const; - - datetime_type& - datetime (); - - void - datetime (const datetime_type& x); - - void - datetime (::std::auto_ptr< datetime_type > p); - - // uuid_menu - // - typedef ::l1t::UUID uuid_menu_type; - typedef ::xsd::cxx::tree::traits< uuid_menu_type, char > uuid_menu_traits; - - const uuid_menu_type& - uuid_menu () const; - - uuid_menu_type& - uuid_menu (); - - void - uuid_menu (const uuid_menu_type& x); - - void - uuid_menu (::std::auto_ptr< uuid_menu_type > p); - - // uuid_firmware - // - typedef ::l1t::UUID uuid_firmware_type; - typedef ::xsd::cxx::tree::optional< uuid_firmware_type > uuid_firmware_optional; - typedef ::xsd::cxx::tree::traits< uuid_firmware_type, char > uuid_firmware_traits; - - const uuid_firmware_optional& - uuid_firmware () const; - - uuid_firmware_optional& - uuid_firmware (); - - void - uuid_firmware (const uuid_firmware_type& x); - - void - uuid_firmware (const uuid_firmware_optional& x); - - void - uuid_firmware (::std::auto_ptr< uuid_firmware_type > p); - - // comment - // - typedef ::l1t::Comment comment_type; - typedef ::xsd::cxx::tree::traits< comment_type, char > comment_traits; - - const comment_type& - comment () const; - - comment_type& - comment (); - - void - comment (const comment_type& x); - - void - comment (::std::auto_ptr< comment_type > p); - - // scale_set + // scalesKey // - typedef ::l1t::ScaleSet scale_set_type; - typedef ::xsd::cxx::tree::traits< scale_set_type, char > scale_set_traits; + typedef ::l1t::ScalesKey scalesKey_type; + typedef ::xsd::cxx::tree::traits< scalesKey_type, char > scalesKey_traits; - const scale_set_type& - scale_set () const; + const scalesKey_type& + scalesKey () const; - scale_set_type& - scale_set (); + scalesKey_type& + scalesKey (); void - scale_set (const scale_set_type& x); + scalesKey (const scalesKey_type& x); void - scale_set (::std::auto_ptr< scale_set_type > p); + scalesKey (::std::auto_ptr< scalesKey_type > p); - // editor_version + // description // - typedef ::l1t::Version editor_version_type; - typedef ::xsd::cxx::tree::optional< editor_version_type > editor_version_optional; - typedef ::xsd::cxx::tree::traits< editor_version_type, char > editor_version_traits; + typedef ::l1t::Description description_type; + typedef ::xsd::cxx::tree::traits< description_type, char > description_traits; - const editor_version_optional& - editor_version () const; + const description_type& + description () const; - editor_version_optional& - editor_version (); - - void - editor_version (const editor_version_type& x); + description_type& + description (); void - editor_version (const editor_version_optional& x); + description (const description_type& x); void - editor_version (::std::auto_ptr< editor_version_type > p); + description (::std::auto_ptr< description_type > p); - // revisions + // history // - typedef ::l1t::RevisionList revisions_type; - typedef ::xsd::cxx::tree::traits< revisions_type, char > revisions_traits; + typedef ::l1t::History history_type; + typedef ::xsd::cxx::tree::traits< history_type, char > history_traits; - const revisions_type& - revisions () const; + const history_type& + history () const; - revisions_type& - revisions (); + history_type& + history (); void - revisions (const revisions_type& x); + history (const history_type& x); void - revisions (::std::auto_ptr< revisions_type > p); + history (::std::auto_ptr< history_type > p); // Constructors. // - Meta (const name_type&, - const datetime_type&, - const uuid_menu_type&, - const comment_type&, - const scale_set_type&, - const revisions_type&); - - Meta (const name_type&, - const datetime_type&, - const uuid_menu_type&, - const comment_type&, - const scale_set_type&, - ::std::auto_ptr< revisions_type >&); + Meta (const uid_type&, + const name_type&, + const scalesKey_type&, + const description_type&, + const history_type&); + + Meta (const uid_type&, + const name_type&, + const scalesKey_type&, + const description_type&, + ::std::auto_ptr< history_type >&); Meta (const ::xercesc::DOMElement& e, ::xml_schema::flags f = 0, @@ -1484,14 +1266,11 @@ namespace l1t ::xml_schema::flags); protected: + ::xsd::cxx::tree::one< uid_type > uid_; ::xsd::cxx::tree::one< name_type > name_; - ::xsd::cxx::tree::one< datetime_type > datetime_; - ::xsd::cxx::tree::one< uuid_menu_type > uuid_menu_; - uuid_firmware_optional uuid_firmware_; - ::xsd::cxx::tree::one< comment_type > comment_; - ::xsd::cxx::tree::one< scale_set_type > scale_set_; - editor_version_optional editor_version_; - ::xsd::cxx::tree::one< revisions_type > revisions_; + ::xsd::cxx::tree::one< scalesKey_type > scalesKey_; + ::xsd::cxx::tree::one< description_type > description_; + ::xsd::cxx::tree::one< history_type > history_; }; class ConditionList: public ::xml_schema::type @@ -1565,6 +1344,40 @@ namespace l1t void condCorrelation (const condCorrelation_sequence& s); + // condInvariantMass + // + typedef ::l1t::InvariantMassCondition condInvariantMass_type; + typedef ::xsd::cxx::tree::sequence< condInvariantMass_type > condInvariantMass_sequence; + typedef condInvariantMass_sequence::iterator condInvariantMass_iterator; + typedef condInvariantMass_sequence::const_iterator condInvariantMass_const_iterator; + typedef ::xsd::cxx::tree::traits< condInvariantMass_type, char > condInvariantMass_traits; + + const condInvariantMass_sequence& + condInvariantMass () const; + + condInvariantMass_sequence& + condInvariantMass (); + + void + condInvariantMass (const condInvariantMass_sequence& s); + + // condDeltaR + // + typedef ::l1t::DeltaRCondition condDeltaR_type; + typedef ::xsd::cxx::tree::sequence< condDeltaR_type > condDeltaR_sequence; + typedef condDeltaR_sequence::iterator condDeltaR_iterator; + typedef condDeltaR_sequence::const_iterator condDeltaR_const_iterator; + typedef ::xsd::cxx::tree::traits< condDeltaR_type, char > condDeltaR_traits; + + const condDeltaR_sequence& + condDeltaR () const; + + condDeltaR_sequence& + condDeltaR (); + + void + condDeltaR (const condDeltaR_sequence& s); + // Constructors. // ConditionList (); @@ -1596,6 +1409,8 @@ namespace l1t condMuon_sequence condMuon_; condEnergySums_sequence condEnergySums_; condCorrelation_sequence condCorrelation_; + condInvariantMass_sequence condInvariantMass_; + condDeltaR_sequence condDeltaR_; }; class Condition: public ::xml_schema::type @@ -1635,22 +1450,22 @@ namespace l1t void name (::std::auto_ptr< name_type > p); - // comment + // description // - typedef ::l1t::Comment comment_type; - typedef ::xsd::cxx::tree::traits< comment_type, char > comment_traits; + typedef ::l1t::Description description_type; + typedef ::xsd::cxx::tree::traits< description_type, char > description_traits; - const comment_type& - comment () const; + const description_type& + description () const; - comment_type& - comment (); + description_type& + description (); void - comment (const comment_type& x); + description (const description_type& x); void - comment (::std::auto_ptr< comment_type > p); + description (::std::auto_ptr< description_type > p); // locked // @@ -1670,7 +1485,7 @@ namespace l1t // Condition (const uid_type&, const name_type&, - const comment_type&, + const description_type&, const locked_type&); Condition (const ::xercesc::DOMElement& e, @@ -1698,7 +1513,7 @@ namespace l1t protected: ::xsd::cxx::tree::one< uid_type > uid_; ::xsd::cxx::tree::one< name_type > name_; - ::xsd::cxx::tree::one< comment_type > comment_; + ::xsd::cxx::tree::one< description_type > description_; ::xsd::cxx::tree::one< locked_type > locked_; }; @@ -1993,22 +1808,22 @@ namespace l1t void type (::std::auto_ptr< type_type > p); - // comparison_operator + // etComparison // - typedef ::l1t::ComparisonOperator comparison_operator_type; - typedef ::xsd::cxx::tree::traits< comparison_operator_type, char > comparison_operator_traits; + typedef ::l1t::EtComparison etComparison_type; + typedef ::xsd::cxx::tree::traits< etComparison_type, char > etComparison_traits; - const comparison_operator_type& - comparison_operator () const; + const etComparison_type& + etComparison () const; - comparison_operator_type& - comparison_operator (); + etComparison_type& + etComparison (); void - comparison_operator (const comparison_operator_type& x); + etComparison (const etComparison_type& x); void - comparison_operator (::std::auto_ptr< comparison_operator_type > p); + etComparison (::std::auto_ptr< etComparison_type > p); // objectType // @@ -2086,20 +1901,20 @@ namespace l1t // CalorimeterCondition (const uid_type&, const name_type&, - const comment_type&, + const description_type&, const locked_type&, const type_type&, - const comparison_operator_type&, + const etComparison_type&, const objectType_type&, const objectRequirements_type&, const relativeBx_type&); CalorimeterCondition (const uid_type&, const name_type&, - const comment_type&, + const description_type&, const locked_type&, const type_type&, - const comparison_operator_type&, + const etComparison_type&, const objectType_type&, ::std::auto_ptr< objectRequirements_type >&, const relativeBx_type&); @@ -2128,402 +1943,49 @@ namespace l1t protected: ::xsd::cxx::tree::one< type_type > type_; - ::xsd::cxx::tree::one< comparison_operator_type > comparison_operator_; + ::xsd::cxx::tree::one< etComparison_type > etComparison_; ::xsd::cxx::tree::one< objectType_type > objectType_; ::xsd::cxx::tree::one< objectRequirements_type > objectRequirements_; deltaRequirement_optional deltaRequirement_; ::xsd::cxx::tree::one< relativeBx_type > relativeBx_; }; - class MuonObjectRequirement: public ::xml_schema::type + class MuonCondition: public ::l1t::Condition { public: - // ptThreshold + // type // - typedef ::l1t::PtThreshold ptThreshold_type; - typedef ::xsd::cxx::tree::traits< ptThreshold_type, char > ptThreshold_traits; + typedef ::l1t::ConditionType type_type; + typedef ::xsd::cxx::tree::traits< type_type, char > type_traits; - const ptThreshold_type& - ptThreshold () const; + const type_type& + type () const; - ptThreshold_type& - ptThreshold (); + type_type& + type (); void - ptThreshold (const ptThreshold_type& x); + type (const type_type& x); void - ptThreshold (::std::auto_ptr< ptThreshold_type > p); + type (::std::auto_ptr< type_type > p); - // phiWindow + // etComparison // - typedef ::l1t::Window phiWindow_type; - typedef ::xsd::cxx::tree::sequence< phiWindow_type > phiWindow_sequence; - typedef phiWindow_sequence::iterator phiWindow_iterator; - typedef phiWindow_sequence::const_iterator phiWindow_const_iterator; - typedef ::xsd::cxx::tree::traits< phiWindow_type, char > phiWindow_traits; + typedef ::l1t::EtComparison etComparison_type; + typedef ::xsd::cxx::tree::traits< etComparison_type, char > etComparison_traits; - const phiWindow_sequence& - phiWindow () const; + const etComparison_type& + etComparison () const; - phiWindow_sequence& - phiWindow (); - - void - phiWindow (const phiWindow_sequence& s); - - // etaWindow - // - typedef ::l1t::Window etaWindow_type; - typedef ::xsd::cxx::tree::sequence< etaWindow_type > etaWindow_sequence; - typedef etaWindow_sequence::iterator etaWindow_iterator; - typedef etaWindow_sequence::const_iterator etaWindow_const_iterator; - typedef ::xsd::cxx::tree::traits< etaWindow_type, char > etaWindow_traits; - - const etaWindow_sequence& - etaWindow () const; - - etaWindow_sequence& - etaWindow (); - - void - etaWindow (const etaWindow_sequence& s); - - // requestedCharge - // - typedef ::l1t::MuonRequstedCharge requestedCharge_type; - typedef ::xsd::cxx::tree::traits< requestedCharge_type, char > requestedCharge_traits; - - const requestedCharge_type& - requestedCharge () const; - - requestedCharge_type& - requestedCharge (); - - void - requestedCharge (const requestedCharge_type& x); - - void - requestedCharge (::std::auto_ptr< requestedCharge_type > p); - - // qualityLut - // - typedef ::l1t::MuonQualityLUT qualityLut_type; - typedef ::xsd::cxx::tree::traits< qualityLut_type, char > qualityLut_traits; - - const qualityLut_type& - qualityLut () const; - - qualityLut_type& - qualityLut (); - - void - qualityLut (const qualityLut_type& x); - - void - qualityLut (::std::auto_ptr< qualityLut_type > p); - - // isolationLut - // - typedef ::l1t::MuonIsolationLUT isolationLut_type; - typedef ::xsd::cxx::tree::traits< isolationLut_type, char > isolationLut_traits; - - const isolationLut_type& - isolationLut () const; - - isolationLut_type& - isolationLut (); - - void - isolationLut (const isolationLut_type& x); - - void - isolationLut (::std::auto_ptr< isolationLut_type > p); - - // Constructors. - // - MuonObjectRequirement (const ptThreshold_type&, - const requestedCharge_type&, - const qualityLut_type&, - const isolationLut_type&); - - MuonObjectRequirement (const ptThreshold_type&, - const requestedCharge_type&, - ::std::auto_ptr< qualityLut_type >&, - ::std::auto_ptr< isolationLut_type >&); - - MuonObjectRequirement (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonObjectRequirement (const MuonObjectRequirement& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - virtual MuonObjectRequirement* - _clone (::xml_schema::flags f = 0, - ::xml_schema::container* c = 0) const; - - virtual - ~MuonObjectRequirement (); - - // Implementation. - // - protected: - void - parse (::xsd::cxx::xml::dom::parser< char >&, - ::xml_schema::flags); - - protected: - ::xsd::cxx::tree::one< ptThreshold_type > ptThreshold_; - phiWindow_sequence phiWindow_; - etaWindow_sequence etaWindow_; - ::xsd::cxx::tree::one< requestedCharge_type > requestedCharge_; - ::xsd::cxx::tree::one< qualityLut_type > qualityLut_; - ::xsd::cxx::tree::one< isolationLut_type > isolationLut_; - }; - - class MuonObjectRequirementList: public ::xml_schema::type - { - public: - // objectRequirement - // - typedef ::l1t::MuonObjectRequirement objectRequirement_type; - typedef ::xsd::cxx::tree::sequence< objectRequirement_type > objectRequirement_sequence; - typedef objectRequirement_sequence::iterator objectRequirement_iterator; - typedef objectRequirement_sequence::const_iterator objectRequirement_const_iterator; - typedef ::xsd::cxx::tree::traits< objectRequirement_type, char > objectRequirement_traits; - - const objectRequirement_sequence& - objectRequirement () const; - - objectRequirement_sequence& - objectRequirement (); + etComparison_type& + etComparison (); void - objectRequirement (const objectRequirement_sequence& s); + etComparison (const etComparison_type& x); - // Constructors. - // - MuonObjectRequirementList (); - - MuonObjectRequirementList (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonObjectRequirementList (const MuonObjectRequirementList& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - virtual MuonObjectRequirementList* - _clone (::xml_schema::flags f = 0, - ::xml_schema::container* c = 0) const; - - virtual - ~MuonObjectRequirementList (); - - // Implementation. - // - protected: void - parse (::xsd::cxx::xml::dom::parser< char >&, - ::xml_schema::flags); - - protected: - objectRequirement_sequence objectRequirement_; - }; - - class MuonQualityLUT: public ::xml_schema::type - { - public: - // quality - // - typedef ::xml_schema::boolean quality_type; - typedef ::xsd::cxx::tree::sequence< quality_type > quality_sequence; - typedef quality_sequence::iterator quality_iterator; - typedef quality_sequence::const_iterator quality_const_iterator; - typedef ::xsd::cxx::tree::traits< quality_type, char > quality_traits; - - const quality_sequence& - quality () const; - - quality_sequence& - quality (); - - void - quality (const quality_sequence& s); - - // Constructors. - // - MuonQualityLUT (); - - MuonQualityLUT (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonQualityLUT (const MuonQualityLUT& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - virtual MuonQualityLUT* - _clone (::xml_schema::flags f = 0, - ::xml_schema::container* c = 0) const; - - virtual - ~MuonQualityLUT (); - - // Implementation. - // - protected: - void - parse (::xsd::cxx::xml::dom::parser< char >&, - ::xml_schema::flags); - - protected: - quality_sequence quality_; - }; - - class MuonIsolationLUT: public ::xml_schema::type - { - public: - // isolation - // - typedef ::xml_schema::boolean isolation_type; - typedef ::xsd::cxx::tree::sequence< isolation_type > isolation_sequence; - typedef isolation_sequence::iterator isolation_iterator; - typedef isolation_sequence::const_iterator isolation_const_iterator; - typedef ::xsd::cxx::tree::traits< isolation_type, char > isolation_traits; - - const isolation_sequence& - isolation () const; - - isolation_sequence& - isolation (); - - void - isolation (const isolation_sequence& s); - - // Constructors. - // - MuonIsolationLUT (); - - MuonIsolationLUT (const ::xercesc::DOMElement& e, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - MuonIsolationLUT (const MuonIsolationLUT& x, - ::xml_schema::flags f = 0, - ::xml_schema::container* c = 0); - - virtual MuonIsolationLUT* - _clone (::xml_schema::flags f = 0, - ::xml_schema::container* c = 0) const; - - virtual - ~MuonIsolationLUT (); - - // Implementation. - // - protected: - void - parse (::xsd::cxx::xml::dom::parser< char >&, - ::xml_schema::flags); - - protected: - isolation_sequence isolation_; - }; - - class MuonCondition: public ::l1t::Condition - { - public: - // type - // - typedef ::l1t::ConditionType type_type; - typedef ::xsd::cxx::tree::traits< type_type, char > type_traits; - - const type_type& - type () const; - - type_type& - type (); - - void - type (const type_type& x); - - void - type (::std::auto_ptr< type_type > p); - - // comparison_operator - // - typedef ::l1t::ComparisonOperator comparison_operator_type; - typedef ::xsd::cxx::tree::traits< comparison_operator_type, char > comparison_operator_traits; - - const comparison_operator_type& - comparison_operator () const; - - comparison_operator_type& - comparison_operator (); - - void - comparison_operator (const comparison_operator_type& x); - - void - comparison_operator (::std::auto_ptr< comparison_operator_type > p); - - // objectRequirements - // - typedef ::l1t::MuonObjectRequirementList objectRequirements_type; - typedef ::xsd::cxx::tree::traits< objectRequirements_type, char > objectRequirements_traits; - - const objectRequirements_type& - objectRequirements () const; - - objectRequirements_type& - objectRequirements (); - - void - objectRequirements (const objectRequirements_type& x); - - void - objectRequirements (::std::auto_ptr< objectRequirements_type > p); - - // requestedChargeCorr - // - typedef ::l1t::MuonRequstedChargeCorr requestedChargeCorr_type; - typedef ::xsd::cxx::tree::traits< requestedChargeCorr_type, char > requestedChargeCorr_traits; - - const requestedChargeCorr_type& - requestedChargeCorr () const; - - requestedChargeCorr_type& - requestedChargeCorr (); - - void - requestedChargeCorr (const requestedChargeCorr_type& x); - - void - requestedChargeCorr (::std::auto_ptr< requestedChargeCorr_type > p); - - // deltaRequirement - // - typedef ::l1t::DeltaRequirement deltaRequirement_type; - typedef ::xsd::cxx::tree::optional< deltaRequirement_type > deltaRequirement_optional; - typedef ::xsd::cxx::tree::traits< deltaRequirement_type, char > deltaRequirement_traits; - - const deltaRequirement_optional& - deltaRequirement () const; - - deltaRequirement_optional& - deltaRequirement (); - - void - deltaRequirement (const deltaRequirement_type& x); - - void - deltaRequirement (const deltaRequirement_optional& x); - - void - deltaRequirement (::std::auto_ptr< deltaRequirement_type > p); + etComparison (::std::auto_ptr< etComparison_type > p); // relativeBx // @@ -2546,22 +2008,10 @@ namespace l1t // MuonCondition (const uid_type&, const name_type&, - const comment_type&, - const locked_type&, - const type_type&, - const comparison_operator_type&, - const objectRequirements_type&, - const requestedChargeCorr_type&, - const relativeBx_type&); - - MuonCondition (const uid_type&, - const name_type&, - const comment_type&, + const description_type&, const locked_type&, const type_type&, - const comparison_operator_type&, - ::std::auto_ptr< objectRequirements_type >&, - const requestedChargeCorr_type&, + const etComparison_type&, const relativeBx_type&); MuonCondition (const ::xercesc::DOMElement& e, @@ -2588,10 +2038,7 @@ namespace l1t protected: ::xsd::cxx::tree::one< type_type > type_; - ::xsd::cxx::tree::one< comparison_operator_type > comparison_operator_; - ::xsd::cxx::tree::one< objectRequirements_type > objectRequirements_; - ::xsd::cxx::tree::one< requestedChargeCorr_type > requestedChargeCorr_; - deltaRequirement_optional deltaRequirement_; + ::xsd::cxx::tree::one< etComparison_type > etComparison_; ::xsd::cxx::tree::one< relativeBx_type > relativeBx_; }; @@ -2602,7 +2049,7 @@ namespace l1t // EnergySumsCondition (const uid_type&, const name_type&, - const comment_type&, + const description_type&, const locked_type&); EnergySumsCondition (const ::xercesc::DOMElement& e, @@ -2628,7 +2075,7 @@ namespace l1t // CorrelationCondition (const uid_type&, const name_type&, - const comment_type&, + const description_type&, const locked_type&); CorrelationCondition (const ::xercesc::DOMElement& e, @@ -2647,6 +2094,58 @@ namespace l1t ~CorrelationCondition (); }; + class InvariantMassCondition: public ::l1t::Condition + { + public: + // Constructors. + // + InvariantMassCondition (const uid_type&, + const name_type&, + const description_type&, + const locked_type&); + + InvariantMassCondition (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + InvariantMassCondition (const InvariantMassCondition& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual InvariantMassCondition* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~InvariantMassCondition (); + }; + + class DeltaRCondition: public ::l1t::Condition + { + public: + // Constructors. + // + DeltaRCondition (const uid_type&, + const name_type&, + const description_type&, + const locked_type&); + + DeltaRCondition (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DeltaRCondition (const DeltaRCondition& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DeltaRCondition* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~DeltaRCondition (); + }; + class Algorithm: public ::xml_schema::type { public: @@ -2701,39 +2200,39 @@ namespace l1t void index (::std::auto_ptr< index_type > p); - // logical_expression + // equation // - typedef ::l1t::LogicalExpression logical_expression_type; - typedef ::xsd::cxx::tree::traits< logical_expression_type, char > logical_expression_traits; + typedef ::l1t::AlgorithmEquation equation_type; + typedef ::xsd::cxx::tree::traits< equation_type, char > equation_traits; - const logical_expression_type& - logical_expression () const; + const equation_type& + equation () const; - logical_expression_type& - logical_expression (); + equation_type& + equation (); void - logical_expression (const logical_expression_type& x); + equation (const equation_type& x); void - logical_expression (::std::auto_ptr< logical_expression_type > p); + equation (::std::auto_ptr< equation_type > p); - // comment + // description // - typedef ::l1t::Comment comment_type; - typedef ::xsd::cxx::tree::traits< comment_type, char > comment_traits; + typedef ::l1t::Description description_type; + typedef ::xsd::cxx::tree::traits< description_type, char > description_traits; - const comment_type& - comment () const; + const description_type& + description () const; - comment_type& - comment (); + description_type& + description (); void - comment (const comment_type& x); + description (const description_type& x); void - comment (::std::auto_ptr< comment_type > p); + description (::std::auto_ptr< description_type > p); // locked // @@ -2771,16 +2270,16 @@ namespace l1t Algorithm (const uid_type&, const name_type&, const index_type&, - const logical_expression_type&, - const comment_type&, + const equation_type&, + const description_type&, const locked_type&, const mapping_type&); Algorithm (const uid_type&, const name_type&, const index_type&, - const logical_expression_type&, - const comment_type&, + const equation_type&, + const description_type&, const locked_type&, ::std::auto_ptr< mapping_type >&); @@ -2810,8 +2309,8 @@ namespace l1t ::xsd::cxx::tree::one< uid_type > uid_; ::xsd::cxx::tree::one< name_type > name_; ::xsd::cxx::tree::one< index_type > index_; - ::xsd::cxx::tree::one< logical_expression_type > logical_expression_; - ::xsd::cxx::tree::one< comment_type > comment_; + ::xsd::cxx::tree::one< equation_type > equation_; + ::xsd::cxx::tree::one< description_type > description_; ::xsd::cxx::tree::one< locked_type > locked_; ::xsd::cxx::tree::one< mapping_type > mapping_; }; diff --git a/L1Trigger/L1TGlobal/src/MuCondition.cc b/L1Trigger/L1TGlobal/src/MuCondition.cc index 23313dcd5502a..dae669acaa806 100644 --- a/L1Trigger/L1TGlobal/src/MuCondition.cc +++ b/L1Trigger/L1TGlobal/src/MuCondition.cc @@ -150,7 +150,7 @@ const bool l1t::MuCondition::evaluateCondition(const int bxEval) const { } int numberObjects = candVec->size(useBx); //BLW Change for BXVector - //LogTrace("l1t|Global") << " numberObjects: " << numberObjects + //LogTrace("L1GlobalTrigger") << " numberObjects: " << numberObjects // << std::endl; if (numberObjects < nObjInCond) { return false; @@ -162,14 +162,8 @@ const bool l1t::MuCondition::evaluateCondition(const int bxEval) const { index[i] = i; } - int numberForFactorial = numberObjects - nObjInCond; - - // TEMPORARY FIX UNTIL IMPLEMENT NEW MUON CONDITIONS - int myfactorial = 1; - for( int i=numberForFactorial; i>0; i-- ) myfactorial *= i; - int jumpIndex = 1; - int jump = myfactorial;//factorial(numberObjects - nObjInCond); + int jump = factorial(numberObjects - nObjInCond); int totalLoops = 0; int passLoops = 0; @@ -307,7 +301,7 @@ const bool l1t::MuCondition::evaluateCondition(const int bxEval) const { const int ObjInWscComb = 2; if (nObjInCond != ObjInWscComb) { - edm::LogError("l1t|Global") << "\n Error: " + edm::LogError("L1GlobalTrigger") << "\n Error: " << "number of particles in condition with spatial correlation = " << nObjInCond << "\n it must be = " << ObjInWscComb << std::endl; // TODO Perhaps I should throw here an exception, @@ -369,7 +363,7 @@ const bool l1t::MuCondition::evaluateCondition(const int bxEval) const { // candDeltaPhi > 180 ==> take 360 - candDeltaPhi candDeltaPhi = (m_corrParDeltaPhiNrBins - 1) * 2 - candDeltaPhi; if (m_verbosity) { - LogTrace("l1t|Global") + LogTrace("L1GlobalTrigger") << " Initial candDeltaPhi = " << candDeltaPhiInitial << " > m_corrParDeltaPhiNrBins = " @@ -409,7 +403,7 @@ const bool l1t::MuCondition::evaluateCondition(const int bxEval) const { } while (std::next_permutation(index.begin(), index.end()) ); - //LogTrace("l1t|Global") + //LogTrace("L1GlobalTrigger") // << "\n MuCondition: total number of permutations found: " << totalLoops // << "\n MuCondition: number of permutations passing requirements: " << passLoops // << "\n" << std::endl; @@ -589,7 +583,7 @@ const bool l1t::MuCondition::checkObjectParameter(const int iCondition, const l1 } // particle matches if we get here - //LogTrace("l1t|Global") + //LogTrace("L1GlobalTrigger") // << " checkObjectParameter: muon object OK, passes all requirements\n" << std::endl; return true; diff --git a/L1Trigger/L1TGlobal/test/SingleElectronPt25_Stage2Test_uGT.py b/L1Trigger/L1TGlobal/test/SingleElectronPt25_Stage2Test_uGT.py deleted file mode 100644 index c0ca386081b99..0000000000000 --- a/L1Trigger/L1TGlobal/test/SingleElectronPt25_Stage2Test_uGT.py +++ /dev/null @@ -1,234 +0,0 @@ -#!/usr/bin/env python -import sys - -""" -The parameters can be changed by adding commandline arguments of the form -:: - - runGlobalFakeInputProducer.py nevents=-1 - -The latter can be used to change parameters in crab. -""" - -job = 0 #job number -njob = 1 #number of jobs -nevents = 3564 #number of events -rootout = False #whether to produce root file -dump = False #dump python - -# Argument parsing -# vvv - - -if len(sys.argv) > 1 and sys.argv[1].endswith('.py'): - sys.argv.pop(0) -if len(sys.argv) == 2 and ':' in sys.argv[1]: - argv = sys.argv[1].split(':') -else: - argv = sys.argv[1:] - -for arg in argv: - (k, v) = map(str.strip, arg.split('=')) - if k not in globals(): - raise "Unknown argument '%s'!" % (k,) - if type(globals()[k]) == bool: - globals()[k] = v.lower() in ('y', 'yes', 'true', 't', '1') - elif type(globals()[k]) == int: - globals()[k] = int(v) - else: - globals()[k] = v - -neventsPerJob = nevents/njob -skip = job * neventsPerJob - -if skip>4: - skip = skip-4 - neventsPerJob = neventsPerJob+4 - -import FWCore.ParameterSet.Config as cms - -process = cms.Process('L1') - -# import of standard configurations -process.load('Configuration.StandardSequences.Services_cff') -process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') -process.load('FWCore.MessageService.MessageLogger_cfi') -process.load('Configuration.EventContent.EventContent_cff') -process.load('SimGeneral.MixingModule.mixNoPU_cfi') -process.load('Configuration.StandardSequences.GeometryRecoDB_cff') -process.load('Configuration.Geometry.GeometryDB_cff') -process.load('Configuration.StandardSequences.MagneticField_38T_cff') -process.load('Configuration.StandardSequences.Generator_cff') -process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic8TeVCollision_cfi') -process.load('GeneratorInterface.Core.genFilterSummary_cff') -process.load('Configuration.StandardSequences.SimIdeal_cff') -process.load('Configuration.StandardSequences.Digi_cff') -process.load('Configuration.StandardSequences.SimL1Emulator_cff') -process.load('Configuration.StandardSequences.EndOfProcess_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10) -) - -# Input source -process.source = cms.Source("EmptySource") - -process.options = cms.untracked.PSet( - -) - -# Production Info -process.configurationMetadata = cms.untracked.PSet( - version = cms.untracked.string('$Revision: 1.19 $'), - annotation = cms.untracked.string('SingleElectronPt10_cfi.py nevts:1'), - name = cms.untracked.string('Applications') -) - -# Output definition - -process.output = cms.OutputModule("PoolOutputModule", - splitLevel = cms.untracked.int32(0), - eventAutoFlushCompressedSize = cms.untracked.int32(5242880), - outputCommands = cms.untracked.vstring("keep *", - "drop *_mix_*_*"), - fileName = cms.untracked.string('SingleElectronPt10_cfi_py_GEN_SIM_DIGI_L1.root'), - dataset = cms.untracked.PSet( - filterName = cms.untracked.string(''), - dataTier = cms.untracked.string('') - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('generation_step') - ) -) - -# Additional output definition - -# Other statements -process.genstepfilter.triggerConditions=cms.vstring("generation_step") -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:startup', '') - -process.generator = cms.EDProducer("FlatRandomPtGunProducer", - PGunParameters = cms.PSet( - MaxPt = cms.double(25.01), - MinPt = cms.double(24.99), - PartID = cms.vint32(11), - MaxEta = cms.double(2.5), - MaxPhi = cms.double(3.14159265359), - MinEta = cms.double(-2.5), - MinPhi = cms.double(-3.14159265359) - ), - Verbosity = cms.untracked.int32(0), - psethack = cms.string('single electron pt 25'), - AddAntiParticle = cms.bool(True), - firstRun = cms.untracked.uint32(1) -) - -# upgrade calo stage 2 -process.load('L1Trigger.L1TCalorimeter.caloStage2Params_cfi') -process.load('L1Trigger.L1TCalorimeter.L1TCaloStage2_cff') -process.caloStage2Layer1Digis.ecalToken = cms.InputTag("simEcalTriggerPrimitiveDigis") -process.caloStage2Layer1Digis.hcalToken = cms.InputTag("simHcalTriggerPrimitiveDigis") -process.esTest = cms.EDAnalyzer("EventSetupRecordDataGetter", - toGet = cms.VPSet(cms.PSet( - record = cms.string('L1TCaloParamsRcd'), - data = cms.vstring('l1tCaloParams'))), - verbose = cms.untracked.bool(True) - ) - - -process.load('L1Trigger.L1TCalorimeter.l1tStage2CaloAnalyzer_cfi') - -process.load('L1Trigger.L1TCalorimeter.l1tStage2InputPatternWriter_cfi') - -# enable debug message logging for our modules -process.MessageLogger = cms.Service( - "MessageLogger", - destinations = cms.untracked.vstring( - 'detailedInfo', - 'critical' - ), - detailedInfo = cms.untracked.PSet( - threshold = cms.untracked.string('DEBUG') - ), - debugModules = cms.untracked.vstring( - 'caloStage2TowerDigis', - 'caloStage2Digis' - ) -) - - -## Load our L1 menu -process.load('L1Trigger.L1TGlobal.StableParametersConfig_cff') -process.load('L1Trigger.L1TGlobal.TriggerMenuXml_cfi') -process.TriggerMenuXml.TriggerMenuLuminosity = 'startup' -process.TriggerMenuXml.DefXmlFile = 'L1Menu_Reference_2014.xml' - -process.load('L1Trigger.L1TGlobal.TriggerMenuConfig_cff') -process.es_prefer_l1GtParameters = cms.ESPrefer('l1t::TriggerMenuXmlProducer','TriggerMenuXml') - - -process.simL1uGtDigis = cms.EDProducer("l1t::GtProducer", - #TechnicalTriggersUnprescaled = cms.bool(False), - ProduceL1GtObjectMapRecord = cms.bool(True), - AlgorithmTriggersUnmasked = cms.bool(False), - EmulateBxInEvent = cms.int32(1), - L1DataBxInEvent = cms.int32(5), - AlgorithmTriggersUnprescaled = cms.bool(False), - ProduceL1GtDaqRecord = cms.bool(True), - GmtInputTag = cms.InputTag(""), - caloInputTag = cms.InputTag("caloStage2Digis"), - AlternativeNrBxBoardDaq = cms.uint32(0), - #WritePsbL1GtDaqRecord = cms.bool(True), - BstLengthBytes = cms.int32(-1), - Verbosity = cms.untracked.int32(0) -) - -process.dumpGTRecord = cms.EDAnalyzer("l1t::GtRecordDump", - egInputTag = cms.InputTag("caloStage2Digis"), - muInputTag = cms.InputTag(""), - tauInputTag = cms.InputTag("caloStage2Digis"), - jetInputTag = cms.InputTag("caloStage2Digis"), - etsumInputTag = cms.InputTag("caloStage2Digis"), - uGtRecInputTag = cms.InputTag("simL1uGtDigis"), - uGtAlgInputTag = cms.InputTag("simL1uGtDigis"), - uGtExtInputTag = cms.InputTag("simL1uGtDigis"), - bxOffset = cms.int32(skip), - minBx = cms.int32(0), - maxBx = cms.int32(0), - minBxVec = cms.int32(0), - maxBxVec = cms.int32(0), - dumpGTRecord = cms.bool(True), - dumpVectors = cms.bool(True), - tvFileName = cms.string( ("TestVector_%03d.txt") % job ) - ) - - - -# TTree output file -process.load("CommonTools.UtilAlgos.TFileService_cfi") -process.TFileService.fileName = cms.string('l1t.root') - -# Path and EndPath definitions -process.generation_step = cms.Path(process.pgen) -process.simulation_step = cms.Path(process.psim) -process.digitisation_step = cms.Path(process.pdigi) -process.L1simulation_step = cms.Path(process.SimL1Emulator - +process.esTest - +process.L1TCaloStage2 - # +process.l1tStage2CaloAnalyzer - # +process.l1tStage2InputPatternWriter - +process.simL1uGtDigis - +process.dumpGTRecord - ) -process.genfiltersummary_step = cms.EndPath(process.genFilterSummary) -process.endjob_step = cms.EndPath(process.endOfProcess) -process.output_step = cms.EndPath(process.output) - -# Schedule definition -process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.digitisation_step,process.L1simulation_step,process.endjob_step,process.output_step) -# filter all path with the production filter sequence -for path in process.paths: - getattr(process,path)._seq = process.generator * getattr(process,path)._seq - diff --git a/L1Trigger/L1TGlobal/test/TTBarRelVal_Stage2Test_uGT.py b/L1Trigger/L1TGlobal/test/TTBarRelVal_Stage2Test_uGT.py deleted file mode 100644 index de7643616084d..0000000000000 --- a/L1Trigger/L1TGlobal/test/TTBarRelVal_Stage2Test_uGT.py +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env python -import sys - - -import FWCore.ParameterSet.Config as cms - -process = cms.Process('L1') - -# import of standard configurations -process.load('Configuration.StandardSequences.Services_cff') -process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') -process.load('FWCore.MessageService.MessageLogger_cfi') -process.load('Configuration.EventContent.EventContent_cff') -process.load('SimGeneral.MixingModule.mixNoPU_cfi') -process.load('Configuration.StandardSequences.GeometryRecoDB_cff') -process.load('Configuration.StandardSequences.MagneticField_38T_cff') -process.load('Configuration.StandardSequences.SimL1Emulator_cff') -process.load('Configuration.StandardSequences.EndOfProcess_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10) -) - -# Input source -process.source = cms.Source("PoolSource", - secondaryFileNames = cms.untracked.vstring(), - fileNames = cms.untracked.vstring("/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/0EF13A80-F2FE-E311-9565-003048FFD7D4.root") -) - -process.options = cms.untracked.PSet( - -) - -# Production Info -process.configurationMetadata = cms.untracked.PSet( - version = cms.untracked.string('$Revision: 1.19 $'), - annotation = cms.untracked.string('l1 nevts:1'), - name = cms.untracked.string('Applications') -) - -# Output definition - -process.RECOSIMoutput = cms.OutputModule("PoolOutputModule", - splitLevel = cms.untracked.int32(0), - eventAutoFlushCompressedSize = cms.untracked.int32(5242880), - outputCommands = cms.untracked.vstring("keep *"),#process.RECOSIMEventContent.outputCommands, - fileName = cms.untracked.string('L1.root'), - dataset = cms.untracked.PSet( - filterName = cms.untracked.string(''), - dataTier = cms.untracked.string('') - ) -) - -# Additional output definition - -# Other statements -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:startup', '') - -# enable debug message logging for our modules -process.MessageLogger = cms.Service( - "MessageLogger", - destinations = cms.untracked.vstring( - 'detailedInfo', - 'critical' - ), - detailedInfo = cms.untracked.PSet( - threshold = cms.untracked.string('DEBUG') - ), - debugModules = cms.untracked.vstring( - 'l1tCaloStage2Layer1Digis', - 'l1tCaloStage2Digis' - ) -) - -## Load our L1 menu -process.load('L1Trigger.L1TGlobal.StableParametersConfig_cff') -process.load('L1Trigger.L1TGlobal.TriggerMenuXml_cfi') -process.TriggerMenuXml.TriggerMenuLuminosity = 'startup' -process.TriggerMenuXml.DefXmlFile = 'L1Menu_Reference_2014.xml' - -process.load('L1Trigger.L1TGlobal.TriggerMenuConfig_cff') -process.es_prefer_l1GtParameters = cms.ESPrefer('l1t::TriggerMenuXmlProducer','TriggerMenuXml') - -process.simL1uGtDigis = cms.EDProducer("l1t::GtProducer", - ProduceL1GtObjectMapRecord = cms.bool(True), - AlgorithmTriggersUnmasked = cms.bool(False), - EmulateBxInEvent = cms.int32(1), - L1DataBxInEvent = cms.int32(1), - AlgorithmTriggersUnprescaled = cms.bool(False), - ProduceL1GtDaqRecord = cms.bool(True), - GmtInputTag = cms.InputTag(""), - caloInputTag = cms.InputTag("caloStage2Digis"), - AlternativeNrBxBoardDaq = cms.uint32(0), - BstLengthBytes = cms.int32(-1), - Verbosity = cms.untracked.int32(0) -) - -process.dumpGTRecord = cms.EDAnalyzer("l1t::GtRecordDump", - egInputTag = cms.InputTag("caloStage2Digis"), - muInputTag = cms.InputTag(""), - tauInputTag = cms.InputTag("caloStage2Digis"), - jetInputTag = cms.InputTag("caloStage2Digis"), - etsumInputTag = cms.InputTag("caloStage2Digis"), - uGtRecInputTag = cms.InputTag("simL1uGtDigis"), - uGtAlgInputTag = cms.InputTag("simL1uGtDigis"), - uGtExtInputTag = cms.InputTag("simL1uGtDigis"), - bxOffset = cms.int32(0), - minBx = cms.int32(0), - maxBx = cms.int32(0), - minBxVec = cms.int32(0), - maxBxVec = cms.int32(0), - dumpGTRecord = cms.bool(True), - dumpVectors = cms.bool(False), - tvFileName = cms.string( "uGT_TestVector.txt") -) - - - -# Raw to digi -process.load('Configuration.StandardSequences.RawToDigi_cff') - -# upgrade calo stage 2 -process.load('L1Trigger.L1TCalorimeter.L1TCaloStage2_PPFromRaw_cff') -process.load('L1Trigger.L1TCalorimeter.l1tStage2CaloAnalyzer_cfi') - -# TTree output file -process.load("CommonTools.UtilAlgos.TFileService_cfi") -process.TFileService.fileName = cms.string('l1t.root') - -# Path and EndPath definitions -process.L1simulation_step = cms.Path( - process.ecalDigis - +process.hcalDigis - +process.L1TCaloStage2_PPFromRaw - +process.simL1uGtDigis - +process.dumpGTRecord - ) - -process.RECOSIMoutput_step = cms.EndPath(process.RECOSIMoutput) - -# Schedule definition -process.schedule = cms.Schedule(process.L1simulation_step, - process.RECOSIMoutput_step) - diff --git a/L1Trigger/L1TGlobal/test/TTBarRelVal_Stage2uGT_TestVectors.py b/L1Trigger/L1TGlobal/test/TTBarRelVal_Stage2uGT_TestVectors.py deleted file mode 100644 index d9070b5faad3d..0000000000000 --- a/L1Trigger/L1TGlobal/test/TTBarRelVal_Stage2uGT_TestVectors.py +++ /dev/null @@ -1,239 +0,0 @@ -#!/usr/bin/env python -import sys - -""" -The parameters can be changed by adding commandline arguments of the form -:: - - runGlobalFakeInputProducer.py nevents=-1 - -The latter can be used to change parameters in crab. -""" - -job = 0 #job number -njob = 1 #number of jobs -nevents = 3564 #number of events -rootout = False #whether to produce root file -dump = False #dump python - -# Argument parsing -# vvv - - -if len(sys.argv) > 1 and sys.argv[1].endswith('.py'): - sys.argv.pop(0) -if len(sys.argv) == 2 and ':' in sys.argv[1]: - argv = sys.argv[1].split(':') -else: - argv = sys.argv[1:] - -for arg in argv: - (k, v) = map(str.strip, arg.split('=')) - if k not in globals(): - raise "Unknown argument '%s'!" % (k,) - if type(globals()[k]) == bool: - globals()[k] = v.lower() in ('y', 'yes', 'true', 't', '1') - elif type(globals()[k]) == int: - globals()[k] = int(v) - else: - globals()[k] = v - -neventsPerJob = nevents/njob -skip = job * neventsPerJob - -if skip>4: - skip = skip-4 - neventsPerJob = neventsPerJob+4 - -import FWCore.ParameterSet.Config as cms - -process = cms.Process('L1') - -# import of standard configurations -process.load('Configuration.StandardSequences.Services_cff') -process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') -process.load('FWCore.MessageService.MessageLogger_cfi') -process.load('Configuration.EventContent.EventContent_cff') -process.load('SimGeneral.MixingModule.mixNoPU_cfi') -process.load('Configuration.StandardSequences.GeometryRecoDB_cff') -process.load('Configuration.StandardSequences.MagneticField_38T_cff') -process.load('Configuration.StandardSequences.SimL1Emulator_cff') -process.load('Configuration.StandardSequences.EndOfProcess_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(neventsPerJob) -) - -# Input source -process.source = cms.Source("PoolSource", - secondaryFileNames = cms.untracked.vstring(), - fileNames = cms.untracked.vstring( - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/0EF13A80-F2FE-E311-9565-003048FFD7D4.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/389E0C8A-EFFE-E311-86EA-0025905A6088.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/52F1C37C-F1FE-E311-89EA-00261894394D.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/545B93FA-F1FE-E311-8414-0025905A497A.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/5C8B9784-EFFE-E311-A37A-0025905A60B0.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/5E835FAA-F3FE-E311-8D88-0025905B8596.root", - "/store/relval/CMSSW_7_1_0/RelValTTbar_13/GEN-SIM-DIGI-RAW-HLTDEBUG/PU50ns_POSTLS171_V16-v1/00000/6C2B9503-F0FE-E311-858F-0025905A612A.root", - ), - skipEvents = cms.untracked.uint32(skip) -) - -process.options = cms.untracked.PSet( - -) - -# Production Info -process.configurationMetadata = cms.untracked.PSet( - version = cms.untracked.string('$Revision: 1.19 $'), - annotation = cms.untracked.string('l1 nevts:1'), - name = cms.untracked.string('Applications') -) - -# Output definition - -process.RECOSIMoutput = cms.OutputModule("PoolOutputModule", - splitLevel = cms.untracked.int32(0), - eventAutoFlushCompressedSize = cms.untracked.int32(5242880), - outputCommands = cms.untracked.vstring("keep *"),#process.RECOSIMEventContent.outputCommands, - fileName = cms.untracked.string('L1.root'), - dataset = cms.untracked.PSet( - filterName = cms.untracked.string(''), - dataTier = cms.untracked.string('') - ) -) - -# Additional output definition - -# Other statements -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:startup', '') - -# enable debug message logging for our modules -process.MessageLogger = cms.Service( - "MessageLogger", - destinations = cms.untracked.vstring( - 'detailedInfo', - 'critical' - ), - detailedInfo = cms.untracked.PSet( - threshold = cms.untracked.string('DEBUG') - ), - debugModules = cms.untracked.vstring( - 'l1tCaloStage2Layer1Digis', - 'l1tCaloStage2Digis' - ) -) - -## Load our L1 menu -process.load('L1Trigger.L1TGlobal.StableParametersConfig_cff') -process.load('L1Trigger.L1TGlobal.TriggerMenuXml_cfi') -process.TriggerMenuXml.TriggerMenuLuminosity = 'startup' -process.TriggerMenuXml.DefXmlFile = 'L1Menu_Reference_2014.xml' - -process.load('L1Trigger.L1TGlobal.TriggerMenuConfig_cff') -process.es_prefer_l1GtParameters = cms.ESPrefer('l1t::TriggerMenuXmlProducer','TriggerMenuXml') - - -process.dumpGT = cms.EDAnalyzer("l1t::GtInputDump", - egInputTag = cms.InputTag("caloStage2Digis"), - muInputTag = cms.InputTag(""), - tauInputTag = cms.InputTag("caloStage2Digis"), - jetInputTag = cms.InputTag("caloStage2Digis"), - etsumInputTag = cms.InputTag("caloStage2Digis"), - minBx = cms.int32(0), - maxBx = cms.int32(0) - ) - -process.bxVectorGT = cms.EDProducer("l1t::BXVectorInputProducer", - egInputTag = cms.InputTag("caloStage2Digis"), - muInputTag = cms.InputTag(""), - tauInputTag = cms.InputTag("caloStage2Digis"), - jetInputTag = cms.InputTag("caloStage2Digis"), - etsumInputTag = cms.InputTag("caloStage2Digis"), - bxFirst = cms.int32(-2), - bxLast = cms.int32(2), - maxMuCand = cms.uint32(8), - maxJetCand = cms.uint32(12), - maxEGCand = cms.uint32(12), - maxTauCand = cms.uint32(8), - jetEtThreshold = cms.double(10), - tauEtThreshold = cms.double(10), - egEtThreshold = cms.double(10), - muEtThreshold = cms.double(1), - emptyBxTrailer = cms.int32(5), - emptyBxEvt = cms.int32(neventsPerJob) - ) - - -process.simL1uGtDigis = cms.EDProducer("l1t::GtProducer", - #TechnicalTriggersUnprescaled = cms.bool(False), - ProduceL1GtObjectMapRecord = cms.bool(True), - AlgorithmTriggersUnmasked = cms.bool(False), - EmulateBxInEvent = cms.int32(1), - L1DataBxInEvent = cms.int32(5), - AlgorithmTriggersUnprescaled = cms.bool(False), - ProduceL1GtDaqRecord = cms.bool(True), - GmtInputTag = cms.InputTag("gtInput"), - caloInputTag = cms.InputTag("bxVectorGT"), - AlternativeNrBxBoardDaq = cms.uint32(0), - #WritePsbL1GtDaqRecord = cms.bool(True), - BstLengthBytes = cms.int32(-1), - Verbosity = cms.untracked.int32(0) -) - -process.dumpGTRecord = cms.EDAnalyzer("l1t::GtRecordDump", - egInputTag = cms.InputTag("bxVectorGT"), - muInputTag = cms.InputTag("gtInput"), - tauInputTag = cms.InputTag("bxVectorGT"), - jetInputTag = cms.InputTag("bxVectorGT"), - etsumInputTag = cms.InputTag("bxVectorGT"), - uGtRecInputTag = cms.InputTag("simL1uGtDigis"), - uGtAlgInputTag = cms.InputTag("simL1uGtDigis"), - uGtExtInputTag = cms.InputTag("simL1uGtDigis"), - bxOffset = cms.int32(skip), - minBx = cms.int32(-2), - maxBx = cms.int32(2), - minBxVec = cms.int32(0), - maxBxVec = cms.int32(0), - dumpGTRecord = cms.bool(True), - dumpVectors = cms.bool(True), - tvFileName = cms.string( ("TestVector_%03d.txt") % job ) - ) - - - -# Raw to digi -process.load('Configuration.StandardSequences.RawToDigi_cff') - -# upgrade calo stage 2 -process.load('L1Trigger.L1TCalorimeter.L1TCaloStage2_PPFromRaw_cff') -process.load('L1Trigger.L1TCalorimeter.l1tStage2CaloAnalyzer_cfi') -#process.load('L1Trigger.L1TCalorimeter.l1tCaloAnalyzer_cfi') - -# TTree output file -process.load("CommonTools.UtilAlgos.TFileService_cfi") -process.TFileService.fileName = cms.string('l1t.root') - -# Path and EndPath definitions -process.L1simulation_step = cms.Path( - process.ecalDigis - +process.hcalDigis - +process.L1TCaloStage2_PPFromRaw -# +process.dumpGT - +process.bxVectorGT - +process.simL1uGtDigis - +process.dumpGTRecord - ) - -process.RECOSIMoutput_step = cms.EndPath(process.RECOSIMoutput) - -# Schedule definition -process.schedule = cms.Schedule(process.L1simulation_step, - process.RECOSIMoutput_step) - -if dump: - outfile = open('dump_TTBarRelVal_Stage2uGT_TestVectors_'+`job`+'.py','w') - print >> outfile,process.dumpPython() - outfile.close()