How to use begin method in SeleniumBase

Best Python code snippet using SeleniumBase

vars.py

Source:vars.py Github

copy

Full Screen

1# -*- coding:utf-8 -*- 2import sys3PY3 = (sys.version_info[0] >= 3)4HTTP_OK = 2005HTTP_AUTHORIZATION_ERROR = 4016HTTP_URL = 'api.wmcloud.com'7HTTP_PORT = 4438BOND = '/api/bond/getBond.csv?secID=%s&ticker=%s&field=%s'9BONDCF = '/api/bond/getBondCf.csv?secID=%s&ticker=%s&beginDate=%s&cashTypeCD=%s&endDate=%s&field=%s'10BONDCOUPON = '/api/bond/getBondCoupon.csv?secID=%s&ticker=%s&field=%s'11BONDGUAR = '/api/bond/getBondGuar.csv?secID=%s&ticker=%s&guarModeCD=%s&field=%s'12BONDISSUE = '/api/bond/getBondIssue.csv?secID=%s&ticker=%s&raiseModeCD=%s&field=%s'13BONDOPTION = '/api/bond/getBondOption.csv?secID=%s&ticker=%s&field=%s'14BONDRATING = '/api/bond/getBondRating.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'15EQU = '/api/equity/getEqu.csv?equTypeCD=%s&secID=%s&ticker=%s&listStatusCD=%s&field=%s'16EQUALLOT = '/api/equity/getEquAllot.csv?isAllotment=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'17EQUDIV = '/api/equity/getEquDiv.csv?eventProcessCD=%s&exDivDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'18EQUINDUSTRY = '/api/equity/getEquIndustry.csv?industry=%s&industryID=%s&industryVersionCD=%s&secID=%s&ticker=%s&intoDate=%s&field=%s'19EQUIPO = '/api/equity/getEquIPO.csv?eventProcessCD=%s&secID=%s&ticker=%s&field=%s'20EQUREF = '/api/equity/getEquRef.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&eventProcessCD=%s&field=%s'21EQURETUD = '/api/equity/getEquRetud.csv?listStatusCD=%s&secID=%s&ticker=%s&beginDate=%s&dailyReturnNoReinvLower=%s&dailyReturnNoReinvUpper=%s&dailyReturnReinvLower=%s&dailyReturnReinvUpper=%s&endDate=%s&isChgPctl=%s&field=%s'22EQUSPLITS = '/api/equity/getEquSplits.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'23FUTU = '/api/future/getFutu.csv?exchangeCD=%s&secID=%s&ticker=%s&contractObject=%s&field=%s'24FUTUCONVF = '/api/future/getFutuConvf.csv?secID=%s&ticker=%s&field=%s'25GUARRATING = '/api/bond/getGuarRating.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'26IDX = '/api/idx/getIdx.csv?secID=%s&ticker=%s&field=%s'27IDXCONS = '/api/idx/getIdxCons.csv?secID=%s&ticker=%s&intoDate=%s&intoDate=%s&isNew=%s&field=%s'28IDXWEIGHT = '/api/idx/getIdxCloseWeight.json?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'29ISSUERRATING = '/api/bond/getIssuerRating.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'30MKTEQUD = '/api/market/getMktEqud.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'31MKTFUTD = '/api/market/getMktFutd.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'32MKTIDXD = '/api/market/getMktIdxd.csv?indexID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'33SECID = '/api/master/getSecID.csv?assetClass=%s&cnSpell=%s&partyID=%s&ticker=%s&field=%s'34FUND = '/api/fund/getFund.csv?etfLof=%s&listStatusCd=%s&secID=%s&ticker=%s&category=%s&operationMode=%s&field=%s'35FUNDNAV = '/api/fund/getFundNav.csv?dataDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'36FUNDDIVM = '/api/fund/getFundDivm.csv?dataDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'37FUNDDIV = '/api/fund/getFundDiv.csv?secID=%s&ticker=%s&adjustedType=%s&beginDate=%s&endDate=%s&field=%s'38FUNDASSETS = '/api/fund/getFundAssets.csv?reportDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'39FUNDHOLDINGS = '/api/fund/getFundHoldings.csv?reportDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&secType=%s&field=%s'40FDMTBS = '/api/fundamental/getFdmtBS.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'41FDMTBSBANK = '/api/fundamental/getFdmtBSBank.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'42FDMTBSSECU = '/api/fundamental/getFdmtBSSecu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'43FDMTBSINDU = '/api/fundamental/getFdmtBSIndu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'44FDMTBSINSU = '/api/fundamental/getFdmtBSInsu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'45FDMTCF = '/api/fundamental/getFdmtCF.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'46FDMTCFBANK = '/api/fundamental/getFdmtCFBank.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'47FDMTCFSECU = '/api/fundamental/getFdmtCFSecu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'48FDMTCFINDU = '/api/fundamental/getFdmtCFIndu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'49FDMTCFINSU = '/api/fundamental/getFdmtCFInsu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'50FDMTIS = '/api/fundamental/getFdmtIS.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'51FDMTISBANK = '/api/fundamental/getFdmtISBank.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'52FDMTISSECU = '/api/fundamental/getFdmtISSecu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'53FDMTISINDU = '/api/fundamental/getFdmtISIndu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'54FDMTISINSU = '/api/fundamental/getFdmtISInsu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'55FDMTEE = '/api/fundamental/getFdmtEe.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'56FDMTEF = '/api/fundamental/getFdmtEf.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&forecastType=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'57TRADECAL = '/api/master/getTradeCal.csv?exchangeCD=%s&beginDate=%s&endDate=%s&field=%s'58INDUSTRY = '/api/master/getIndustry.csv?industryVersion=%s&industryVersionCD=%s&industryLevel=%s&isNew=%s&field=%s'59FSTTOTAL = '/api/equity/getFstTotal.csv?beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'60FSTDETAIL = '/api/equity/getFstDetail.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'61MKTBLOCKD = '/api/market/getMktBlockd.csv?secID=%s&ticker=%s&tradeDate=%s&assetClass=%s&beginDate=%s&endDate=%s&field=%s'62HKEQU = '/api/HKequity/getHKEqu.csv?listStatusCD=%s&secID=%s&ticker=%s&field=%s'63HKEQUCA = '/api/HKequity/getHKEquCA.csv?secID=%s&ticker=%s&eventTypeCD=%s&field=%s'64MKTREPOD = '/api/market/getMktRepod.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'65MKTBONDD = '/api/market/getMktBondd.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'66EQUSHARE = '/api/equity/getEquShare.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&partyID=%s&field=%s'67REPO = '/api/bond/getRepo.csv?secID=%s&ticker=%s&field=%s'68MKTHKEQUD = '/api/market/getMktHKEqud.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'69TICKRTSNAPSHOT = '/api/market/getTickRTSnapshot.csv?securityID=%s&field=%s'70TICKRTSNAPSHOTINDEX = '/api/market/getTickRTSnapshotIndex.csv?securityID=%s&field=%s'71FUTURETICKRTSNAPSHOT = '/api/market/getFutureTickRTSnapshot.csv?instrumentID=%s&field=%s'72TICKRTINTRADAY = '/api/market/getTickRTIntraDay.csv?securityID=%s&endTime=%s&startTime=%s&field=%s'73BARRTINTRADAY = '/api/market/getBarRTIntraDay.csv?securityID=%s&endTime=%s&startTime=%s&field=%s'74BARHISTONEDAY = '/api/market/getBarHistOneDay.csv?securityID=%s&date=%s&endTime=%s&startTime=%s&field=%s'75BARHISTDAYRANGE = '/api/market/getBarHistDateRange.csv?securityID=%s&startDate=%s&&endDate=%s&field=%s'76FUTURETICKRTINTRADAY = '/api/market/getFutureTickRTIntraDay.csv?instrumentID=%s&endTime=%s&startTime=%s&field=%s'77FUTUREBARINDAY = '/api/market/getFutureBarHistOneDay.csv?instrumentID=%s&date=%s&field=%s'78FUTUREBARDATERANGE = '/api/market/getFutureBarHistDateRange.csv?instrumentID=%s&startDate=%s&endDate=%s&field=%s'79STOCKFACTORSONEDAY = '/api/market/getStockFactorsOneDay.csv?tradeDate=%s&secID=%s&ticker=%s&field=%s'80STOCKFACTORSDATERANGE = '/api/market/getStockFactorsDateRange.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'81MKTFUNDD = '/api/market/getMktFundd.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'82MKTFUTMTR = '/api/market/getMktFutMTR.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'83MKTFUTMSR = '/api/market/getMktFutMSR.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'84MKTFUTMLR = '/api/market/getMktFutMLR.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'85FUNDETFPRLIST = '/api/fund/getFundETFPRList.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'86FUNDETFCONS = '/api/fund/getFundETFCons.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'87FUNDRATING = '/api/fund/getFundRating.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'88CHINAMACRODATA = '/api/macro/getChinaMacroData.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'89CHINAMACROINFO = '/api/macro/getChinaMacroInfo.csv?indicID=%s&indicNameAbbr=%s&parentID=%s&field=%s'90GLOBALMACRODATA = '/api/macro/getGlobalMacroData.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'91GLOBALMACROINFO = '/api/macro/getGlobalMacroInfo.csv?indicID=%s&indicNameAbbr=%s&parentID=%s&field=%s'92INDUSTRIALDATA = '/api/macro/getIndustrialData.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'93INDUSTRIALINFO = '/api/macro/getIndustrialInfo.csv?indicID=%s&indicNameAbbr=%s&parentID=%s&field=%s'94ECOMMERCEDATA = '/api/macro/getEcommerceData.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'95ECOMMERCEINFO = '/api/macro/getEcommerceInfo.csv?indicID=%s&indicNameAbbr=%s&parentID=%s&field=%s'96MKTMFUTD = '/api/market/getMktMFutd.csv?contractMark=%s&contractObject=%s&mainCon=%s&tradeDate=%s&endDate=%s&startDate=%s&field=%s'97CHINADATAGDP = '/api/macro/getChinaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'98CHINADATAECI = '/api/macro/getChinaDataECI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'99CHINADATAPMI = '/api/macro/getChinaDataPMI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'100CHINADATACCI = '/api/macro/getChinaDataCCI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'101CHINADATAECONOMISTSBOOMINDEX = '/api/macro/getChinaDataEconomistsBoomIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'102CHINADATAINDUSTRIALBUSINESSCLIMATEINDEX = '/api/macro/getChinaDataIndustrialBusinessClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'103CHINADATACPI = '/api/macro/getChinaDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'104CHINADATAPPI = '/api/macro/getChinaDataPPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'105CHINADATAINDUSTRY = '/api/macro/getChinaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'106CHINADATARETAILSALES = '/api/macro/getChinaDataRetailSales.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'107CHINADATARESIDENTINCOMEEXP = '/api/macro/getChinaDataResidentIncomeExp.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'108CHINADATAFAI = '/api/macro/getChinaDataFAI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'109CHINADATAREALESTATE = '/api/macro/getChinaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'110CHINADATAFOREIGNTRADE = '/api/macro/getChinaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'111CHINADATAFDI = '/api/macro/getChinaDataFDI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'112CHINADATAMONEYSTATISTICS = '/api/macro/getChinaDataMoneyStatistics.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'113CHINADATAALLSYSTEMFINANCING = '/api/macro/getChinaDataAllSystemFinancing.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'114CHINADATALENDINGDEPOSIT = '/api/macro/getChinaDataLendingDeposit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'115CHINADATACREDITFUNDSTABLE = '/api/macro/getChinaDataCreditFundsTable.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'116CHINADATAOPENMARKETOPERATION = '/api/macro/getChinaDataOpenMarketOperation.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'117CHINADATAEXCHANGERATE = '/api/macro/getChinaDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'118CHINADATAINTERESTRATELENDINGDEPOSIT = '/api/macro/getChinaDataInterestRateLendingDeposit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'119CHINADATAINTERESTRATESHIBOR = '/api/macro/getChinaDataInterestRateSHIBOR.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'120CHINADATAINTERESTRATEINTERBANKREPO = '/api/macro/getChinaDataInterestRateInterbankRepo.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'121CHINADATAFINANCE = '/api/macro/getChinaDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'122CHINADATAGOLDCLOSEPRICE = '/api/macro/getChinaDataGoldClosePrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'123USDATAGDP = '/api/macro/getUSDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'124USDATAFOREIGNTRADE = '/api/macro/getUSDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'125USDATAPRICEINDEX = '/api/macro/getUSDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'126USDATAEMPLOYMENTUNEMPLOYMENT = '/api/macro/getUSDataEmploymentUnemployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'127USDATAINTERESTRATE = '/api/macro/getUSDataInterestRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'128USDATAEXCHANGERATE = '/api/macro/getUSDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'129USDATAMONEYSUPPLY = '/api/macro/getUSDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'130USDATACONSUMERCREDIT = '/api/macro/getUSDataConsumerCredit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'131USDATACLIMATEINDEX = '/api/macro/getUSDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'132USDATADURABLEGOODS = '/api/macro/getUSDataDurableGoods.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'133USDATAREALESTATE = '/api/macro/getUSDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'134USDATADOMESTICTRADE = '/api/macro/getUSDataDomesticTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'135EUDATAGDP = '/api/macro/getEUDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'136EUDATAFOREIGNTRADE = '/api/macro/getEUDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'137EUDATAPRICEINDEX = '/api/macro/getEUDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'138EUDATAEMPLOYMENTUNEMPLOYMENT = '/api/macro/getEUDataEmploymentUnemployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'139EUDATAINTERESTRATE = '/api/macro/getEUDataInterestRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'140EUDATAEXCHANGERATE = '/api/macro/getEUDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'141EUDATABANKING = '/api/macro/getEUDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'142EUDATACLIMATEINDEX = '/api/macro/getEUDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'143EUDATAINDUSTRY = '/api/macro/getEUDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'144EUDATARETAIL = '/api/macro/getEUDataRetail.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'145SWITZERLANDDATAGDP = '/api/macro/getSwitzerlandDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'146SWITZERLANDDATAPRICEINDEX = '/api/macro/getSwitzerlandDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'147SWITZERLANDDATACLIMATEINDEX = '/api/macro/getSwitzerlandDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'148SWITZERLANDDATAMONEYSUPPLY = '/api/macro/getSwitzerlandDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'149SWEDENDATAGDP = '/api/macro/getSwedenDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'150SWEDENDATAPRICEINDEX = '/api/macro/getSwedenDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'151SWEDENDATAFOREIGNTRADE = '/api/macro/getSwedenDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'152KOREADATAGDP = '/api/macro/getKoreaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'153KOREADATAPRICEINDEX = '/api/macro/getKoreaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'154KOREADATAEMPLOYMENTUNEMPLOYMENT = '/api/macro/getKoreaDataEmploymentUnemployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'155KOREADATAINTERESTRATES = '/api/macro/getKoreaDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'156KOREADATAEXCHANGERATE = '/api/macro/getKoreaDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'157KOREADATAMONEYSUPPLY = '/api/macro/getKoreaDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'158KOREADATACLIMATEINDEX = '/api/macro/getKoreaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'159KOREADATA_EXTERNALDEBT = '/api/macro/getKoreaData_ExternalDebt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'160KOREADATAINDUSTRYANDSERVICE = '/api/macro/getKoreaDataIndustryandService.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'161KOREADATAREALESTATE = '/api/macro/getKoreaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'162AUSTRALIADATAGDP = '/api/macro/getAustraliaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'163AUSTRALIADATAFOREIGNTRADE = '/api/macro/getAustraliaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'164AUSTRALIADATAPRICEINDEX = '/api/macro/getAustraliaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'165AUSTRALIADATAEMPLOYMENT = '/api/macro/getAustraliaDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'166AUSTRALIADATACLIMATEINDEX = '/api/macro/getAustraliaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'167ITALYDATAGDP = '/api/macro/getItalyDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'168ITALYDATAPAYMENTSBALANCE = '/api/macro/getItalyDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'169ITALYDATAPRICEINDEX = '/api/macro/getItalyDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'170ITALYDATAEMPLOYMENT = '/api/macro/getItalyDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'171ITALYDATAFINANCE = '/api/macro/getItalyDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'172ITALYDATACLIMATEINDEX = '/api/macro/getItalyDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'173ITALYDATAINTERESTRATE = '/api/macro/getItalyDataInterestRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'174SPAINDATAGDP = '/api/macro/getSpainDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'175SPAINDATAFOREIGNTRADE = '/api/macro/getSpainDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'176SPAINDATAPAYMENTSBALANCE = '/api/macro/getSpainDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'177SPAINDATABANKING = '/api/macro/getSpainDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'178SPAINDATATRANSPORTATION = '/api/macro/getSpainDataTransportation.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'179SPAINDATAENERGY = '/api/macro/getSpainDataEnergy.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'180SPAINDATAFINANCE = '/api/macro/getSpainDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'181CANADADATAGDP = '/api/macro/getCanadaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'182CANADADATAPAYMENTSBALANCE = '/api/macro/getCanadaDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'183CANADADATAFOREIGNTRADE = '/api/macro/getCanadaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'184CANADADATAPRICEINDEX = '/api/macro/getCanadaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'185CANADADATABANKING = '/api/macro/getCanadaDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'186CANADADATAEMPLOYMENT = '/api/macro/getCanadaDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'187CANADADATAMANUFACTURING = '/api/macro/getCanadaDataManufacturing.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'188CANADADATAREALESTATE = '/api/macro/getCanadaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'189CANADADATACLIMATEINDEX = '/api/macro/getCanadaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'190HKDATAGDP = '/api/macro/getHKDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'191HKDATAFOREIGNTRADE = '/api/macro/getHKDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'192HKDATAPRICEINDEX = '/api/macro/getHKDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'193HKDATAFINANCE = '/api/macro/getHKDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'194HKDATABANKING = '/api/macro/getHKDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'195HKDATAINDUSTRY = '/api/macro/getHKDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'196HKDATACONSUMPTION = '/api/macro/getHKDataConsumption.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'197HKDATATHROUGHPUT = '/api/macro/getHKDataThroughput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'198HKDATAEMPLOYMENT = '/api/macro/getHKDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'199HKDATAINTERESTRATE = '/api/macro/getHKDataInterestRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'200HKDATAEXCHANGERATE = '/api/macro/getHKDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'201HKDATAREALESTATE = '/api/macro/getHKDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'202HKDATATOURISM = '/api/macro/getHKDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'203INDIADATAGDP = '/api/macro/getIndiaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'204INDIADATAPAYMENTSBALANCE = '/api/macro/getIndiaDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'205INDIADATAPRICEINDEX = '/api/macro/getIndiaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'206INDIADATATOURISM = '/api/macro/getIndiaDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'207INDIADATAENERGY = '/api/macro/getIndiaDataEnergy.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'208INDIADATACLIMATEINDEX = '/api/macro/getIndiaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'209INDIADATABANKING = '/api/macro/getIndiaDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'210INDIADATAINDUSTRY = '/api/macro/getIndiaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'211INDIADATAFOREIGNTRADE = '/api/macro/getIndiaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'212MALAYSIADATAGDP = '/api/macro/getMalaysiaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'213MALAYSIADATAPAYMENTSBALANCE = '/api/macro/getMalaysiaDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'214MALAYSIADATAFOREIGNTRADE = '/api/macro/getMalaysiaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'215MALAYSIADATAPRICEINDEX = '/api/macro/getMalaysiaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'216MALAYSIADATAEMPLOYMENT = '/api/macro/getMalaysiaDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'217MALAYSIADATAINDUSTRY = '/api/macro/getMalaysiaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'218MALAYSIADATAFINANCE = '/api/macro/getMalaysiaDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'219MALAYSIADATAMONEYSUPPLY = '/api/macro/getMalaysiaDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'220MALAYSIADATAREALESTATE = '/api/macro/getMalaysiaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'221INDONESIADATAGDP = '/api/macro/getIndonesiaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'222INDONESIADATAPAYMENTSBALANCE = '/api/macro/getIndonesiaDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'223INDONESIADATAFOREIGNTRADE = '/api/macro/getIndonesiaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'224INDONESIADATAPRICEINDEX = '/api/macro/getIndonesiaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'225INDONESIADATAINDUSTRY = '/api/macro/getIndonesiaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'226INDONESIADATAFINANCE = '/api/macro/getIndonesiaDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'227INDONESIADATABANKING = '/api/macro/getIndonesiaDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'228INDONESIADATASECURITY = '/api/macro/getIndonesiaDataSecurity.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'229INDONESIADATATOURISM = '/api/macro/getIndonesiaDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'230TURKEYDATAGDP = '/api/macro/getTurkeyDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'231TURKEYDATAPAYMENTSBALANCE = '/api/macro/getTurkeyDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'232TURKEYDATAFOREIGNTRADE = '/api/macro/getTurkeyDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'233TURKEYDATAPRICEINDEX = '/api/macro/getTurkeyDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'234TURKEYDATAEMPLOYMENT = '/api/macro/getTurkeyDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'235TURKEYDATAINDUSTRY = '/api/macro/getTurkeyDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'236TURKEYDATAFINANCE = '/api/macro/getTurkeyDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'237TURKEYDATAMONEYSUPPLY = '/api/macro/getTurkeyDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'238THAILANDDATAGDP = '/api/macro/getThailandDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'239THAILANDDATAPAYMENTSBALANCE = '/api/macro/getThailandDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'240THAILANDDATAFOREIGNTRADE = '/api/macro/getThailandDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'241THAILANDDATAPRICEINDEX = '/api/macro/getThailandDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'242THAILANDDATAEMPLOYMENT = '/api/macro/getThailandDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'243THAILANDDATAINDUSTRY = '/api/macro/getThailandDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'244THAILANDDATAFINANCE = '/api/macro/getThailandDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'245THAILANDDATACLIMATEINDEX = '/api/macro/getThailandDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'246THAILANDDATAMONEYSUPPLY = '/api/macro/getThailandDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'247UKDATAGDP = '/api/macro/getUKDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'248UKDATAFOREIGNTRADE = '/api/macro/getUKDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'249UKDATACPI = '/api/macro/getUKDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'250UKDATARPI = '/api/macro/getUKDataRPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'251UKDATAEMPLOYMENT = '/api/macro/getUKDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'252UKDATAMONEYSUPPLY = '/api/macro/getUKDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'253UKDATACONSUMERCREDIT = '/api/macro/getUKDataConsumerCredit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'254UKDATACLIMATEINDEX = '/api/macro/getUKDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'255UKDATAFINANCE = '/api/macro/getUKDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'256UKDATAINDUSTRIALPI = '/api/macro/getUKDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'257UKDATAHOUSEPI = '/api/macro/getUKDataHousePI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'258UKDATAINTERESTRATES = '/api/macro/getUKDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'259UKDATAEXCHANGERATE = '/api/macro/getUKDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'260JAPANDATAGDP = '/api/macro/getJapanDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'261JAPANDATAFOREIGNTRADE = '/api/macro/getJapanDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'262JAPANDATACPI = '/api/macro/getJapanDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'263JAPANDATAEMPLOYMENT = '/api/macro/getJapanDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'264JAPANDATAMONEYSUPPLY = '/api/macro/getJapanDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'265JAPANDATACLIMATEINDEX = '/api/macro/getJapanDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'266JAPANDATAINDUSTRIALPI = '/api/macro/getJapanDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'267JAPANDATAHOUSEPI = '/api/macro/getJapanDataHousePI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'268JAPANDATAINTERESTRATES = '/api/macro/getJapanDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'269JAPANDATAEXCHANGERATE = '/api/macro/getJapanDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'270GERMANYDATAGDP = '/api/macro/getGermanyDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'271GERMANYDATAFOREIGNTRADE = '/api/macro/getGermanyDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'272GERMANYDATACPI = '/api/macro/getGermanyDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'273GERMANYDATAPPI = '/api/macro/getGermanyDataPPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'274GERMANYDATAIMPORTEXPORTPI = '/api/macro/getGermanyDataImportExportPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'275GERMANYDATAEMPLOYMENT = '/api/macro/getGermanyDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'276GERMANYDATAMONEYSUPPLY = '/api/macro/getGermanyDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'277GERMANYDATACLIMATEINDEX = '/api/macro/getGermanyDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'278GERMANYDATAFINANCE = '/api/macro/getGermanyDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'279GERMANYDATAINDUSTRIALPI = '/api/macro/getGermanyDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'280GERMANYDATAREALESTATE = '/api/macro/getGermanyDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'281GERMANYDATADOMESTICTRADE = '/api/macro/getGermanyDataDomesticTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'282GERMANYDATAINTERESTRATES = '/api/macro/getGermanyDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'283FRANCEDATAFINANCE = '/api/macro/getFranceDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'284FRANCEDATAGDP = '/api/macro/getFranceDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'285FRANCEDATAFOREIGNTRADE = '/api/macro/getFranceDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'286FRANCEDATACPI = '/api/macro/getFranceDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'287FRANCEDATAPPI = '/api/macro/getFranceDataPPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'288FRANCEDATAIMPORTPI = '/api/macro/getFranceDataImportPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'289FRANCEDATAEMPLOYMENT = '/api/macro/getFranceDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'290FRANCEDATAMONEYSUPPLY = '/api/macro/getFranceDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'291FRANCEDATACLIMATEINDEX = '/api/macro/getFranceDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'292FRANCEDATAINDUSTRIALPI = '/api/macro/getFranceDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'293FRANCEDATADOMESTICTRADE = '/api/macro/getFranceDataDomesticTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'294FRANCEDATAINTERESTRATES = '/api/macro/getFranceDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'295TAIWANDATAGDP = '/api/macro/getTaiwanDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'296TAIWANDATAEXTERNALDEBT = '/api/macro/getTaiwanDataExternalDebt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'297TAIWANDATAFOREIGNTRADE = '/api/macro/getTaiwanDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'298TAIWANDATACPI = '/api/macro/getTaiwanDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'299TAIWANDATAIMPORTEXPORTPI = '/api/macro/getTaiwanDataImportExportPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'300TAIWANDATAEMPLOYMENT = '/api/macro/getTaiwanDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'301TAIWANDATAMONEYSUPPLY = '/api/macro/getTaiwanDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'302TAIWANDATALENDINGDEPOSIT = '/api/macro/getTaiwanDataLendingDeposit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'303TAIWANDATARESERVEFUND = '/api/macro/getTaiwanDataReserveFund.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'304TAIWANDATACLIMATEINDEX = '/api/macro/getTaiwanDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'305TAIWANDATAFINANCE = '/api/macro/getTaiwanDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'306TAIWANDATAINDUSTRIALPI = '/api/macro/getTaiwanDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'307TAIWANDATAREALESTATE = '/api/macro/getTaiwanDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'308TAIWANDATATOURISM = '/api/macro/getTaiwanDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'309TAIWANDATACROSSSTRAITTRADE = '/api/macro/getTaiwanDataCrossStraitTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'310TAIWANDATABUSINESSANDECONOMY = '/api/macro/getTaiwanDataBusinessandEconomy.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'311TAIWANDATAINTERESTRATES = '/api/macro/getTaiwanDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'312TAIWANDATAEXCHANGERATE = '/api/macro/getTaiwanDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'313MACAODATAGDP = '/api/macro/getMacaoDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'314MACAODATAPRICEINDEX = '/api/macro/getMacaoDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'315MACAODATAEMPLOYMENT = '/api/macro/getMacaoDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'316MACAODATAMONEYSUPPLY = '/api/macro/getMacaoDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'317MACAODATAFOREIGNEXCHANGERESERVES = '/api/macro/getMacaoDataForeignExchangeReserves.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'318MACAODATATOURISM = '/api/macro/getMacaoDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'319MACAODATAGAMINGINDUSTRY = '/api/macro/getMacaoDataGamingIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'320MACAODATAINTERESTRATES = '/api/macro/getMacaoDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'321MACAODATAEXCHANGERATE = '/api/macro/getMacaoDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'322RUSSIADATAGDP = '/api/macro/getRussiaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'323RUSSIADATAFOREIGNTRADE = '/api/macro/getRussiaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'324RUSSIADATACPI = '/api/macro/getRussiaDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'325RUSSIADATAMONEYSUPPLY = '/api/macro/getRussiaDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'326RUSSIADATACLIMATEINDEX = '/api/macro/getRussiaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'327RUSSIADATAINTERESTRATES = '/api/macro/getRussiaDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'328RUSSIADATAEXCHANGERATE = '/api/macro/getRussiaDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'329BRAZILDATAGDP = '/api/macro/getBrazilDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'330BRAZILDATAFOREIGNTRADE = '/api/macro/getBrazilDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'331BRAZILDATAPRICEINDEX = '/api/macro/getBrazilDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'332BRAZILDATAEMPLOYMENT = '/api/macro/getBrazilDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'333BRAZILDATAMONEYSUPPLY = '/api/macro/getBrazilDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'334BRAZILDATACLIMATEINDEX = '/api/macro/getBrazilDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'335BRAZILDATARETAILSALE = '/api/macro/getBrazilDataRetailSale.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'336BRAZILDATAINTERESTRATES = '/api/macro/getBrazilDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'337BRAZILDATAEXCHANGERATE = '/api/macro/getBrazilDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'338SOUTHAFRICADATAGDP = '/api/macro/getSouthAfricaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'339SOUTHAFRICADATAEMPLOYMENTUNEMPLOYMENT = '/api/macro/getSouthAfricaDataEmploymentUnemployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'340SOUTHAFRICADATAFOREIGNTRADE = '/api/macro/getSouthAfricaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'341SOUTHAFRICADATACPI = '/api/macro/getSouthAfricaDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'342SOUTHAFRICADATAMONEYSUPPLY = '/api/macro/getSouthAfricaDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'343SOUTHAFRICADATACLIMATEINDEX = '/api/macro/getSouthAfricaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'344SOUTHAFRICADATAINDUSTRY = '/api/macro/getSouthAfricaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'345SOUTHAFRICADATAREALESTATE = '/api/macro/getSouthAfricaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'346SOUTHAFRICADATARETAILSALES = '/api/macro/getSouthAfricaDataRetailSales.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'347SOUTHAFRICADATAINTERESTRATES = '/api/macro/getSouthAfricaDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'348SOUTHAFRICADATAEXCHANGERATE = '/api/macro/getSouthAfricaDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'349AGRICDATAPRICE = '/api/macro/getAgricDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'350AGRICDATAOUTPV = '/api/macro/getAgricDataOutpV.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'351AGRICDATAWASDE = '/api/macro/getAgricDataWASDE.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'352AGRICDATAIMPTEXPT = '/api/macro/getAgricDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'353FOODBVGDATAPRICE = '/api/macro/getFoodBvgDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'354FOODBVGDATASALESOUTPUT = '/api/macro/getFoodBvgDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'355FOODBVGDATAIMPTEXPT = '/api/macro/getFoodBvgDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'356COMMTRADEDATATRSCG = '/api/macro/getCommTradeDataTRSCG.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'357COMMTRADEDATASALES50LARGEEN = '/api/macro/getCommTradeDataSales50LargeEn.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'358COMMTRADEDATAINDEXKEYCIRCEN = '/api/macro/getCommTradeDataIndexKeyCircEn.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'359CATERTOURDATATRSCG = '/api/macro/getCaterTourDataTRSCG.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'360CATERTOURDATAHOTELSOPER = '/api/macro/getCaterTourDataHotelsOper.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'361CATERTOURDATANEWHOTEL = '/api/macro/getCaterTourDataNewHotel.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'362CATERTOURDATAINBOUNDTOUR = '/api/macro/getCaterTourDataInboundTour.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'363BIOMEDICINEDATASALESOUTPUT = '/api/macro/getBioMedicineDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'364BIOMEDICINEDATAIMPTEXPT = '/api/macro/getBioMedicineDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'365PETROCHEMDATAPRICE = '/api/macro/getPetrochemDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'366PETROCHEMDATASALESOUTPUT = '/api/macro/getPetrochemDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'367PETROCHEMDATAIMPTEXPT = '/api/macro/getPetrochemDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'368CLOTHTEXDATAPRICE = '/api/macro/getClothTexDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'369CLOTHTEXDATASALESOUTPUT = '/api/macro/getClothTexDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'370CLOTHTEXDATACOTTONWASDE = '/api/macro/getClothTexDataCottonWASDE.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'371CLOTHTEXDATAIMPTEXPT = '/api/macro/getClothTexDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'372LIGHTMANUFDATAPRICE = '/api/macro/getLightManufDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'373LIGHTMANUFDATASALESOUTPUT = '/api/macro/getLightManufDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'374LIGHTMANUFDATAIMPTEXPT = '/api/macro/getLightManufDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'375MININGDATAPRICE = '/api/macro/getMiningDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'376MININGDATAOUTPSALESTRANSP = '/api/macro/getMiningDataOutpSalesTransp.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'377MININGDATAIMPTEXPT = '/api/macro/getMiningDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'378FERMETALDATAPRICE = '/api/macro/getFerMetalDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'379FERMETALDATASALESOUTPUT = '/api/macro/getFerMetalDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'380FERMETALDATAIMPTEXPT = '/api/macro/getFerMetalDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'381NONFERMETALDATAPRICE = '/api/macro/getNonferMetalDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'382NONFERMETALDATASALESOUTPUT = '/api/macro/getNonferMetalDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'383NONFERMETALDATAIMPTEXPT = '/api/macro/getNonferMetalDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'384DELIVERYEQDATAPRICE = '/api/macro/getDeliveryEqDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'385DELIVERYEQDATASALESOUTPUT = '/api/macro/getDeliveryEqDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'386DELIVERYEQDATAIMPTEXPT = '/api/macro/getDeliveryEqDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'387TRAFFICTRANSDATARAILWAY = '/api/macro/getTrafficTransDataRailway.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'388TRAFFICTRANSDATAROAD = '/api/macro/getTrafficTransDataRoad.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'389TRAFFICTRANSDATAWATERWAY = '/api/macro/getTrafficTransDataWaterway.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'390TRAFFICTRANSDATAAIR = '/api/macro/getTrafficTransDataAir.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'391UTILINDUSTRYDATAPOWER = '/api/macro/getUtilIndustryDataPower.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'392UTILINDUSTRYDATAWATER = '/api/macro/getUtilIndustryDataWater.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'393UTILINDUSTRYDATAGAS = '/api/macro/getUtilIndustryDataGas.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'394UTILINDUSTRYDATAENVIRPROT = '/api/macro/getUtilIndustryDataEnvirProt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'395ELECCOMPDATAPRICE = '/api/macro/getElecCompDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'396ELECCOMPDATASALESOUTPUT = '/api/macro/getElecCompDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'397ELECCOMPDATAIMPTEXPT = '/api/macro/getElecCompDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'398INFOEQPTDATAPRICE = '/api/macro/getInfoEqptDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'399INFOEQPTDATASALESOUTPUT = '/api/macro/getInfoEqptDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'400INFOEQPTDATAIMPTEXPT = '/api/macro/getInfoEqptDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'401HOUSEHOLDAPLSDATASALESOUTPUT = '/api/macro/getHouseholdAplsDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'402HOUSEHOLDAPLSDATAIMPTEXPT = '/api/macro/getHouseholdAplsDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'403INFOSERVDATASOFTWARE = '/api/macro/getInfoServDataSoftware.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'404INFOSERVDATACOMM = '/api/macro/getInfoServDataComm.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'405INFOSERVDATAINTERNET = '/api/macro/getInfoServDataInternet.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'406REALESTDATAPRICE = '/api/macro/getRealEstDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'407REALESTDATAINVESTDVPT = '/api/macro/getRealEstDataInvestDvpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'408REALESTDATALAND = '/api/macro/getRealEstDataLand.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'409REALESTDATASALES = '/api/macro/getRealEstDataSales.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'410BLDGMATERDATAPRICE = '/api/macro/getBldgMaterDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'411BLDGMATERDATASALESOUTPUT = '/api/macro/getBldgMaterDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'412MCHNREQPTDATASALESOUTPUT = '/api/macro/getMchnrEqptDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'413MCHNREQPTDATAIMPTEXPT = '/api/macro/getMchnrEqptDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'414BANKDATAASSETSLIABILITIES = '/api/macro/getBankDataAssetsLiabilities.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'415BANKDATANONPERFORMINGLOANS = '/api/macro/getBankDataNonPerformingLoans.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'416SECURITIESDATAOPERINDIC = '/api/macro/getSecuritiesDataOperIndic.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'417INSDATAPREMPRYINSURANCE = '/api/macro/getInsDataPremPryInsurance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'418INSDATACLAIMPAYMENT = '/api/macro/getInsDataClaimPayment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'419INSDATAFUNDBALANCE = '/api/macro/getInsDataFundBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'420INSDATAASSETS = '/api/macro/getInsDataAssets.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'421ECOMMERCEDATAYILI = '/api/macro/getEcommerceDataYili.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'422ECOMMERCEDATAGUANGMING = '/api/macro/getEcommerceDataGuangming.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'423ECOMMERCEDATACHENGDELOLO = '/api/macro/getEcommerceDataChengDeLolo.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'424ECOMMERCEDATAQIAQIA = '/api/macro/getEcommerceDataQiaqia.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'425ECOMMERCEDATAVVGROUP = '/api/macro/getEcommerceDataVVGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'426ECOMMERCEDATAJINFENGWINE = '/api/macro/getEcommerceDataJinfengWine.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'427ECOMMERCEDATAGUYUELONGSHAN = '/api/macro/getEcommerceDataGuyueLongshan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'428ECOMMERCEDATASHANXIFENJIU = '/api/macro/getEcommerceDataShanxiFenjiu.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'429ECOMMERCEDATAZHANGYUA = '/api/macro/getEcommerceDataZhangyuA.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'430ECOMMERCEDATAMOGAO = '/api/macro/getEcommerceDataMogao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'431ECOMMERCEDATAKEMENNOODLEMFG = '/api/macro/getEcommerceDataKemenNoodleMFG.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'432ECOMMERCEDATAJINZIHAM = '/api/macro/getEcommerceDataJinziHam.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'433ECOMMERCEDATALOTUS = '/api/macro/getEcommerceDataLotus.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'434ECOMMERCEDATABEIYINMATE = '/api/macro/getEcommerceDataBeiyinMate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'435ECOMMERCEDATAQINGDAOHAIER = '/api/macro/getEcommerceDataQingdaoHaier.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'436ECOMMERCEDATATCLGROUP = '/api/macro/getEcommerceDataTCLGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'437ECOMMERCEDATAMIDEAGROUP = '/api/macro/getEcommerceDataMideaGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'438ECOMMERCEDATAWHIRLPOOL = '/api/macro/getEcommerceDataWhirlpool.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'439ECOMMERCEDATAJOYOUNG = '/api/macro/getEcommerceDataJoyoung.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'440ECOMMERCEDATAVATTI = '/api/macro/getEcommerceDataVatti.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'441ECOMMERCEDATASUPOR = '/api/macro/getEcommerceDataSupor.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'442ECOMMERCEDATAKONKA = '/api/macro/getEcommerceDataKonka.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'443ECOMMERCEDATACHANGHONG = '/api/macro/getEcommerceDataChanghong.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'444ECOMMERCEDATALITTLESWAN = '/api/macro/getEcommerceDataLittleSwan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'445ECOMMERCEDATAMEILING = '/api/macro/getEcommerceDataMeiling.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'446ECOMMERCEDATAZTE = '/api/macro/getEcommerceDataZTE.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'447ECOMMERCEDATADATANGTELECOM = '/api/macro/getEcommerceDataDatangTelecom.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'448ECOMMERCEDATABIRD = '/api/macro/getEcommerceDataBird.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'449ECOMMERCEDATADAHUATECHNOLOGY = '/api/macro/getEcommerceDataDahuaTechnology.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'450ECOMMERCEDATATSINGHUATONGFANG = '/api/macro/getEcommerceDataTsinghuaTongfang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'451ECOMMERCEDATAHEDY = '/api/macro/getEcommerceDataHedy.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'452ECOMMERCEDATAHADAY = '/api/macro/getEcommerceDataHaday.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'453ECOMMERCEDATAYANJINGBEER = '/api/macro/getEcommerceDataYanjingBeer.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'454ECOMMERCEDATAMAIQUER = '/api/macro/getEcommerceDataMaiquer.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'455ECOMMERCEDATACITICGUOANWINE = '/api/macro/getEcommerceDataCiticGuoanWine.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'456ECOMMERCEDATAQINGQINGBARLEYWINE = '/api/macro/getEcommerceDataQingqingBarleyWine.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'457ECOMMERCEDATAHAOXIANGNI = '/api/macro/getEcommerceDataHaoxiangni.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'458ECOMMERCEDATAFULINGZHACAI = '/api/macro/getEcommerceDataFulingZhacai.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'459ECOMMERCEDATAHUANGSHANGHUANG = '/api/macro/getEcommerceDataHuangshanghuang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'460ECOMMERCEDATAHAINANYEDAO = '/api/macro/getEcommerceDataHainanYedao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'461ECOMMERCEDATASHUANGTAFOOD = '/api/macro/getEcommerceDataShuangtaFood.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'462ECOMMERCEDATAJIUGUILIQUOR = '/api/macro/getEcommerceDataJiuguiLiquor.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'463ECOMMERCEDATABLACKSESAME = '/api/macro/getEcommerceDataBlackSesame.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'464ECOMMERCEDATAKINGSLUCK = '/api/macro/getEcommerceDataKingsLuck.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'465ECOMMERCEDATALAOBAIGANLIQUOR = '/api/macro/getEcommerceDataLaobaiganLiquor.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'466ECOMMERCEDATASHUANGHUIDVPT = '/api/macro/getEcommerceDataShuanghuiDvpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'467OPT = '/api/options/getOpt.csv?contractStatus=%s&optID=%s&secID=%s&ticker=%s&varSecID=%s&varticker=%s&field=%s'468MKTOPTD = '/api/market/getMktOptd.csv?optID=%s&secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'469SOCIALDATAXQ = '/api/subject/getSocialDataXQ.csv?beginDate=%s&endDate=%s&ticker=%s&field=%s'470SOCIALDATAXQBYTICKER = '/api/subject/getSocialDataXQByTicker.csv?ticker=%s&field=%s'471SOCIALDATAXQBYDATE = '/api/subject/getSocialDataXQByDate.csv?statisticsDate=%s&field=%s'472OPTVAR = '/api/options/getOptVar.csv?exchangeCD=%s&secID=%s&ticker=%s&contractType=%s&exerType=%s&field=%s'473NEWSINFO = '/api/subject/getNewsInfo.csv?newsID=%s&field=%s'474NEWSINFOBYTIME = '/api/subject/getNewsInfoByTime.csv?newsPublishDate=%s&beginTime=%s&endTime=%s&field=%s'475NEWSCONTENT = '/api/subject/getNewsContent.csv?newsID=%s&field=%s'476NEWSCONTENTBYTIME = '/api/subject/getNewsContentByTime.csv?newsPublishDate=%s&beginTime=%s&endTime=%s&field=%s'477COMPANYBYNEWS = '/api/subject/getCompanyByNews.csv?newsID=%s&field=%s'478NEWSBYCOMPANY = '/api/subject/getNewsByCompany.csv?partyID=%s&beginDate=%s&endDate=%s&field=%s'479TICKERSBYNEWS = '/api/subject/getTickersByNews.csv?newsID=%s&field=%s'480NEWSBYTICKERS = '/api/subject/getNewsByTickers.csv?secID=%s&secShortName=%s&ticker=%s&beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'481MKTEQUDADJ = '/api/market/getMktEqudAdj.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'482MKTADJF = '/api/market/getMktAdjf.csv?secID=%s&ticker=%s&field=%s'483OPTIONTICKRTSNAPSHOT = '/api/market/getOptionTickRTSnapshot.csv?optionId=%s&field=%s'484FUTUREBARRTINTRADAY = '/api/market/getFutureBarRTIntraDay.csv?instrumentID=%s&endTime=%s&startTime=%s&field=%s'485MKTFUTDVOL = '/api/market/getMktFutdVol.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'486THEMESCONTENT = '/api/subject/getThemesContent.csv?isMain=%s&themeID=%s&themeName=%s&themeSource=%s&field=%s'487TICKERSBYTHEMES = '/api/subject/getTickersByThemes.csv?themeID=%s&themeName=%s&beginDate=%s&endDate=%s&isNew=%s&field=%s'488THEMESTICKERSINSERT = '/api/subject/getThemesTickersInsert.csv?themeID=%s&themeName=%s&beginDate=%s&endDate=%s&field=%s'489THEMESTICKERSDELETE = '/api/subject/getThemesTickersDelete.csv?themeID=%s&themeName=%s&beginDate=%s&endDate=%s&field=%s'490THEMESBYTICKERS = '/api/subject/getThemesByTickers.csv?secID=%s&secShortName=%s&ticker=%s&beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'491THEMESPERIOD = '/api/subject/getThemesPeriod.csv?isLatest=%s&themeID=%s&themeName=%s&field=%s'492ACTIVETHEMES = '/api/subject/getActiveThemes.csv?date=%s&field=%s'493THEMESSIMILARITY = '/api/subject/getThemesSimilarity.csv?themeID=%s&themeName=%s&field=%s'494THEMESHEAT = '/api/subject/getThemesHeat.csv?themeID=%s&themeName=%s&beginDate=%s&endDate=%s&field=%s'495SECTORTHEMESBYTICKERS = '/api/subject/getSectorThemesByTickers.csv?secID=%s&secShortName=%s&ticker=%s&beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'496WEBTHEMESBYTICKERS = '/api/subject/getWebThemesByTickers.csv?secID=%s&secShortName=%s&ticker=%s&beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'497MKTEQUDLATELY = '/api/market/getMktEqudLately.csv?field=%s'498FDMTISLATELY = '/api/fundamental/getFdmtISLately.csv?field=%s'499NEWSHEATINDEX = '/api/subject/getNewsHeatIndex.csv?beginDate=%s&endDate=%s&exchangeCD=%s&secID=%s&secShortName=%s&ticker=%s&field=%s'500NEWSSENTIMENTINDEX = '/api/subject/getNewsSentimentIndex.csv?beginDate=%s&endDate=%s&exchangeCD=%s&secID=%s&secShortName=%s&ticker=%s&field=%s'501SECTYPEREL = '/api/master/getSecTypeRel.csv?secID=%s&ticker=%s&typeID=%s&field=%s'502REPORTBYTICKER = '/api/subject/getReportByTicker.csv?ticker=%s&beginDate=%s&endDate=%s&field=%s'503REPORTBYCATEGORY = '/api/subject/getReportByCategory.csv?beginDate=%s&Category=%s&endDate=%s&field=%s'504REPORTCONTENT = '/api/subject/getReportContent.csv?ticker=%s&beginDate=%s&endDate=%s&field=%s'505MKTLIMIT = '/api/market/getMktLimit.csv?secID=%s&ticker=%s&tradeDate=%s&field=%s'506ECOMMERCEDATAWULIANGYE = '/api/macro/getEcommerceDataWuliangye.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'507ECOMMERCEDATAGREE = '/api/macro/getEcommerceDataGree.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'508ECOMMERCEDATAHISENSEELECTRIC = '/api/macro/getEcommerceDataHisenseElectric.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'509ECOMMERCEDATAHISENSE = '/api/macro/getEcommerceDataHisense.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'510ECOMMERCEDATAJIAJIAFOOD = '/api/macro/getEcommerceDataJiajiaFood.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'511ECOMMERCEDATAROBAM = '/api/macro/getEcommerceDataRobam.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'512ECOMMERCEDATAASD = '/api/macro/getEcommerceDataASD.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'513ECOMMERCEDATAMACRO = '/api/macro/getEcommerceDataMacro.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'514ECOMMERCEDATAELECPRO = '/api/macro/getEcommerceDataElecpro.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'515ECOMMERCEDATASANGLEJIN = '/api/macro/getEcommerceDataSanglejin.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'516ECOMMERCEDATAHOMA = '/api/macro/getEcommerceDataHoma.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'517ECOMMERCEDATALONGDAMEAT = '/api/macro/getEcommerceDataLongdaMeat.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'518ECOMMERCEDATABYHEALTH = '/api/macro/getEcommerceDataByHealth.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'519ECOMMERCEDATAHAIXIN = '/api/macro/getEcommerceDataHaixin.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'520ECOMMERCEDATAVANWARD = '/api/macro/getEcommerceDataVanward.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'521ECOMMERCEDATAMEIDA = '/api/macro/getEcommerceDataMeida.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'522ECOMMERCEDATAHENGSHUNVINEGARINDUSTRY = '/api/macro/getEcommerceDataHengshunVinegarindustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'523ECOMMERCEDATASHUIJINGFANG = '/api/macro/getEcommerceDataShuijingfang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'524ECOMMERCEDATACHUNLAN = '/api/macro/getEcommerceDataChunlan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'525ECOMMERCEDATAYILITE = '/api/macro/getEcommerceDataYilite.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'526ECOMMERCEDATAHUANGSHI = '/api/macro/getEcommerceDataHuangshi.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'527ECOMMERCEDATAYANGHE = '/api/macro/getEcommerceDataYanghe.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'528ECOMMERCEDATASANYUAN = '/api/macro/getEcommerceDataSanyuan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'529ECOMMERCEDATATUOPAISHEDE = '/api/macro/getEcommerceDataTuopaiShede.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'530ECOMMERCEDATAKUAIJISHAN = '/api/macro/getEcommerceDataKuaijishan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'531ECOMMERCEDATATONGHUA = '/api/macro/getEcommerceDataTonghua.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'532ECOMMERCEDATAKWEICHOWMOUTAIGROUP = '/api/macro/getEcommerceDataKweichowMoutaiGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'533ECOMMERCEDATATSINGTAO = '/api/macro/getEcommerceDataTsingTao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'534ACTIVETHEMESINSERT = '/api/subject/getActiveThemesInsert.csv?beginDate=%s&endDate=%s&isLatest=%s&themeSource=%s&field=%s'535ACTIVETHEMESDELETE = '/api/subject/getActiveThemesDelete.csv?beginDate=%s&endDate=%s&isLatest=%s&themeSource=%s&field=%s'536EQUINFO = '/api/master/getEquInfo.csv?ticker=%s&field=%s'537SECTIPS = '/api/market/getSecTips.csv?tipsTypeCD=%s&field=%s'538THEMESCLUSTER = '/api/subject/getThemesCluster.csv?isMain=%s&themeID=%s&themeName=%s&field=%s'539THEMESBYNEWS = '/api/subject/getThemesByNews.csv?insertDate=%s&insertDate=%s&newsID=%s&beginTime=%s&endTime=%s&field=%s'540BARRTINTRADAYONEMINUTE = '/api/market/getBarRTIntraDayOneMinute.csv?time=%s&field=%s'541EQURTRANK = '/api/market/getEquRTRank.csv?desc=%s&exchangeCD=%s&field=%s'542ECOMMERCEDATAGUJING = '/api/macro/getEcommerceDataGujing.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'543ECOMMERCEDATALUZHOULAOJIAO = '/api/macro/getEcommerceDataLuzhouLaojiao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'544ECOMMERCEDATASHANGHAIMALING = '/api/macro/getEcommerceDataShanghaiMaling.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'545ECOMMERCEDATABLACKCATTLEFOOD = '/api/macro/getEcommerceDataBlackCattleFood.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'546ECOMMERCEDATADELISI = '/api/macro/getEcommerceDataDelisi.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'547ECOMMERCEDATASTARLAKEBIOSCIENCE = '/api/macro/getEcommerceDataStarLakeBioscience.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'548ECOMMERCEDATAJONJEEHITECH = '/api/macro/getEcommerceDataJonjeeHiTech.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'549ECOMMERCEDATACRSANJIU = '/api/macro/getEcommerceDataCRSanjiu.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'550ECOMMERCEDATAJIUZHITANG = '/api/macro/getEcommerceDataJiuzhitang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'551ECOMMERCEDATAFUANNA = '/api/macro/getEcommerceDataFuanna.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'552ECOMMERCEDATALUOLAI = '/api/macro/getEcommerceDataLuolai.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'553ECOMMERCEDATAGUIRENNIAO = '/api/macro/getEcommerceDataGuirenniao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'554ECOMMERCEDATABAOXINIAO = '/api/macro/getEcommerceDataBaoxiniao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'555ECOMMERCEDATALAOFENGXIANG = '/api/macro/getEcommerceDataLaofengxiang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'556ECOMMERCEDATAFIYTAA = '/api/macro/getEcommerceDataFiytaA.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'557ECOMMERCEDATAGOLDLEAFJEWELRY = '/api/macro/getEcommerceDataGoldleafJewelry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'558ECOMMERCEDATACOMIXGROUP = '/api/macro/getEcommerceDataComixGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'559ECOMMERCEDATAYAOJIPLAYINGCARD = '/api/macro/getEcommerceDataYaojiPlayingCard.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'560ECOMMERCEDATAMGSTATIONERY = '/api/macro/getEcommerceDataMGStationery.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'561ECOMMERCEDATACS = '/api/macro/getEcommerceDataCS.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'562ECOMMERCEDATAEDIFIER = '/api/macro/getEcommerceDataEdifier.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'563ECOMMERCEDATAHIKVISION = '/api/macro/getEcommerceDataHikVision.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'564ECOMMERCEDATASOLAREAST = '/api/macro/getEcommerceDataSolareast.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'565ECOMMERCEDATACHIGO = '/api/macro/getEcommerceDataChigo.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'566ECOMMERCEDATAAUCMA = '/api/macro/getEcommerceDataAucma.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'567THEMESBYNEWSCOMPANYREL = '/api/subject/getThemesByNewsCompanyRel.csv?insertDate=%s&insertDate=%s&newsID=%s&beginTime=%s&endTime=%s&field=%s'568THEMESINSERTDB = '/api/subject/getThemesInsertDB.csv?beginDate=%s&endDate=%s&themeSource=%s&field=%s'569THEMESBYNEWSLF = '/api/subject/getThemesByNewsLF.csv?insertDate=%s&insertDate=%s&newsID=%s&beginTime=%s&endTime=%s&field=%s'570THEMESBYNEWSMF = '/api/subject/getThemesByNewsMF.csv?insertDate=%s&insertDate=%s&newsID=%s&beginTime=%s&endTime=%s&field=%s'571INDUSTRYTICKRTSNAPSHOT = '/api/market/getIndustryTickRTSnapshot.csv?securityID=%s&field=%s'572NEWSINFOBYINSERTTIME = '/api/subject/getNewsInfoByInsertTime.csv?newsInsertDate=%s&beginTime=%s&endTime=%s&field=%s'573NEWSCONTENTBYINSERTTIME = '/api/subject/getNewsContentByInsertTime.csv?newsInsertDate=%s&beginTime=%s&endTime=%s&field=%s'574SECTYPEREGIONREL = '/api/master/getSecTypeRegionRel.csv?secID=%s&ticker=%s&typeID=%s&field=%s'575SECTYPE = '/api/master/getSecType.csv?field=%s'576SECTYPEREGION = '/api/master/getSecTypeRegion.csv?field=%s'577SOCIALDATAGUBA = '/api/subject/getSocialDataGuba.csv?beginDate=%s&endDate=%s&ticker=%s&field=%s'578SOCIALTHEMEDATAGUBA = '/api/subject/getSocialThemeDataGuba.csv?beginDate=%s&endDate=%s&themeID=%s&field=%s'579FUNDSHARESCHG = '/api/fund/getFundSharesChg.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'580THEMESBYNEWSTIME = '/api/subject/getThemesByNewsTime.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'581THEMESBYNEWSTIMECOMPANYREL = '/api/subject/getThemesByNewsTimeCompanyRel.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'582THEMESBYNEWSTIMELF = '/api/subject/getThemesByNewsTimeLF.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'583THEMESBYNEWSTIMEMF = '/api/subject/getThemesByNewsTimeMF.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'584MKTFUNDDADJAF = '/api/market/getMktFunddAdjAf.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'585REPORTCONTENTBYID = '/api/subject/getReportContentByID.csv?reportID=%s&field=%s'586THEMESBYNEWS2 = '/api/subject/getThemesByNews2.csv?insertBeginTime=%s&insertEndTime=%s&newsID=%s&field=%s'587THEMESBYNEWSTIME2 = '/api/subject/getThemesByNewsTime2.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'588SYSCODE = '/api/master/getSysCode.csv?codeTypeID=%s&valueCD=%s&field=%s'589FUNDLEVERAGEINFO = '/api/fund/getFundLeverageInfo.csv?exchangeCDLeverage=%s&secID=%s&ticker=%s&field=%s'590SECST = '/api/equity/getSecST.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'591DERIV = '/api/IV/getDerIv.csv?beginDate=%s&endDate=%s&optID=%s&SecID=%s&field=%s'592DERIVHV = '/api/IV/getDerIvHv.csv?beginDate=%s&endDate=%s&SecID=%s&period=%s&field=%s'593DERIVINDEX = '/api/IV/getDerIvIndex.csv?beginDate=%s&endDate=%s&SecID=%s&period=%s&field=%s'594DERIVIVPDELTA = '/api/IV/getDerIvIvpDelta.csv?beginDate=%s&endDate=%s&SecID=%s&delta=%s&period=%s&field=%s'595DERIVPARAM = '/api/IV/getDerIvParam.csv?beginDate=%s&endDate=%s&SecID=%s&expDate=%s&field=%s'596DERIVRAWDELTA = '/api/IV/getDerIvRawDelta.csv?beginDate=%s&endDate=%s&SecID=%s&delta=%s&period=%s&field=%s' ...

Full Screen

Full Screen

ctrl_gen.py

Source:ctrl_gen.py Github

copy

Full Screen

1#!/usr/bin/python 2import math3from ctrl_func import *4##########################################################5print "//##########################################################"6print "// Generated Fowarding Adder Network Controller (FAN topology routing)"7print "// Author: Eric Qin"8print "// Contact: ecqin@gatech.edu"9print "//##########################################################\n\n"10##########################################################11##########################################################12# Generating module initization and input/output ports13##########################################################14print "module fan_ctrl # ("15print "\tparameter DATA_TYPE = ", OUT_DATA_TYPE, ","16print "\tparameter NUM_PES = ", NUM_PES, ","17print "\tparameter LOG2_PES = ", LOG2_PES, ") ("18print "\tclk,"19print "\trst,"20print "\ti_vn," # different partial sum bit seperator21print "\ti_stationary," # determine if input is for stationary or streaming 22print "\ti_data_valid," # if input data is valid or not23print "\to_reduction_add," # if adder needs to add24print "\to_reduction_cmd," # reduction command (VN outputs)25print "\to_reduction_sel," # reduction select for the N-2 muxes26print "\to_reduction_valid" # if reduction output from FAN is valid or not27print ");" 28print "\tinput clk;"29print "\tinput rst;"30print "\tinput [NUM_PES*LOG2_PES-1: 0] i_vn; // different partial sum bit seperator"31print "\tinput i_stationary; // if input data is for stationary or streaming"32print "\tinput i_data_valid; // if input data is valid or not"33print "\toutput reg [(NUM_PES-1)-1:0] o_reduction_add; // determine to add or not"34print "\toutput reg [3*(NUM_PES-1)-1:0] o_reduction_cmd; // reduction command (for VN commands)"35NUM_SEL_BITS = get_sel_bits()36print "\toutput reg [" + str(int(NUM_SEL_BITS- 1)) + " : 0] o_reduction_sel; // select bits for FAN topology"37print "\toutput reg o_reduction_valid; // if reduction output from FAN is valid or not\n"38##########################################################39# Generate wire and reg declarations 40##########################################################41# not flopped cmd and sel signals42print "\t// reduction cmd and sel control bits (not flopped for timing yet)"43print "\treg [(NUM_PES-1)-1:0] r_reduction_add;"44print "\treg [3*(NUM_PES-1)-1:0] r_reduction_cmd;"45print "\treg [" + str(int(NUM_SEL_BITS - 1)) + " : 0] r_reduction_sel;"46print "\n"47# diagonal flops for timing leveling (adder en signal)48print "\t// diagonal flops for timing fix across different levels in tree (add_en signal)"49for i in range(LOG2_PES):50 add_max_range = get_adder_lvl(i)51 print "\treg [" + str(add_max_range) + " : 0] r_add_lvl_" + str(i) + ";"52print "\n"53# diagonal flops for timing leveling (cmd signal)54print "\t// diagonal flops for timing fix across different levels in tree (cmd signal)"55for i in range(LOG2_PES):56 max_range = get_cmd_lvl(i)57 print "\treg [" + str(max_range) + " : 0] r_cmd_lvl_" + str(i) + ";"58print "\n"59 60# diagonal flops for timing leveling (sel signal)61print "\t// diagonal flops for timing fix across different levels in tree (sel signal)"62for i in range(LOG2_PES-2):63 max_range = get_sel_lvl(i+2) # plus two as first two levels do not need sel64 print "\treg [" + str(max_range) + " : 0] r_sel_lvl_" + str(i+2) + ";"65print "\n"66# timing alignment signals for i_vn delay and for output valid67VALID_DELAY = 4 # test which value works for timing alignment68CMD_SEL_DELAY = 2 # test which value works for timing alignment69print "\t// timing alignment for i_vn delay and for output valid"70print "\treg [" + str(CMD_SEL_DELAY) + "*NUM_PES*LOG2_PES-1:0] r_vn;"71print "\treg [NUM_PES*LOG2_PES-1:0] w_vn;"72print "\treg [" + str(VALID_DELAY) + " : 0 ] r_valid;" 73print "\n"74##########################################################75# Generate FF for i_vn cycle delays76##########################################################77print "\tgenvar i, x;;"78# add flip flops to delay i_vn79print "\t// add flip flops to delay i_vn"80print "\tgenerate"81print "\t\tfor (i=0; i < " + str(CMD_SEL_DELAY) + "; i=i+1) begin : vn_ff"82print "\t\t\tif (i == 0) begin: pass"83print "\t\t\t\talways @ (posedge clk) begin"84print "\t\t\t\t\tif (rst == 1'b1) begin"85print "\t\t\t\t\t\tr_vn[(i+1)*NUM_PES*LOG2_PES-1:i*NUM_PES*LOG2_PES] <= 'd0;"86print "\t\t\t\t\tend else begin"87print "\t\t\t\t\t\tr_vn[(i+1)*NUM_PES*LOG2_PES-1:i*NUM_PES*LOG2_PES] <= i_vn;"88print "\t\t\t\t\tend"89print "\t\t\t\tend"90print "\t\t\tend else begin: flop"91print "\t\t\t\talways @ (posedge clk) begin"92print "\t\t\t\t\tif (rst == 1'b1) begin"93print "\t\t\t\t\t\tr_vn[(i+1)*NUM_PES*LOG2_PES-1:i*NUM_PES*LOG2_PES] <= 'd0;"94print "\t\t\t\t\tend else begin"95print "\t\t\t\t\t\tr_vn[(i+1)*NUM_PES*LOG2_PES-1:i*NUM_PES*LOG2_PES] <= r_vn[i*NUM_PES*LOG2_PES-1:(i-1)*NUM_PES*LOG2_PES];"96print "\t\t\t\t\tend"97print "\t\t\t\tend"98print "\t\t\tend"99print "\t\tend"100print "\tendgenerate\n"101# assign last flop to w_vn102print "\t// assign last flop to w_vn"103print "\talways @(*) begin"104print "\t\tw_vn = r_vn[" + str(CMD_SEL_DELAY) + "*NUM_PES*LOG2_PES-1:" + str(CMD_SEL_DELAY-1) + "*NUM_PES*LOG2_PES];" 105print "\tend"106print "\n"107##########################################################108##########################################################109##########################################################110# Controller Logic to Compute CMD and SEL bits for each adder111##########################################################112for i in range(LOG2_PES):113 print "\t// generating control bits for lvl: " + str(i)114 if ( i < LOG2_PES -1): 115 print "\t// Note: lvl 0 and 1 do not require sel bits"116 print "\tgenerate"117 print "\t\tfor (x=0; x < " + str(NUM_PES >> (i+1)) + "; x=x+1) begin: adders_lvl_" + str(i)118 ############################################### LEFT CASE ###########################################119 print "\t\t\tif (x == 0) begin: l_edge_case"120 print "\t\t\t\talways @ (*) begin"121 print "\t\t\t\t\tif (rst == 1'b1) begin"122 print "\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 'd0;"123 print "\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 'd0;"124 if (i > 1): # need select logic for level 2 and over125 print "\t\t\t\t\t\t" + generate_sel_range(i, "full") + " = 'd0;"126 print "\t\t\t\t\tend else begin"127 print "\t\t\t\t\t\t// generate cmd logic"128 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"129 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "add", "left") + ") begin"130 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b1; // add enable"131 print "\t\t\t\t\t\t\tend else begin"132 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"133 print "\t\t\t\t\t\t\tend"134 print "\n"135 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "bothpass", "left") + ") begin"136 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b101; // both vn done"137 if (i > 0):138 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "middle") + ") begin"139 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; // right vn done"140 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "left") + ") begin"141 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; // left vn done" 142 else: 143 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "left") + ") begin"144 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; // left vn done"145 print "\t\t\t\t\t\t\tend else begin"146 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; // nothing"147 print "\t\t\t\t\t\t\tend"148 print "\t\t\t\t\t\tend else begin"149 print "\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"150 print "\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; // nothing"151 print "\t\t\t\t\t\tend\n"152 if (i > 1): # need select logic153 print "\t\t\t\t\t\t// generate left select logic"154 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"155 print generate_sel_statement(i, "left", "no")156 print "\t\t\t\t\t\tend else begin"157 print generate_sel_statement(i, "left", "yes")158 print "\t\t\t\t\t\tend\n"159 print "\n\t\t\t\t\t\t// generate right select logic"160 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"161 print generate_sel_statement(i, "right", "no")162 print "\t\t\t\t\t\tend else begin"163 print generate_sel_statement(i, "right", "yes")164 print "\t\t\t\t\t\tend\n"165 print "\t\t\t\t\tend"166 print "\t\t\t\tend"167 ############################################### RIGHT CASE ###########################################168 print "\t\t\tend else if (x == " + str((NUM_PES >> (i+1)) -1 ) + ") begin: r_edge_case"169 print "\t\t\t\talways @ (*) begin"170 print "\t\t\t\t\tif (rst == 1'b1) begin"171 print "\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 'd0;"172 print "\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 'd0;"173 if (i > 1): # need select logic for level 2 and over174 print "\t\t\t\t\t\t" + generate_sel_range(i, "full") + " = 'd0;" 175 print "\t\t\t\t\tend else begin"176 print "\t\t\t\t\t\t// generate cmd logic"177 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"178 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "add", "right") + ") begin"179 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b1; // add enable"180 print "\t\t\t\t\t\t\tend else begin"181 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"182 print "\t\t\t\t\t\t\tend"183 print "\n"184 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "bothpass", "right") + ") begin"185 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b101; // both vn done"186 if (i > 0):187 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "middle") + ") begin"188 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; // left vn done"189 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "right") + ") begin"190 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; // right vn done" 191 else: 192 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "right") + ") begin"193 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; // right vn done"194 print "\t\t\t\t\t\t\tend else begin"195 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; // nothing"196 print "\t\t\t\t\t\t\tend\n"197 print "\t\t\t\t\t\tend else begin"198 print "\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"199 print "\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; // nothing"200 print "\t\t\t\t\t\tend\n"201 if (i > 1): # need select logic202 print "\t\t\t\t\t\t// generate left select logic"203 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"204 print generate_sel_statement(i, "left", "no")205 print "\t\t\t\t\t\tend else begin"206 print generate_sel_statement(i, "left", "yes")207 print "\t\t\t\t\t\tend\n"208 print "\n\t\t\t\t\t\t// generate right select logic"209 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"210 print generate_sel_statement(i, "right", "no")211 print "\t\t\t\t\t\tend else begin"212 print generate_sel_statement(i, "right", "yes")213 print "\t\t\t\t\t\tend\n"214 print "\t\t\t\t\tend"215 print "\t\t\t\tend" 216 ############################################### NORMAL ###########################################217 print "\t\t\tend else begin: normal"218 print "\t\t\t\talways @ (*) begin"219 print "\t\t\t\t\tif (rst == 1'b1) begin"220 print "\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 'd0;"221 print "\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 'd0;"222 if (i > 1): # need select logic for level 2 and over223 print "\t\t\t\t\t\t" + generate_sel_range(i, "full") + " = 'd0;"224 print "\t\t\t\t\tend else begin"225 print "\t\t\t\t\t\t// generate cmd logic"226 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"227 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "add", "middle") + ") begin"228 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b1; // add enable"229 print "\t\t\t\t\t\t\tend else begin"230 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"231 print "\t\t\t\t\t\t\tend"232 print "\n"233 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "bothpass", "middle") + ") begin"234 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b101; // both vn done"235 if (i > 0):236 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "middle") + ") begin"237 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; // right vn done"238 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "middle") + ") begin"239 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; // left vn done" 240 else:241 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "middle") + ") begin"242 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; // right vn done"243 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "middle") + ") begin"244 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; // left vn done"245 print "\t\t\t\t\t\t\tend else begin"246 if (i == 0): # bypass247 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b001; // bypass"248 else: # no bypass needed249 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; // nothing"250 print "\t\t\t\t\t\t\tend\n"251 print "\t\t\t\t\t\tend else begin"252 print "\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"253 print "\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; // nothing"254 print "\t\t\t\t\t\tend\n"255 if (i > 1): # need select logic256 print "\t\t\t\t\t\t// generate left select logic"257 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"258 print generate_sel_statement(i, "left", "no") 259 print "\t\t\t\t\t\tend else begin"260 print generate_sel_statement(i, "left", "yes")261 print "\t\t\t\t\t\tend\n"262 print "\n\t\t\t\t\t\t// generate right select logic"263 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"264 print generate_sel_statement(i, "right", "no")265 print "\t\t\t\t\t\tend else begin"266 print generate_sel_statement(i, "right", "yes")267 print "\t\t\t\t\t\tend\n"268 print "\t\t\t\t\tend"269 print "\t\t\t\tend" 270 print "\t\t\tend"271 print "\t\tend"272 print "\tendgenerate\n"273 ############################################### LAST LEVEL ###########################################274 else: # last level275 print "\tgenerate"276 print "\t\tfor (x=0; x < " + str(NUM_PES >> (i+1)) + "; x=x+1) begin: adders_lvl_" + str(i)277 print "\t\t\tif (x == 0) begin: middle_case"278 print "\t\t\t\talways @ (*) begin"279 print "\t\t\t\t\tif (rst == 1'b1) begin"280 print "\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 'd0;"281 print "\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 'd0;"282 if (i > 1): # need select logic for level 2 and over283 print "\t\t\t\t\t\t" + generate_sel_range(i, "full") + " = 'd0;"284 print "\t\t\t\t\tend else begin"285 print "\t\t\t\t\t\t// generate cmd logic"286 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"287 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "add", "last") + ") begin"288 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b1; // add enable"289 print "\t\t\t\t\t\t\tend else begin"290 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"291 print "\t\t\t\t\t\t\tend"292 print "\n"293 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "bothpass", "last") + ") begin"294 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b101; // both vn done"295 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "last") + ") begin"296 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; // right vn done"297 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "last") + ") begin"298 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; // left vn done"299 print "\t\t\t\t\t\t\tend else begin"300 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; // nothing"301 print "\t\t\t\t\t\t\tend\n"302 print "\t\t\t\t\t\tend else begin"303 print "\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"304 print "\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; // nothing"305 print "\t\t\t\t\t\tend\n"306 if (i > 1): # need select logic307 print "\t\t\t\t\t\t// generate left select logic"308 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"309 print generate_sel_statement(i, "left", "no")310 print "\t\t\t\t\t\tend else begin"311 print generate_sel_statement(i, "left", "yes")312 print "\t\t\t\t\t\tend\n"313 print "\n\t\t\t\t\t\t// generate right select logic"314 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"315 print generate_sel_statement(i, "right", "no")316 print "\t\t\t\t\t\tend else begin"317 print generate_sel_statement(i, "right", "yes")318 print "\t\t\t\t\t\tend\n"319 print "\t\t\t\t\tend"320 print "\t\t\t\tend"321 print "\t\t\tend"322 print "\t\tend"323 print "\tendgenerate\n"324print "\n"325##########################################################326# Generate diagonal flops cmd/sel timing alignment327##########################################################328# flops to adjust for timing329print "\t// generate diagonal flops for cmd and sel timing alignment"330print "\talways @ (posedge clk) begin"331print "\t\tif (rst == 1'b1) begin"332for i in range(LOG2_PES):333 print "\t\t\tr_add_lvl_" + str(i) + " <= 'd0;"334print "\n"335for i in range(LOG2_PES):336 print "\t\t\tr_cmd_lvl_" + str(i) + " <= 'd0;"337print "\n"338for i in range(LOG2_PES-2):339 print "\t\t\tr_sel_lvl_" + str(i+2) + " <= 'd0;"340print "\t\tend else begin"341for i in range(LOG2_PES):342 num_adder = num_adders_in_lvl(i)343 for j in range(i+1):344 if (j == 0):345 print "\t\t\tr_add_lvl_" + str(i) + "[" + str(num_adder-1) + ":0] <= r_reduction_add" + get_lvl_add_range(i) + ";"346 else:347 print "\t\t\tr_add_lvl_" + str(i) + "[" + str((j+1)*num_adder-1) + ":" + str(j*num_adder) + "] <= r_add_lvl_" + str(i) + "[" + str(j*num_adder-1) + ":" + str((j-1)*num_adder) + "];"348print "\n"349for i in range(LOG2_PES):350 num_adder = num_adders_in_lvl(i)351 for j in range(i+1):352 if (j == 0):353 print "\t\t\tr_cmd_lvl_" + str(i) + "[" + str(3*num_adder-1) + ":0] <= r_reduction_cmd" + get_lvl_cmd_range(i) + ";"354 else:355 print "\t\t\tr_cmd_lvl_" + str(i) + "[" + str((j+1)*3*num_adder-1) + ":" + str(j*3*num_adder) + "] <= r_cmd_lvl_" + str(i) + "[" + str(j*3*num_adder-1) + ":" + str((j-1)*3*num_adder) + "];"356print "\n"357for i in range(LOG2_PES-2):358 num_sel = num_sel_bits_in_lvl(i+2)359 for j in range(i+3):360 if (j == 0):361 print "\t\t\tr_sel_lvl_" + str(i+2) + "[" + str(num_sel-1) + ":0] <= r_reduction_sel" + get_lvl_sel_range(i+2) + ";"362 else:363 print "\t\t\tr_sel_lvl_" + str(i+2) + "[" + str((j+1)*num_sel-1) + ":" + str(j*num_sel) + "] <= r_sel_lvl_" + str(i+2) + "[" + str(j*num_sel-1) + ":" + str((j-1)*num_sel) + "];"364print "\t\tend" 365print "\tend"366print "\n"367##########################################################368# Assigning final outputs369##########################################################370# Adjust output valid timing and logic..371print "\t// Adjust output valid timing and logic"372print "\talways @ (posedge clk) begin"373print "\t\tif (i_stationary == 1'b0 && i_data_valid == 1'b1) begin"374print "\t\t\tr_valid[0] <= 1'b1;"375print "\t\tend else begin"376print "\t\t\tr_valid[0] <= 1'b0;"377print "\t\tend"378print "\tend\n"379print "\tgenerate"380print "\t\tfor (i=0; i < " + str(VALID_DELAY) + "; i=i+1) begin"381print "\t\t\talways @ (posedge clk) begin"382print "\t\t\t\tif (rst == 1'b1) begin"383print "\t\t\t\t\tr_valid[i+1] <= 1'b0;"384print "\t\t\t\tend else begin"385print "\t\t\t\t\tr_valid[i+1] <= r_valid[i];"386print "\t\t\t\tend"387print "\t\t\tend"388print "\t\tend"389print "\tendgenerate\n"390print "\talways @ (*) begin"391print "\t\tif (rst == 1'b1) begin"392print "\t\t\to_reduction_valid <= 1'b0;"393print "\t\tend else begin"394print "\t\t\to_reduction_valid <= r_valid[" + str(int(VALID_DELAY-1)) + "];"395print "\t\tend"396print "\tend\n"397# Assigning final outputs for both diagonal flopped cmd and sel398print "\t// assigning diagonally flopped cmd and sel"399print "\talways @ (posedge clk) begin"400print "\t\tif (rst == 1'b1) begin"401print "\t\t\to_reduction_add <= 'd0;"402print "\t\t\to_reduction_cmd <= 'd0;"403print "\t\t\to_reduction_sel <= 'd0;"404print "\t\tend else begin"405print "\t\t\to_reduction_add <= " + gen_o_reduction_add(LOG2_PES, NUM_PES)406print "\t\t\to_reduction_cmd <= " + gen_o_reduction_cmd(LOG2_PES, NUM_PES)407print "\t\t\to_reduction_sel <= " + gen_o_reduction_sel(LOG2_PES, NUM_PES)408print "\t\tend"409print "\tend\n"...

Full Screen

Full Screen

test_pass_merge_compiler_regions.py

Source:test_pass_merge_compiler_regions.py Github

copy

Full Screen

...34 otherwise both subgraphs would depend on the other.35 """36 def diamond_graph_fanouts():37 data = relay.var('data', shape=(10, 10))38 cb_1 = compiler_begin(data, "test")39 O_1 = relay.abs(cb_1)40 ce_1 = compiler_end(O_1, "test")41 ce_2 = compiler_end(O_1, "test")42 cb_2 = compiler_begin(ce_1, "test")43 cb_3 = compiler_begin(ce_2, "default")44 O_2 = relay.nn.relu(cb_2)45 ce_3 = compiler_end(O_2, "test")46 X = relay.tanh(cb_3)47 ce_4 = compiler_end(X, "default")48 cb_4 = compiler_begin(ce_3, "test")49 cb_5 = compiler_begin(ce_4, "test")50 O_3 = relay.add(cb_4, cb_5)51 ce_5 = compiler_end(O_3, "test")52 diamond = relay.Function([data], ce_5)53 return diamond54 def expected():55 data = relay.var('data', shape=(10, 10))56 cb_1 = compiler_begin(data, "test")57 O_1 = relay.abs(cb_1)58 ce_2 = compiler_end(O_1, "test")59 O_2 = relay.nn.relu(O_1)60 ce_3 = compiler_end(O_2, "test")61 cb_3 = compiler_begin(ce_2, "default")62 X = relay.tanh(cb_3)63 ce_4 = compiler_end(X, "default")64 cb_4 = compiler_begin(ce_3, "test")65 cb_5 = compiler_begin(ce_4, "test")66 O_3 = relay.add(cb_4, cb_5)67 ce_5 = compiler_end(O_3, "test")68 func = relay.Function([data], ce_5)69 return func70 result = run_opt_pass(diamond_graph_fanouts(), relay.transform.MergeCompilerRegions())71 golden = run_opt_pass(expected(), relay.transform.InferType())72 assert tvm.ir.structural_equal(result, golden)73def test_example_graph():74 """This tests the merging algorithm on the example used in the RFC.75 See the RFC here: https://discuss.tvm.ai/t/relay-improved-graph-partitioning-algorithm/583076 Blue nodes are adds (target: test), red nodes are subtracts (target: default).77 """78 def annotated():79 in_1 = relay.var('in_1', shape=(10, 10), dtype='float32')80 in_2 = relay.var('in_2', shape=(10, 10), dtype='float32')81 in_3 = relay.var('in_3', shape=(10, 10), dtype='float32')82 in_4 = relay.var('in_4', shape=(10, 10), dtype='float32')83 in_5 = relay.var('in_5', shape=(10, 10), dtype='float32')84 in_6 = relay.var('in_6', shape=(10, 10), dtype='float32')85 in_7 = relay.var('in_7', shape=(10, 10), dtype='float32')86 in_8 = relay.var('in_8', shape=(10, 10), dtype='float32')87 in_9 = relay.var('in_9', shape=(10, 10), dtype='float32')88 in_10 = relay.var('in_10', shape=(10, 10), dtype='float32')89 begin0 = compiler_begin(in_1, "test")90 begin1 = compiler_begin(in_2, "test")91 begin2 = compiler_begin(in_3, "test")92 begin3 = compiler_begin(in_4, "test")93 node0 = relay.add(begin0, begin1)94 node1 = relay.add(begin2, begin3)95 end0 = compiler_end(node0, "test")96 end1 = compiler_end(node1, "test")97 begin4 = compiler_begin(end0, "test")98 begin5 = compiler_begin(end1, "test")99 node2 = relay.add(begin4, begin5)100 end2 = compiler_end(node2, "test")101 dbegin0 = compiler_begin(in_5, "default")102 dbegin1 = compiler_begin(in_6, "default")103 node3 = relay.subtract(dbegin0, dbegin1)104 dbegin2 = compiler_begin(in_7, "default")105 dend1 = compiler_end(node3, "default")106 dbegin3 = compiler_begin(dend1, "default")107 node4 = relay.subtract(dbegin2, dbegin3)108 dend2 = compiler_end(node4, "default")109 begin6 = compiler_begin(end2, "test")110 begin7 = compiler_begin(dend2, "test")111 node5 = relay.add(begin6, begin7)112 end3 = compiler_end(node5, "test")113 end4 = compiler_end(node5, "test")114 dbegin4 = compiler_begin(in_8, "default")115 dbegin5 = compiler_begin(end3, "default")116 node6 = relay.subtract(dbegin4, dbegin5)117 begin8 = compiler_begin(in_9, "test")118 begin9 = compiler_begin(end4, "test")119 node7 = relay.add(begin8, begin9)120 end5 = compiler_end(node7, "test")121 dend3 = compiler_end(node6, "default")122 begin10 = compiler_begin(dend3, "test")123 begin11 = compiler_begin(end5, "test")124 node8 = relay.add(begin10, begin11)125 end6 = compiler_end(node8, "test")126 begin12 = compiler_begin(in_10, "test")127 begin13 = compiler_begin(end6, "test")128 node9 = relay.add(begin12, begin13)129 end7 = compiler_end(node9, "test")130 f = relay.Function([in_1, in_2, in_3, in_4, in_5, in_6, in_7, in_8, in_9, in_10], end7)131 mod = tvm.IRModule.from_expr(f)132 return mod133 def expected():134 in_1 = relay.var('in_1', shape=(10, 10), dtype='float32')135 in_2 = relay.var('in_2', shape=(10, 10), dtype='float32')136 in_3 = relay.var('in_3', shape=(10, 10), dtype='float32')137 in_4 = relay.var('in_4', shape=(10, 10), dtype='float32')138 in_5 = relay.var('in_5', shape=(10, 10), dtype='float32')139 in_6 = relay.var('in_6', shape=(10, 10), dtype='float32')140 in_7 = relay.var('in_7', shape=(10, 10), dtype='float32')141 in_8 = relay.var('in_8', shape=(10, 10), dtype='float32')142 in_9 = relay.var('in_9', shape=(10, 10), dtype='float32')143 in_10 = relay.var('in_10', shape=(10, 10), dtype='float32')144 begin0 = compiler_begin(in_1, "test")145 begin1 = compiler_begin(in_2, "test")146 begin2 = compiler_begin(in_3, "test")147 begin3 = compiler_begin(in_4, "test")148 node0 = relay.add(begin0, begin1)149 node1 = relay.add(begin2, begin3)150 node2 = relay.add(node0, node1)151 dbegin0 = compiler_begin(in_5, "default")152 dbegin1 = compiler_begin(in_6, "default")153 dbegin2 = compiler_begin(in_7, "default")154 node3 = relay.subtract(dbegin0, dbegin1)155 node4 = relay.subtract(dbegin2, node3)156 dend0 = compiler_end(node4, "default")157 begin4 = compiler_begin(dend0, "test")158 begin5 = compiler_begin(in_9, "test")159 node5 = relay.add(node2, begin4)160 end1 = compiler_end(node5, "test")161 dbegin4 = compiler_begin(end1, "default")162 dbegin5 = compiler_begin(in_8, "default")163 node6 = relay.subtract(dbegin5, dbegin4)164 dend1 = compiler_end(node6, "default")165 node7 = relay.add(begin5, node5)166 end2 = compiler_end(node7, "test")167 begin6 = compiler_begin(end2, "test")168 begin7 = compiler_begin(dend1, "test")169 node8 = relay.add(begin7, begin6)170 begin8 = compiler_begin(in_10, "test")171 node9 = relay.add(begin8, node8)172 end3 = compiler_end(node9, "test")173 f = relay.Function([in_1, in_2, in_3, in_4, in_5, in_6, in_7, in_8, in_9, in_10], end3)174 mod = tvm.IRModule.from_expr(f)175 return mod176 mod = annotated()177 mod = relay.transform.MergeCompilerRegions()(mod)178 ref_mod = expected()179 assert tvm.ir.structural_equal(mod, ref_mod)180if __name__ == "__main__":181 test_diamond_graph_fanouts()...

Full Screen

Full Screen

127.单词接龙.py

Source:127.单词接龙.py Github

copy

Full Screen

1# 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:2#3# 每次转换只能改变一个字母。4# 转换过程中的中间单词必须是字典中的单词。5# 说明:6#7# 如果不存在这样的转换序列,返回 0。8# 所有单词具有相同的长度。9# 所有单词只由小写字母组成。10# 字典中不存在重复的单词。11# 你可以假设 beginWord 和 endWord 是非空的,且二者不相同。12# 示例 1:13#14# 输入:15# beginWord = "hit",16# endWord = "cog",17# wordList = ["hot","dot","dog","lot","log","cog"]18#19# 输出: 520#21# 解释: 一个最短转换序列是 "hit" -> "hot" -> "dot" -> "dog" -> "cog",22# 返回它的长度 5。23# 基于上面的思路我们考虑如何编程实现。24#25# 首先为了方便表示,我们先给每一个单词标号,即给每个单词分配一个 id。创建一个由单词 word 到 id 对应的映射 wordId,并将 beginWord 与 wordList 中所有的单词都加入这个映射中。之后我们检查 endWord 是否在该映射内,若不存在,则输入无解。我们可以使用哈希表实现上面的映射关系。26#27# 然后我们需要建图,依据朴素的思路,我们可以枚举每一对单词的组合,判断它们是否恰好相差一个字符,以判断这两个单词对应的节点是否能够相连。但是这样效率太低,我们可以优化建图。28#29# 具体地,我们可以创建虚拟节点。对于单词 hit,我们创建三个虚拟节点 *it、h*t、hi*,并让 hit 向这三个虚拟节点分别连一条边即可。如果一个单词能够转化为 hit,那么该单词必然会连接到这三个虚拟节点之一。对于每一个单词,我们枚举它连接到的虚拟节点,把该单词对应的 id 与这些虚拟节点对应的 id 相连即可。30#31# 最后我们将起点加入队列开始广度优先搜索,当搜索到终点时,我们就找到了最短路径的长度。注意因为添加了虚拟节点,所以我们得到的距离为实际最短路径长度的两倍。同时我们并未计算起点对答案的贡献,所以我们应当返回距离的一半再加一的结果。32#33# 双向bfs34class Solution(object):35 def ladderLength(self, beginWord, endWord, wordList):36 """37 :type beginWord: str38 :type endWord: str39 :type wordList: List[str]40 :rtype: int41 """42 character = 'abcdefghijklmnopqrstuvwxyz'43 def dijkstra(new_list,unreached_list,endWord,count):44 if unreached_list==[] or new_list==[]:45 return 046 count = count + 147 list_return = []48 for i in range(len(new_list)):49 for j in range(len(new_list[i])):50 for k in character:51 temp = new_list[i]52 tmp1 = temp[:j]53 tmp2 = temp[j+1:]54 temp = tmp1+k+tmp255 if temp==new_list[i][j]:56 continue57 else:58 if temp in unreached_list:59 list_return.append(temp)60 if temp==endWord:61 return count62 del unreached_list[temp]63 return dijkstra(list_return,unreached_list,endWord,count)64 begin = []65 begin.append(beginWord)66 dict_unreach = {}67 for i in range(len(wordList)):68 if wordList[i] not in dict_unreach:69 dict_unreach[wordList[i]] = 170 return dijkstra(begin,dict_unreach,endWord,1)71import collections72class Solution:73 def ladderLength(self, beginWord, endWord, wordList) :74 def addWord(word):75 if word not in wordId:76 nonlocal nodeNum77 wordId[word] = nodeNum78 nodeNum += 179 def addEdge(word):80 addWord(word)81 id1 = wordId[word]82 chars = list(word)83 for i in range(len(chars)):84 tmp = chars[i]85 chars[i] = "*"86 newWord = "".join(chars)87 addWord(newWord)88 id2 = wordId[newWord]89 edge[id1].append(id2)90 edge[id2].append(id1)91 chars[i] = tmp92 wordId = dict()93 edge = collections.defaultdict(list)94 nodeNum = 095 for word in wordList:96 addEdge(word)97 addEdge(beginWord)98 if endWord not in wordId:99 return 0100 disBegin = [float("inf")] * nodeNum101 beginId = wordId[beginWord]102 disBegin[beginId] = 0103 queBegin = collections.deque([beginId])104 disEnd = [float("inf")] * nodeNum105 endId = wordId[endWord]106 disEnd[endId] = 0107 queEnd = collections.deque([endId])108 while queBegin or queEnd:109 queBeginSize = len(queBegin)110 for _ in range(queBeginSize):111 nodeBegin = queBegin.popleft()112 if disEnd[nodeBegin] != float("inf"):113 return (disBegin[nodeBegin] + disEnd[nodeBegin]) // 2 + 1114 for it in edge[nodeBegin]:115 if disBegin[it] == float("inf"):116 disBegin[it] = disBegin[nodeBegin] + 1117 queBegin.append(it)118 queEndSize = len(queEnd)119 for _ in range(queEndSize):120 nodeEnd = queEnd.popleft()121 if disBegin[nodeEnd] != float("inf"):122 return (disBegin[nodeEnd] + disEnd[nodeEnd]) // 2 + 1123 for it in edge[nodeEnd]:124 if disEnd[it] == float("inf"):125 disEnd[it] = disEnd[nodeEnd] + 1126 queEnd.append(it)...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run SeleniumBase automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful