THIRD_PARTY_TF_C_LICENSES 342 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006
  1. --------------------------------------------------------------------------------
  2. BEGIN LICENSE FOR third_party/eigen3/LICENSE
  3. --------------------------------------------------------------------------------
  4. Eigen is primarily MPL2 licensed. See COPYING.MPL2 and these links:
  5. http://www.mozilla.org/MPL/2.0/
  6. http://www.mozilla.org/MPL/2.0/FAQ.html
  7. Some files contain third-party code under BSD or LGPL licenses, whence
  8. the other COPYING.* files here.
  9. All the LGPL code is either LGPL 2.1-only, or LGPL 2.1-or-later.
  10. For this reason, the COPYING.LGPL file contains the LGPL 2.1 text.
  11. If you want to guarantee that the Eigen code that you are #including
  12. is licensed under the MPL2 and possibly more permissive licenses (like
  13. BSD), #define this preprocessor symbol: EIGEN_MPL2_ONLY
  14. For example, with most compilers, you could add this to your project
  15. CXXFLAGS: -DEIGEN_MPL2_ONLY
  16. This will cause a compilation error to be generated if you #include
  17. any code that is LGPL licensed.
  18. ----------------------------------------------------------------------
  19. Following applies to:
  20. ./test/mapstaticmethods.cpp
  21. ./test/schur_real.cpp
  22. ./test/prec_inverse_4x4.cpp
  23. ./test/smallvectors.cpp
  24. ./test/redux.cpp
  25. ./test/special_numbers.cpp
  26. ./test/adjoint.cpp
  27. ./test/resize.cpp
  28. ./test/mixingtypes.cpp
  29. ./test/product_trmv.cpp
  30. ./test/sparse_solvers.cpp
  31. ./test/cholesky.cpp
  32. ./test/geo_quaternion.cpp
  33. ./test/miscmatrices.cpp
  34. ./test/stddeque.cpp
  35. ./test/integer_types.cpp
  36. ./test/product_large.cpp
  37. ./test/eigensolver_generic.cpp
  38. ./test/householder.cpp
  39. ./test/geo_orthomethods.cpp
  40. ./test/array_for_matrix.cpp
  41. ./test/sparseLM.cpp
  42. ./test/upperbidiagonalization.cpp
  43. ./test/nomalloc.cpp
  44. ./test/packetmath.cpp
  45. ./test/jacobisvd.cpp
  46. ./test/geo_transformations.cpp
  47. ./test/swap.cpp
  48. ./test/eigensolver_selfadjoint.cpp
  49. ./test/inverse.cpp
  50. ./test/product_selfadjoint.cpp
  51. ./test/product_trsolve.cpp
  52. ./test/product_extra.cpp
  53. ./test/sparse_solver.h
  54. ./test/mapstride.cpp
  55. ./test/mapped_matrix.cpp
  56. ./test/geo_eulerangles.cpp
  57. ./test/eigen2support.cpp
  58. ./test/denseLM.cpp
  59. ./test/stdvector.cpp
  60. ./test/nesting_ops.cpp
  61. ./test/sparse_permutations.cpp
  62. ./test/zerosized.cpp
  63. ./test/exceptions.cpp
  64. ./test/vectorwiseop.cpp
  65. ./test/cwiseop.cpp
  66. ./test/basicstuff.cpp
  67. ./test/product_trmm.cpp
  68. ./test/linearstructure.cpp
  69. ./test/sparse_product.cpp
  70. ./test/stdvector_overload.cpp
  71. ./test/stable_norm.cpp
  72. ./test/umeyama.cpp
  73. ./test/unalignedcount.cpp
  74. ./test/triangular.cpp
  75. ./test/product_mmtr.cpp
  76. ./test/sparse_basic.cpp
  77. ./test/sparse_vector.cpp
  78. ./test/meta.cpp
  79. ./test/real_qz.cpp
  80. ./test/ref.cpp
  81. ./test/eigensolver_complex.cpp
  82. ./test/cholmod_support.cpp
  83. ./test/conjugate_gradient.cpp
  84. ./test/sparse.h
  85. ./test/simplicial_cholesky.cpp
  86. ./test/bicgstab.cpp
  87. ./test/dynalloc.cpp
  88. ./test/product_notemporary.cpp
  89. ./test/geo_hyperplane.cpp
  90. ./test/lu.cpp
  91. ./test/qr.cpp
  92. ./test/hessenberg.cpp
  93. ./test/sizeof.cpp
  94. ./test/main.h
  95. ./test/selfadjoint.cpp
  96. ./test/permutationmatrices.cpp
  97. ./test/superlu_support.cpp
  98. ./test/qtvector.cpp
  99. ./test/geo_homogeneous.cpp
  100. ./test/determinant.cpp
  101. ./test/array_reverse.cpp
  102. ./test/unalignedassert.cpp
  103. ./test/stdlist.cpp
  104. ./test/product_symm.cpp
  105. ./test/corners.cpp
  106. ./test/dontalign.cpp
  107. ./test/visitor.cpp
  108. ./test/geo_alignedbox.cpp
  109. ./test/diagonalmatrices.cpp
  110. ./test/product_small.cpp
  111. ./test/eigensolver_generalized_real.cpp
  112. ./test/umfpack_support.cpp
  113. ./test/first_aligned.cpp
  114. ./test/qr_fullpivoting.cpp
  115. ./test/array_replicate.cpp
  116. ./test/geo_parametrizedline.cpp
  117. ./test/eigen2/eigen2_unalignedassert.cpp
  118. ./test/eigen2/eigen2_prec_inverse_4x4.cpp
  119. ./test/eigen2/eigen2_alignedbox.cpp
  120. ./test/eigen2/eigen2_sparse_product.cpp
  121. ./test/eigen2/eigen2_meta.cpp
  122. ./test/eigen2/eigen2_nomalloc.cpp
  123. ./test/eigen2/eigen2_visitor.cpp
  124. ./test/eigen2/eigen2_packetmath.cpp
  125. ./test/eigen2/eigen2_svd.cpp
  126. ./test/eigen2/eigen2_mixingtypes.cpp
  127. ./test/eigen2/eigen2_qr.cpp
  128. ./test/eigen2/eigen2_cwiseop.cpp
  129. ./test/eigen2/eigen2_geometry_with_eigen2_prefix.cpp
  130. ./test/eigen2/eigen2_smallvectors.cpp
  131. ./test/eigen2/eigen2_commainitializer.cpp
  132. ./test/eigen2/eigen2_sparse_solvers.cpp
  133. ./test/eigen2/eigen2_hyperplane.cpp
  134. ./test/eigen2/eigen2_eigensolver.cpp
  135. ./test/eigen2/eigen2_linearstructure.cpp
  136. ./test/eigen2/eigen2_sizeof.cpp
  137. ./test/eigen2/eigen2_parametrizedline.cpp
  138. ./test/eigen2/eigen2_lu.cpp
  139. ./test/eigen2/eigen2_adjoint.cpp
  140. ./test/eigen2/eigen2_geometry.cpp
  141. ./test/eigen2/eigen2_stdvector.cpp
  142. ./test/eigen2/eigen2_newstdvector.cpp
  143. ./test/eigen2/eigen2_submatrices.cpp
  144. ./test/eigen2/sparse.h
  145. ./test/eigen2/eigen2_swap.cpp
  146. ./test/eigen2/eigen2_triangular.cpp
  147. ./test/eigen2/eigen2_basicstuff.cpp
  148. ./test/eigen2/gsl_helper.h
  149. ./test/eigen2/eigen2_dynalloc.cpp
  150. ./test/eigen2/eigen2_array.cpp
  151. ./test/eigen2/eigen2_map.cpp
  152. ./test/eigen2/main.h
  153. ./test/eigen2/eigen2_miscmatrices.cpp
  154. ./test/eigen2/eigen2_product_large.cpp
  155. ./test/eigen2/eigen2_first_aligned.cpp
  156. ./test/eigen2/eigen2_cholesky.cpp
  157. ./test/eigen2/eigen2_determinant.cpp
  158. ./test/eigen2/eigen2_sum.cpp
  159. ./test/eigen2/eigen2_inverse.cpp
  160. ./test/eigen2/eigen2_regression.cpp
  161. ./test/eigen2/eigen2_product_small.cpp
  162. ./test/eigen2/eigen2_qtvector.cpp
  163. ./test/eigen2/eigen2_sparse_vector.cpp
  164. ./test/eigen2/product.h
  165. ./test/eigen2/eigen2_sparse_basic.cpp
  166. ./test/eigen2/eigen2_bug_132.cpp
  167. ./test/array.cpp
  168. ./test/product_syrk.cpp
  169. ./test/commainitializer.cpp
  170. ./test/conservative_resize.cpp
  171. ./test/qr_colpivoting.cpp
  172. ./test/nullary.cpp
  173. ./test/bandmatrix.cpp
  174. ./test/pastix_support.cpp
  175. ./test/product.h
  176. ./test/block.cpp
  177. ./test/vectorization_logic.cpp
  178. ./test/jacobi.cpp
  179. ./test/diagonal.cpp
  180. ./test/schur_complex.cpp
  181. ./test/sizeoverflow.cpp
  182. ./bench/BenchTimer.h
  183. ./bench/benchFFT.cpp
  184. ./bench/eig33.cpp
  185. ./bench/spbench/spbenchsolver.h
  186. ./bench/spbench/spbenchstyle.h
  187. ./lapack/complex_double.cpp
  188. ./lapack/cholesky.cpp
  189. ./lapack/lapack_common.h
  190. ./lapack/eigenvalues.cpp
  191. ./lapack/single.cpp
  192. ./lapack/lu.cpp
  193. ./lapack/complex_single.cpp
  194. ./lapack/double.cpp
  195. ./demos/mix_eigen_and_c/binary_library.cpp
  196. ./demos/mix_eigen_and_c/binary_library.h
  197. ./demos/mix_eigen_and_c/example.c
  198. ./demos/mandelbrot/mandelbrot.cpp
  199. ./demos/mandelbrot/mandelbrot.h
  200. ./demos/opengl/icosphere.cpp
  201. ./demos/opengl/icosphere.h
  202. ./demos/opengl/camera.cpp
  203. ./demos/opengl/quaternion_demo.h
  204. ./demos/opengl/camera.h
  205. ./demos/opengl/trackball.h
  206. ./demos/opengl/gpuhelper.h
  207. ./demos/opengl/trackball.cpp
  208. ./demos/opengl/gpuhelper.cpp
  209. ./demos/opengl/quaternion_demo.cpp
  210. ./debug/gdb/printers.py
  211. ./unsupported/test/minres.cpp
  212. ./unsupported/test/openglsupport.cpp
  213. ./unsupported/test/jacobisvd.cpp
  214. ./unsupported/test/dgmres.cpp
  215. ./unsupported/test/matrix_square_root.cpp
  216. ./unsupported/test/bdcsvd.cpp
  217. ./unsupported/test/matrix_exponential.cpp
  218. ./unsupported/test/forward_adolc.cpp
  219. ./unsupported/test/polynomialsolver.cpp
  220. ./unsupported/test/matrix_function.cpp
  221. ./unsupported/test/sparse_extra.cpp
  222. ./unsupported/test/matrix_functions.h
  223. ./unsupported/test/svd_common.h
  224. ./unsupported/test/FFTW.cpp
  225. ./unsupported/test/alignedvector3.cpp
  226. ./unsupported/test/autodiff.cpp
  227. ./unsupported/test/gmres.cpp
  228. ./unsupported/test/BVH.cpp
  229. ./unsupported/test/levenberg_marquardt.cpp
  230. ./unsupported/test/matrix_power.cpp
  231. ./unsupported/test/kronecker_product.cpp
  232. ./unsupported/test/splines.cpp
  233. ./unsupported/test/polynomialutils.cpp
  234. ./unsupported/bench/bench_svd.cpp
  235. ./unsupported/Eigen/IterativeSolvers
  236. ./unsupported/Eigen/src/IterativeSolvers/DGMRES.h
  237. ./unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h
  238. ./unsupported/Eigen/src/IterativeSolvers/GMRES.h
  239. ./unsupported/Eigen/src/IterativeSolvers/IncompleteCholesky.h
  240. ./unsupported/Eigen/src/IterativeSolvers/Scaling.h
  241. ./unsupported/Eigen/src/IterativeSolvers/MINRES.h
  242. ./unsupported/Eigen/src/SparseExtra/RandomSetter.h
  243. ./unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h
  244. ./unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h
  245. ./unsupported/Eigen/src/SparseExtra/MarketIO.h
  246. ./unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h
  247. ./unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h
  248. ./unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h
  249. ./unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h
  250. ./unsupported/Eigen/src/BVH/BVAlgorithms.h
  251. ./unsupported/Eigen/src/BVH/KdBVH.h
  252. ./unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h
  253. ./unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h
  254. ./unsupported/Eigen/src/AutoDiff/AutoDiffVector.h
  255. ./unsupported/Eigen/src/Splines/Spline.h
  256. ./unsupported/Eigen/src/Splines/SplineFitting.h
  257. ./unsupported/Eigen/src/Splines/SplineFwd.h
  258. ./unsupported/Eigen/src/SVD/JacobiSVD.h
  259. ./unsupported/Eigen/src/SVD/BDCSVD.h
  260. ./unsupported/Eigen/src/SVD/SVDBase.h
  261. ./unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
  262. ./unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h
  263. ./unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h
  264. ./unsupported/Eigen/src/MatrixFunctions/StemFunction.h
  265. ./unsupported/Eigen/src/MatrixFunctions/MatrixPower.h
  266. ./unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h
  267. ./unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h
  268. ./unsupported/Eigen/src/MoreVectorization/MathFunctions.h
  269. ./unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h
  270. ./unsupported/Eigen/src/FFT/ei_fftw_impl.h
  271. ./unsupported/Eigen/src/FFT/ei_kissfft_impl.h
  272. ./unsupported/Eigen/src/Polynomials/PolynomialSolver.h
  273. ./unsupported/Eigen/src/Polynomials/Companion.h
  274. ./unsupported/Eigen/src/Polynomials/PolynomialUtils.h
  275. ./unsupported/Eigen/src/NumericalDiff/NumericalDiff.h
  276. ./unsupported/Eigen/src/Skyline/SkylineProduct.h
  277. ./unsupported/Eigen/src/Skyline/SkylineMatrixBase.h
  278. ./unsupported/Eigen/src/Skyline/SkylineStorage.h
  279. ./unsupported/Eigen/src/Skyline/SkylineUtil.h
  280. ./unsupported/Eigen/src/Skyline/SkylineInplaceLU.h
  281. ./unsupported/Eigen/src/Skyline/SkylineMatrix.h
  282. ./unsupported/Eigen/SparseExtra
  283. ./unsupported/Eigen/AdolcForward
  284. ./unsupported/Eigen/KroneckerProduct
  285. ./unsupported/Eigen/NonLinearOptimization
  286. ./unsupported/Eigen/BVH
  287. ./unsupported/Eigen/OpenGLSupport
  288. ./unsupported/Eigen/ArpackSupport
  289. ./unsupported/Eigen/AutoDiff
  290. ./unsupported/Eigen/Splines
  291. ./unsupported/Eigen/MPRealSupport
  292. ./unsupported/Eigen/MatrixFunctions
  293. ./unsupported/Eigen/MoreVectorization
  294. ./unsupported/Eigen/LevenbergMarquardt
  295. ./unsupported/Eigen/AlignedVector3
  296. ./unsupported/Eigen/FFT
  297. ./unsupported/Eigen/Polynomials
  298. ./unsupported/Eigen/NumericalDiff
  299. ./unsupported/Eigen/Skyline
  300. ./COPYING.README
  301. ./COPYING.README
  302. ./LICENSE
  303. ./LICENSE
  304. ./LICENSE
  305. ./Eigen/Eigen2Support
  306. ./Eigen/src/Eigen2Support/VectorBlock.h
  307. ./Eigen/src/Eigen2Support/Cwise.h
  308. ./Eigen/src/Eigen2Support/Minor.h
  309. ./Eigen/src/Eigen2Support/Lazy.h
  310. ./Eigen/src/Eigen2Support/Memory.h
  311. ./Eigen/src/Eigen2Support/MathFunctions.h
  312. ./Eigen/src/Eigen2Support/Geometry/AlignedBox.h
  313. ./Eigen/src/Eigen2Support/Geometry/Hyperplane.h
  314. ./Eigen/src/Eigen2Support/Geometry/Quaternion.h
  315. ./Eigen/src/Eigen2Support/Geometry/Rotation2D.h
  316. ./Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h
  317. ./Eigen/src/Eigen2Support/Geometry/RotationBase.h
  318. ./Eigen/src/Eigen2Support/Geometry/Translation.h
  319. ./Eigen/src/Eigen2Support/Geometry/Scaling.h
  320. ./Eigen/src/Eigen2Support/Geometry/AngleAxis.h
  321. ./Eigen/src/Eigen2Support/Geometry/Transform.h
  322. ./Eigen/src/Eigen2Support/TriangularSolver.h
  323. ./Eigen/src/Eigen2Support/LU.h
  324. ./Eigen/src/Eigen2Support/QR.h
  325. ./Eigen/src/Eigen2Support/SVD.h
  326. ./Eigen/src/Eigen2Support/Meta.h
  327. ./Eigen/src/Eigen2Support/Block.h
  328. ./Eigen/src/Eigen2Support/Macros.h
  329. ./Eigen/src/Eigen2Support/LeastSquares.h
  330. ./Eigen/src/Eigen2Support/CwiseOperators.h
  331. ./Eigen/src/Jacobi/Jacobi.h
  332. ./Eigen/src/misc/Kernel.h
  333. ./Eigen/src/misc/SparseSolve.h
  334. ./Eigen/src/misc/Solve.h
  335. ./Eigen/src/misc/Image.h
  336. ./Eigen/src/SparseCore/SparseColEtree.h
  337. ./Eigen/src/SparseCore/SparseTranspose.h
  338. ./Eigen/src/SparseCore/SparseUtil.h
  339. ./Eigen/src/SparseCore/SparseCwiseBinaryOp.h
  340. ./Eigen/src/SparseCore/SparseDiagonalProduct.h
  341. ./Eigen/src/SparseCore/SparseProduct.h
  342. ./Eigen/src/SparseCore/SparseDot.h
  343. ./Eigen/src/SparseCore/SparseCwiseUnaryOp.h
  344. ./Eigen/src/SparseCore/SparseSparseProductWithPruning.h
  345. ./Eigen/src/SparseCore/SparseBlock.h
  346. ./Eigen/src/SparseCore/SparseDenseProduct.h
  347. ./Eigen/src/SparseCore/CompressedStorage.h
  348. ./Eigen/src/SparseCore/SparseMatrixBase.h
  349. ./Eigen/src/SparseCore/MappedSparseMatrix.h
  350. ./Eigen/src/SparseCore/SparseTriangularView.h
  351. ./Eigen/src/SparseCore/SparseView.h
  352. ./Eigen/src/SparseCore/SparseFuzzy.h
  353. ./Eigen/src/SparseCore/TriangularSolver.h
  354. ./Eigen/src/SparseCore/SparseSelfAdjointView.h
  355. ./Eigen/src/SparseCore/SparseMatrix.h
  356. ./Eigen/src/SparseCore/SparseVector.h
  357. ./Eigen/src/SparseCore/AmbiVector.h
  358. ./Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
  359. ./Eigen/src/SparseCore/SparseRedux.h
  360. ./Eigen/src/SparseCore/SparsePermutation.h
  361. ./Eigen/src/Eigenvalues/RealSchur.h
  362. ./Eigen/src/Eigenvalues/ComplexEigenSolver.h
  363. ./Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
  364. ./Eigen/src/Eigenvalues/ComplexSchur.h
  365. ./Eigen/src/Eigenvalues/RealQZ.h
  366. ./Eigen/src/Eigenvalues/EigenSolver.h
  367. ./Eigen/src/Eigenvalues/HessenbergDecomposition.h
  368. ./Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
  369. ./Eigen/src/Eigenvalues/Tridiagonalization.h
  370. ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
  371. ./Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
  372. ./Eigen/src/SuperLUSupport/SuperLUSupport.h
  373. ./Eigen/src/StlSupport/StdDeque.h
  374. ./Eigen/src/StlSupport/StdVector.h
  375. ./Eigen/src/StlSupport/StdList.h
  376. ./Eigen/src/StlSupport/details.h
  377. ./Eigen/src/SparseQR/SparseQR.h
  378. ./Eigen/src/LU/Inverse.h
  379. ./Eigen/src/LU/arch/Inverse_SSE.h
  380. ./Eigen/src/LU/Determinant.h
  381. ./Eigen/src/LU/PartialPivLU.h
  382. ./Eigen/src/LU/FullPivLU.h
  383. ./Eigen/src/UmfPackSupport/UmfPackSupport.h
  384. ./Eigen/src/OrderingMethods/Ordering.h
  385. ./Eigen/src/OrderingMethods/Eigen_Colamd.h
  386. ./Eigen/src/QR/HouseholderQR.h
  387. ./Eigen/src/QR/ColPivHouseholderQR.h
  388. ./Eigen/src/QR/FullPivHouseholderQR.h
  389. ./Eigen/src/SVD/JacobiSVD.h
  390. ./Eigen/src/SVD/UpperBidiagonalization.h
  391. ./Eigen/src/Geometry/OrthoMethods.h
  392. ./Eigen/src/Geometry/AlignedBox.h
  393. ./Eigen/src/Geometry/Hyperplane.h
  394. ./Eigen/src/Geometry/Quaternion.h
  395. ./Eigen/src/Geometry/EulerAngles.h
  396. ./Eigen/src/Geometry/Rotation2D.h
  397. ./Eigen/src/Geometry/ParametrizedLine.h
  398. ./Eigen/src/Geometry/RotationBase.h
  399. ./Eigen/src/Geometry/arch/Geometry_SSE.h
  400. ./Eigen/src/Geometry/Umeyama.h
  401. ./Eigen/src/Geometry/Homogeneous.h
  402. ./Eigen/src/Geometry/Translation.h
  403. ./Eigen/src/Geometry/Scaling.h
  404. ./Eigen/src/Geometry/AngleAxis.h
  405. ./Eigen/src/Geometry/Transform.h
  406. ./Eigen/src/plugins/BlockMethods.h
  407. ./Eigen/src/plugins/CommonCwiseUnaryOps.h
  408. ./Eigen/src/plugins/CommonCwiseBinaryOps.h
  409. ./Eigen/src/plugins/MatrixCwiseUnaryOps.h
  410. ./Eigen/src/plugins/MatrixCwiseBinaryOps.h
  411. ./Eigen/src/Householder/Householder.h
  412. ./Eigen/src/Householder/HouseholderSequence.h
  413. ./Eigen/src/Householder/BlockHouseholder.h
  414. ./Eigen/src/Core/VectorBlock.h
  415. ./Eigen/src/Core/Matrix.h
  416. ./Eigen/src/Core/Ref.h
  417. ./Eigen/src/Core/SelfAdjointView.h
  418. ./Eigen/src/Core/MathFunctions.h
  419. ./Eigen/src/Core/GlobalFunctions.h
  420. ./Eigen/src/Core/MapBase.h
  421. ./Eigen/src/Core/EigenBase.h
  422. ./Eigen/src/Core/GenericPacketMath.h
  423. ./Eigen/src/Core/NestByValue.h
  424. ./Eigen/src/Core/CwiseUnaryOp.h
  425. ./Eigen/src/Core/SolveTriangular.h
  426. ./Eigen/src/Core/Fuzzy.h
  427. ./Eigen/src/Core/Visitor.h
  428. ./Eigen/src/Core/Map.h
  429. ./Eigen/src/Core/NoAlias.h
  430. ./Eigen/src/Core/Diagonal.h
  431. ./Eigen/src/Core/StableNorm.h
  432. ./Eigen/src/Core/CoreIterators.h
  433. ./Eigen/src/Core/products/Parallelizer.h
  434. ./Eigen/src/Core/products/SelfadjointMatrixVector.h
  435. ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
  436. ./Eigen/src/Core/products/TriangularSolverMatrix.h
  437. ./Eigen/src/Core/products/GeneralMatrixMatrix.h
  438. ./Eigen/src/Core/products/SelfadjointProduct.h
  439. ./Eigen/src/Core/products/CoeffBasedProduct.h
  440. ./Eigen/src/Core/products/TriangularMatrixVector.h
  441. ./Eigen/src/Core/products/SelfadjointMatrixMatrix.h
  442. ./Eigen/src/Core/products/TriangularSolverVector.h
  443. ./Eigen/src/Core/products/SelfadjointRank2Update.h
  444. ./Eigen/src/Core/products/GeneralBlockPanelKernel.h
  445. ./Eigen/src/Core/products/GeneralMatrixVector.h
  446. ./Eigen/src/Core/products/TriangularMatrixMatrix.h
  447. ./Eigen/src/Core/Reverse.h
  448. ./Eigen/src/Core/BooleanRedux.h
  449. ./Eigen/src/Core/Replicate.h
  450. ./Eigen/src/Core/arch/AltiVec/PacketMath.h
  451. ./Eigen/src/Core/arch/AltiVec/Complex.h
  452. ./Eigen/src/Core/arch/SSE/PacketMath.h
  453. ./Eigen/src/Core/arch/SSE/Complex.h
  454. ./Eigen/src/Core/arch/SSE/MathFunctions.h
  455. ./Eigen/src/Core/arch/NEON/PacketMath.h
  456. ./Eigen/src/Core/arch/NEON/Complex.h
  457. ./Eigen/src/Core/arch/Default/Settings.h
  458. ./Eigen/src/Core/CwiseUnaryView.h
  459. ./Eigen/src/Core/Array.h
  460. ./Eigen/src/Core/ArrayWrapper.h
  461. ./Eigen/src/Core/Swap.h
  462. ./Eigen/src/Core/Transpositions.h
  463. ./Eigen/src/Core/Random.h
  464. ./Eigen/src/Core/IO.h
  465. ./Eigen/src/Core/SelfCwiseBinaryOp.h
  466. ./Eigen/src/Core/VectorwiseOp.h
  467. ./Eigen/src/Core/Select.h
  468. ./Eigen/src/Core/ArrayBase.h
  469. ./Eigen/src/Core/DenseCoeffsBase.h
  470. ./Eigen/src/Core/DiagonalProduct.h
  471. ./Eigen/src/Core/Assign.h
  472. ./Eigen/src/Core/Redux.h
  473. ./Eigen/src/Core/ForceAlignedAccess.h
  474. ./Eigen/src/Core/BandMatrix.h
  475. ./Eigen/src/Core/PlainObjectBase.h
  476. ./Eigen/src/Core/DenseBase.h
  477. ./Eigen/src/Core/Flagged.h
  478. ./Eigen/src/Core/CwiseBinaryOp.h
  479. ./Eigen/src/Core/ProductBase.h
  480. ./Eigen/src/Core/TriangularMatrix.h
  481. ./Eigen/src/Core/Transpose.h
  482. ./Eigen/src/Core/DiagonalMatrix.h
  483. ./Eigen/src/Core/Dot.h
  484. ./Eigen/src/Core/Functors.h
  485. ./Eigen/src/Core/PermutationMatrix.h
  486. ./Eigen/src/Core/NumTraits.h
  487. ./Eigen/src/Core/MatrixBase.h
  488. ./Eigen/src/Core/DenseStorage.h
  489. ./Eigen/src/Core/util/Memory.h
  490. ./Eigen/src/Core/util/StaticAssert.h
  491. ./Eigen/src/Core/util/BlasUtil.h
  492. ./Eigen/src/Core/util/MatrixMapper.h
  493. ./Eigen/src/Core/util/XprHelper.h
  494. ./Eigen/src/Core/util/ForwardDeclarations.h
  495. ./Eigen/src/Core/util/Meta.h
  496. ./Eigen/src/Core/util/Macros.h
  497. ./Eigen/src/Core/util/Constants.h
  498. ./Eigen/src/Core/CwiseNullaryOp.h
  499. ./Eigen/src/Core/Block.h
  500. ./Eigen/src/Core/GeneralProduct.h
  501. ./Eigen/src/Core/CommaInitializer.h
  502. ./Eigen/src/Core/ReturnByValue.h
  503. ./Eigen/src/Core/Stride.h
  504. ./Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
  505. ./Eigen/src/SparseLU/SparseLU_column_dfs.h
  506. ./Eigen/src/SparseLU/SparseLU_panel_dfs.h
  507. ./Eigen/src/SparseLU/SparseLU_relax_snode.h
  508. ./Eigen/src/SparseLU/SparseLU_panel_bmod.h
  509. ./Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
  510. ./Eigen/src/SparseLU/SparseLU_Utils.h
  511. ./Eigen/src/SparseLU/SparseLU_gemm_kernel.h
  512. ./Eigen/src/SparseLU/SparseLU_kernel_bmod.h
  513. ./Eigen/src/SparseLU/SparseLU_pivotL.h
  514. ./Eigen/src/SparseLU/SparseLU_Memory.h
  515. ./Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
  516. ./Eigen/src/SparseLU/SparseLUImpl.h
  517. ./Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
  518. ./Eigen/src/SparseLU/SparseLU_Structs.h
  519. ./Eigen/src/SparseLU/SparseLU.h
  520. ./Eigen/src/SparseLU/SparseLU_column_bmod.h
  521. ./Eigen/src/SparseLU/SparseLU_pruneL.h
  522. ./Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
  523. ./Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
  524. ./Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
  525. ./Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
  526. ./Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
  527. ./Eigen/src/SparseCholesky/SimplicialCholesky.h
  528. ./Eigen/src/Cholesky/LDLT.h
  529. ./Eigen/src/Cholesky/LLT.h
  530. ./Eigen/src/CholmodSupport/CholmodSupport.h
  531. ./Eigen/src/PaStiXSupport/PaStiXSupport.h
  532. ./Eigen/src/MetisSupport/MetisSupport.h
  533. ./Eigen/StdVector
  534. ./Eigen/Core
  535. ./Eigen/OrderingMethods
  536. ./Eigen/SparseLU
  537. ./Eigen/StdList
  538. ./Eigen/StdDeque
  539. ./Eigen/SparseCholesky
  540. ./Eigen/SparseCore
  541. ./scripts/relicense.py
  542. ./scripts/relicense.py
  543. ./blas/BandTriangularSolver.h
  544. ./blas/PackedTriangularMatrixVector.h
  545. ./blas/complex_double.cpp
  546. ./blas/level2_real_impl.h
  547. ./blas/level1_cplx_impl.h
  548. ./blas/level1_impl.h
  549. ./blas/level1_real_impl.h
  550. ./blas/level3_impl.h
  551. ./blas/single.cpp
  552. ./blas/level2_cplx_impl.h
  553. ./blas/PackedSelfadjointProduct.h
  554. ./blas/Rank2Update.h
  555. ./blas/complex_single.cpp
  556. ./blas/PackedTriangularSolverVector.h
  557. ./blas/double.cpp
  558. ./blas/common.h
  559. ./blas/level2_impl.h
  560. ./blas/GeneralRank1Update.h
  561. Mozilla Public License Version 2.0
  562. ==================================
  563. 1. Definitions
  564. --------------
  565. 1.1. "Contributor"
  566. means each individual or legal entity that creates, contributes to
  567. the creation of, or owns Covered Software.
  568. 1.2. "Contributor Version"
  569. means the combination of the Contributions of others (if any) used
  570. by a Contributor and that particular Contributor's Contribution.
  571. 1.3. "Contribution"
  572. means Covered Software of a particular Contributor.
  573. 1.4. "Covered Software"
  574. means Source Code Form to which the initial Contributor has attached
  575. the notice in Exhibit A, the Executable Form of such Source Code
  576. Form, and Modifications of such Source Code Form, in each case
  577. including portions thereof.
  578. 1.5. "Incompatible With Secondary Licenses"
  579. means
  580. (a) that the initial Contributor has attached the notice described
  581. in Exhibit B to the Covered Software; or
  582. (b) that the Covered Software was made available under the terms of
  583. version 1.1 or earlier of the License, but not also under the
  584. terms of a Secondary License.
  585. 1.6. "Executable Form"
  586. means any form of the work other than Source Code Form.
  587. 1.7. "Larger Work"
  588. means a work that combines Covered Software with other material, in
  589. a separate file or files, that is not Covered Software.
  590. 1.8. "License"
  591. means this document.
  592. 1.9. "Licensable"
  593. means having the right to grant, to the maximum extent possible,
  594. whether at the time of the initial grant or subsequently, any and
  595. all of the rights conveyed by this License.
  596. 1.10. "Modifications"
  597. means any of the following:
  598. (a) any file in Source Code Form that results from an addition to,
  599. deletion from, or modification of the contents of Covered
  600. Software; or
  601. (b) any new file in Source Code Form that contains any Covered
  602. Software.
  603. 1.11. "Patent Claims" of a Contributor
  604. means any patent claim(s), including without limitation, method,
  605. process, and apparatus claims, in any patent Licensable by such
  606. Contributor that would be infringed, but for the grant of the
  607. License, by the making, using, selling, offering for sale, having
  608. made, import, or transfer of either its Contributions or its
  609. Contributor Version.
  610. 1.12. "Secondary License"
  611. means either the GNU General Public License, Version 2.0, the GNU
  612. Lesser General Public License, Version 2.1, the GNU Affero General
  613. Public License, Version 3.0, or any later versions of those
  614. licenses.
  615. 1.13. "Source Code Form"
  616. means the form of the work preferred for making modifications.
  617. 1.14. "You" (or "Your")
  618. means an individual or a legal entity exercising rights under this
  619. License. For legal entities, "You" includes any entity that
  620. controls, is controlled by, or is under common control with You. For
  621. purposes of this definition, "control" means (a) the power, direct
  622. or indirect, to cause the direction or management of such entity,
  623. whether by contract or otherwise, or (b) ownership of more than
  624. fifty percent (50%) of the outstanding shares or beneficial
  625. ownership of such entity.
  626. 2. License Grants and Conditions
  627. --------------------------------
  628. 2.1. Grants
  629. Each Contributor hereby grants You a world-wide, royalty-free,
  630. non-exclusive license:
  631. (a) under intellectual property rights (other than patent or trademark)
  632. Licensable by such Contributor to use, reproduce, make available,
  633. modify, display, perform, distribute, and otherwise exploit its
  634. Contributions, either on an unmodified basis, with Modifications, or
  635. as part of a Larger Work; and
  636. (b) under Patent Claims of such Contributor to make, use, sell, offer
  637. for sale, have made, import, and otherwise transfer either its
  638. Contributions or its Contributor Version.
  639. 2.2. Effective Date
  640. The licenses granted in Section 2.1 with respect to any Contribution
  641. become effective for each Contribution on the date the Contributor first
  642. distributes such Contribution.
  643. 2.3. Limitations on Grant Scope
  644. The licenses granted in this Section 2 are the only rights granted under
  645. this License. No additional rights or licenses will be implied from the
  646. distribution or licensing of Covered Software under this License.
  647. Notwithstanding Section 2.1(b) above, no patent license is granted by a
  648. Contributor:
  649. (a) for any code that a Contributor has removed from Covered Software;
  650. or
  651. (b) for infringements caused by: (i) Your and any other third party's
  652. modifications of Covered Software, or (ii) the combination of its
  653. Contributions with other software (except as part of its Contributor
  654. Version); or
  655. (c) under Patent Claims infringed by Covered Software in the absence of
  656. its Contributions.
  657. This License does not grant any rights in the trademarks, service marks,
  658. or logos of any Contributor (except as may be necessary to comply with
  659. the notice requirements in Section 3.4).
  660. 2.4. Subsequent Licenses
  661. No Contributor makes additional grants as a result of Your choice to
  662. distribute the Covered Software under a subsequent version of this
  663. License (see Section 10.2) or under the terms of a Secondary License (if
  664. permitted under the terms of Section 3.3).
  665. 2.5. Representation
  666. Each Contributor represents that the Contributor believes its
  667. Contributions are its original creation(s) or it has sufficient rights
  668. to grant the rights to its Contributions conveyed by this License.
  669. 2.6. Fair Use
  670. This License is not intended to limit any rights You have under
  671. applicable copyright doctrines of fair use, fair dealing, or other
  672. equivalents.
  673. 2.7. Conditions
  674. Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
  675. in Section 2.1.
  676. 3. Responsibilities
  677. -------------------
  678. 3.1. Distribution of Source Form
  679. All distribution of Covered Software in Source Code Form, including any
  680. Modifications that You create or to which You contribute, must be under
  681. the terms of this License. You must inform recipients that the Source
  682. Code Form of the Covered Software is governed by the terms of this
  683. License, and how they can obtain a copy of this License. You may not
  684. attempt to alter or restrict the recipients' rights in the Source Code
  685. Form.
  686. 3.2. Distribution of Executable Form
  687. If You distribute Covered Software in Executable Form then:
  688. (a) such Covered Software must also be made available in Source Code
  689. Form, as described in Section 3.1, and You must inform recipients of
  690. the Executable Form how they can obtain a copy of such Source Code
  691. Form by reasonable means in a timely manner, at a charge no more
  692. than the cost of distribution to the recipient; and
  693. (b) You may distribute such Executable Form under the terms of this
  694. License, or sublicense it under different terms, provided that the
  695. license for the Executable Form does not attempt to limit or alter
  696. the recipients' rights in the Source Code Form under this License.
  697. 3.3. Distribution of a Larger Work
  698. You may create and distribute a Larger Work under terms of Your choice,
  699. provided that You also comply with the requirements of this License for
  700. the Covered Software. If the Larger Work is a combination of Covered
  701. Software with a work governed by one or more Secondary Licenses, and the
  702. Covered Software is not Incompatible With Secondary Licenses, this
  703. License permits You to additionally distribute such Covered Software
  704. under the terms of such Secondary License(s), so that the recipient of
  705. the Larger Work may, at their option, further distribute the Covered
  706. Software under the terms of either this License or such Secondary
  707. License(s).
  708. 3.4. Notices
  709. You may not remove or alter the substance of any license notices
  710. (including copyright notices, patent notices, disclaimers of warranty,
  711. or limitations of liability) contained within the Source Code Form of
  712. the Covered Software, except that You may alter any license notices to
  713. the extent required to remedy known factual inaccuracies.
  714. 3.5. Application of Additional Terms
  715. You may choose to offer, and to charge a fee for, warranty, support,
  716. indemnity or liability obligations to one or more recipients of Covered
  717. Software. However, You may do so only on Your own behalf, and not on
  718. behalf of any Contributor. You must make it absolutely clear that any
  719. such warranty, support, indemnity, or liability obligation is offered by
  720. You alone, and You hereby agree to indemnify every Contributor for any
  721. liability incurred by such Contributor as a result of warranty, support,
  722. indemnity or liability terms You offer. You may include additional
  723. disclaimers of warranty and limitations of liability specific to any
  724. jurisdiction.
  725. 4. Inability to Comply Due to Statute or Regulation
  726. ---------------------------------------------------
  727. If it is impossible for You to comply with any of the terms of this
  728. License with respect to some or all of the Covered Software due to
  729. statute, judicial order, or regulation then You must: (a) comply with
  730. the terms of this License to the maximum extent possible; and (b)
  731. describe the limitations and the code they affect. Such description must
  732. be placed in a text file included with all distributions of the Covered
  733. Software under this License. Except to the extent prohibited by statute
  734. or regulation, such description must be sufficiently detailed for a
  735. recipient of ordinary skill to be able to understand it.
  736. 5. Termination
  737. --------------
  738. 5.1. The rights granted under this License will terminate automatically
  739. if You fail to comply with any of its terms. However, if You become
  740. compliant, then the rights granted under this License from a particular
  741. Contributor are reinstated (a) provisionally, unless and until such
  742. Contributor explicitly and finally terminates Your grants, and (b) on an
  743. ongoing basis, if such Contributor fails to notify You of the
  744. non-compliance by some reasonable means prior to 60 days after You have
  745. come back into compliance. Moreover, Your grants from a particular
  746. Contributor are reinstated on an ongoing basis if such Contributor
  747. notifies You of the non-compliance by some reasonable means, this is the
  748. first time You have received notice of non-compliance with this License
  749. from such Contributor, and You become compliant prior to 30 days after
  750. Your receipt of the notice.
  751. 5.2. If You initiate litigation against any entity by asserting a patent
  752. infringement claim (excluding declaratory judgment actions,
  753. counter-claims, and cross-claims) alleging that a Contributor Version
  754. directly or indirectly infringes any patent, then the rights granted to
  755. You by any and all Contributors for the Covered Software under Section
  756. 2.1 of this License shall terminate.
  757. 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
  758. end user license agreements (excluding distributors and resellers) which
  759. have been validly granted by You or Your distributors under this License
  760. prior to termination shall survive termination.
  761. ************************************************************************
  762. * *
  763. * 6. Disclaimer of Warranty *
  764. * ------------------------- *
  765. * *
  766. * Covered Software is provided under this License on an "as is" *
  767. * basis, without warranty of any kind, either expressed, implied, or *
  768. * statutory, including, without limitation, warranties that the *
  769. * Covered Software is free of defects, merchantable, fit for a *
  770. * particular purpose or non-infringing. The entire risk as to the *
  771. * quality and performance of the Covered Software is with You. *
  772. * Should any Covered Software prove defective in any respect, You *
  773. * (not any Contributor) assume the cost of any necessary servicing, *
  774. * repair, or correction. This disclaimer of warranty constitutes an *
  775. * essential part of this License. No use of any Covered Software is *
  776. * authorized under this License except under this disclaimer. *
  777. * *
  778. ************************************************************************
  779. ************************************************************************
  780. * *
  781. * 7. Limitation of Liability *
  782. * -------------------------- *
  783. * *
  784. * Under no circumstances and under no legal theory, whether tort *
  785. * (including negligence), contract, or otherwise, shall any *
  786. * Contributor, or anyone who distributes Covered Software as *
  787. * permitted above, be liable to You for any direct, indirect, *
  788. * special, incidental, or consequential damages of any character *
  789. * including, without limitation, damages for lost profits, loss of *
  790. * goodwill, work stoppage, computer failure or malfunction, or any *
  791. * and all other commercial damages or losses, even if such party *
  792. * shall have been informed of the possibility of such damages. This *
  793. * limitation of liability shall not apply to liability for death or *
  794. * personal injury resulting from such party's negligence to the *
  795. * extent applicable law prohibits such limitation. Some *
  796. * jurisdictions do not allow the exclusion or limitation of *
  797. * incidental or consequential damages, so this exclusion and *
  798. * limitation may not apply to You. *
  799. * *
  800. ************************************************************************
  801. 8. Litigation
  802. -------------
  803. Any litigation relating to this License may be brought only in the
  804. courts of a jurisdiction where the defendant maintains its principal
  805. place of business and such litigation shall be governed by laws of that
  806. jurisdiction, without reference to its conflict-of-law provisions.
  807. Nothing in this Section shall prevent a party's ability to bring
  808. cross-claims or counter-claims.
  809. 9. Miscellaneous
  810. ----------------
  811. This License represents the complete agreement concerning the subject
  812. matter hereof. If any provision of this License is held to be
  813. unenforceable, such provision shall be reformed only to the extent
  814. necessary to make it enforceable. Any law or regulation which provides
  815. that the language of a contract shall be construed against the drafter
  816. shall not be used to construe this License against a Contributor.
  817. 10. Versions of the License
  818. ---------------------------
  819. 10.1. New Versions
  820. Mozilla Foundation is the license steward. Except as provided in Section
  821. 10.3, no one other than the license steward has the right to modify or
  822. publish new versions of this License. Each version will be given a
  823. distinguishing version number.
  824. 10.2. Effect of New Versions
  825. You may distribute the Covered Software under the terms of the version
  826. of the License under which You originally received the Covered Software,
  827. or under the terms of any subsequent version published by the license
  828. steward.
  829. 10.3. Modified Versions
  830. If you create software not governed by this License, and you want to
  831. create a new license for such software, you may create and use a
  832. modified version of this License if you rename the license and remove
  833. any references to the name of the license steward (except to note that
  834. such modified license differs from this License).
  835. 10.4. Distributing Source Code Form that is Incompatible With Secondary
  836. Licenses
  837. If You choose to distribute Source Code Form that is Incompatible With
  838. Secondary Licenses under the terms of this version of the License, the
  839. notice described in Exhibit B of this License must be attached.
  840. Exhibit A - Source Code Form License Notice
  841. -------------------------------------------
  842. This Source Code Form is subject to the terms of the Mozilla Public
  843. License, v. 2.0. If a copy of the MPL was not distributed with this
  844. file, You can obtain one at http://mozilla.org/MPL/2.0/.
  845. If it is not possible or desirable to put the notice in a particular
  846. file, then You may include the notice in a location (such as a LICENSE
  847. file in a relevant directory) where a recipient would be likely to look
  848. for such a notice.
  849. You may add additional accurate notices of copyright ownership.
  850. Exhibit B - "Incompatible With Secondary Licenses" Notice
  851. ---------------------------------------------------------
  852. This Source Code Form is "Incompatible With Secondary Licenses", as
  853. defined by the Mozilla Public License, v. 2.0.
  854. ----------------------------------------------------------------------
  855. Following applies to:
  856. ./doc/UsingIntelMKL.dox
  857. ./doc/UsingIntelMKL.dox
  858. ./Eigen/src/Eigenvalues/ComplexSchur_MKL.h
  859. ./Eigen/src/Eigenvalues/ComplexSchur_MKL.h
  860. ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
  861. ./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
  862. ./Eigen/src/Eigenvalues/RealSchur_MKL.h
  863. ./Eigen/src/Eigenvalues/RealSchur_MKL.h
  864. ./Eigen/src/LU/arch/Inverse_SSE.h
  865. ./Eigen/src/LU/arch/Inverse_SSE.h
  866. ./Eigen/src/LU/PartialPivLU_MKL.h
  867. ./Eigen/src/LU/PartialPivLU_MKL.h
  868. ./Eigen/src/QR/HouseholderQR_MKL.h
  869. ./Eigen/src/QR/HouseholderQR_MKL.h
  870. ./Eigen/src/QR/ColPivHouseholderQR_MKL.h
  871. ./Eigen/src/QR/ColPivHouseholderQR_MKL.h
  872. ./Eigen/src/SVD/JacobiSVD_MKL.h
  873. ./Eigen/src/SVD/JacobiSVD_MKL.h
  874. ./Eigen/src/PardisoSupport/PardisoSupport.h
  875. ./Eigen/src/PardisoSupport/PardisoSupport.h
  876. ./Eigen/src/Core/Assign_MKL.h
  877. ./Eigen/src/Core/Assign_MKL.h
  878. ./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
  879. ./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
  880. ./Eigen/src/Core/products/GeneralMatrixVector_MKL.h
  881. ./Eigen/src/Core/products/GeneralMatrixVector_MKL.h
  882. ./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
  883. ./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
  884. ./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
  885. ./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
  886. ./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
  887. ./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
  888. ./Eigen/src/Core/products/TriangularMatrixVector_MKL.h
  889. ./Eigen/src/Core/products/TriangularMatrixVector_MKL.h
  890. ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
  891. ./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
  892. ./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
  893. ./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
  894. ./Eigen/src/Core/util/MKL_support.h
  895. ./Eigen/src/Core/util/MKL_support.h
  896. ./Eigen/src/Cholesky/LLT_MKL.h
  897. ./Eigen/src/Cholesky/LLT_MKL.h
  898. /*
  899. Copyright (c) 2011, Intel Corporation. All rights reserved.
  900. Redistribution and use in source and binary forms, with or without
  901. modification, are permitted provided that the following conditions
  902. are met:
  903. * Redistributions of source code must retain the above copyright
  904. notice, this list of conditions and the following disclaimer. *
  905. Redistributions in binary form must reproduce the above copyright
  906. notice, this list of conditions and the following disclaimer in the
  907. documentation and/or other materials provided with the
  908. distribution. * Neither the name of Intel Corporation nor the
  909. names of its contributors may be used to endorse or promote
  910. products derived from this software without specific prior written
  911. permission.
  912. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  913. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  914. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  915. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  916. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  917. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  918. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  919. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  920. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  921. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  922. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  923. */
  924. ----------------------------------------------------------------------
  925. Following applies to:
  926. ./unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h
  927. ./unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h
  928. ./unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h
  929. ./unsupported/Eigen/src/LevenbergMarquardt/LMpar.h
  930. ./unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h
  931. Minpack Copyright Notice (1999) University of Chicago. All rights
  932. reserved
  933. Redistribution and use in source and binary forms, with or
  934. without modification, are permitted provided that the
  935. following conditions are met:
  936. 1. Redistributions of source code must retain the above
  937. copyright notice, this list of conditions and the following
  938. disclaimer.
  939. 2. Redistributions in binary form must reproduce the above
  940. copyright notice, this list of conditions and the following
  941. disclaimer in the documentation and/or other materials
  942. provided with the distribution.
  943. 3. The end-user documentation included with the
  944. redistribution, if any, must include the following
  945. acknowledgment:
  946. "This product includes software developed by the
  947. University of Chicago, as Operator of Argonne National
  948. Laboratory.
  949. Alternately, this acknowledgment may appear in the software
  950. itself, if and wherever such third-party acknowledgments
  951. normally appear.
  952. 4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
  953. WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
  954. UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
  955. THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
  956. IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
  957. OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
  958. OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
  959. OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
  960. USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
  961. THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
  962. DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
  963. UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
  964. BE CORRECTED.
  965. 5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
  966. HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
  967. ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
  968. INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
  969. ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
  970. PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
  971. SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
  972. (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
  973. EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
  974. POSSIBILITY OF SUCH LOSS OR DAMAGES.
  975. --------------------------------------------------------------------------------
  976. END LICENSE FOR third_party/eigen3/LICENSE
  977. --------------------------------------------------------------------------------
  978. --------------------------------------------------------------------------------
  979. BEGIN LICENSE FOR third_party/fft2d/LICENSE
  980. --------------------------------------------------------------------------------
  981. Copyright(C) 1997,2001 Takuya OOURA (email: ooura@kurims.kyoto-u.ac.jp).
  982. You may use, copy, modify this code for any purpose and
  983. without fee. You may distribute this ORIGINAL package.
  984. --------------------------------------------------------------------------------
  985. END LICENSE FOR third_party/fft2d/LICENSE
  986. --------------------------------------------------------------------------------
  987. --------------------------------------------------------------------------------
  988. BEGIN LICENSE FOR third_party/icu/data/LICENSE
  989. --------------------------------------------------------------------------------
  990. COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)
  991. Copyright © 1991-2018 Unicode, Inc. All rights reserved.
  992. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
  993. Permission is hereby granted, free of charge, to any person obtaining
  994. a copy of the Unicode data files and any associated documentation
  995. (the "Data Files") or Unicode software and any associated documentation
  996. (the "Software") to deal in the Data Files or Software
  997. without restriction, including without limitation the rights to use,
  998. copy, modify, merge, publish, distribute, and/or sell copies of
  999. the Data Files or Software, and to permit persons to whom the Data Files
  1000. or Software are furnished to do so, provided that either
  1001. (a) this copyright and permission notice appear with all copies
  1002. of the Data Files or Software, or
  1003. (b) this copyright and permission notice appear in associated
  1004. Documentation.
  1005. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
  1006. ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  1007. WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  1008. NONINFRINGEMENT OF THIRD PARTY RIGHTS.
  1009. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
  1010. NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
  1011. DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  1012. DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  1013. TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  1014. PERFORMANCE OF THE DATA FILES OR SOFTWARE.
  1015. Except as contained in this notice, the name of a copyright holder
  1016. shall not be used in advertising or otherwise to promote the sale,
  1017. use or other dealings in these Data Files or Software without prior
  1018. written authorization of the copyright holder.
  1019. ---------------------
  1020. Third-Party Software Licenses
  1021. This section contains third-party software notices and/or additional
  1022. terms for licensed third-party software components included within ICU
  1023. libraries.
  1024. 1. ICU License - ICU 1.8.1 to ICU 57.1
  1025. COPYRIGHT AND PERMISSION NOTICE
  1026. Copyright (c) 1995-2016 International Business Machines Corporation and others
  1027. All rights reserved.
  1028. Permission is hereby granted, free of charge, to any person obtaining
  1029. a copy of this software and associated documentation files (the
  1030. "Software"), to deal in the Software without restriction, including
  1031. without limitation the rights to use, copy, modify, merge, publish,
  1032. distribute, and/or sell copies of the Software, and to permit persons
  1033. to whom the Software is furnished to do so, provided that the above
  1034. copyright notice(s) and this permission notice appear in all copies of
  1035. the Software and that both the above copyright notice(s) and this
  1036. permission notice appear in supporting documentation.
  1037. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  1038. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  1039. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
  1040. OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  1041. HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
  1042. SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
  1043. RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
  1044. CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  1045. CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  1046. Except as contained in this notice, the name of a copyright holder
  1047. shall not be used in advertising or otherwise to promote the sale, use
  1048. or other dealings in this Software without prior written authorization
  1049. of the copyright holder.
  1050. All trademarks and registered trademarks mentioned herein are the
  1051. property of their respective owners.
  1052. 2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
  1053. # The Google Chrome software developed by Google is licensed under
  1054. # the BSD license. Other software included in this distribution is
  1055. # provided under other licenses, as set forth below.
  1056. #
  1057. # The BSD License
  1058. # http://opensource.org/licenses/bsd-license.php
  1059. # Copyright (C) 2006-2008, Google Inc.
  1060. #
  1061. # All rights reserved.
  1062. #
  1063. # Redistribution and use in source and binary forms, with or without
  1064. # modification, are permitted provided that the following conditions are met:
  1065. #
  1066. # Redistributions of source code must retain the above copyright notice,
  1067. # this list of conditions and the following disclaimer.
  1068. # Redistributions in binary form must reproduce the above
  1069. # copyright notice, this list of conditions and the following
  1070. # disclaimer in the documentation and/or other materials provided with
  1071. # the distribution.
  1072. # Neither the name of Google Inc. nor the names of its
  1073. # contributors may be used to endorse or promote products derived from
  1074. # this software without specific prior written permission.
  1075. #
  1076. #
  1077. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  1078. # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  1079. # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  1080. # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  1081. # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  1082. # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  1083. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  1084. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  1085. # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  1086. # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  1087. # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  1088. # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1089. #
  1090. #
  1091. # The word list in cjdict.txt are generated by combining three word lists
  1092. # listed below with further processing for compound word breaking. The
  1093. # frequency is generated with an iterative training against Google web
  1094. # corpora.
  1095. #
  1096. # * Libtabe (Chinese)
  1097. # - https://sourceforge.net/project/?group_id=1519
  1098. # - Its license terms and conditions are shown below.
  1099. #
  1100. # * IPADIC (Japanese)
  1101. # - http://chasen.aist-nara.ac.jp/chasen/distribution.html
  1102. # - Its license terms and conditions are shown below.
  1103. #
  1104. # ---------COPYING.libtabe ---- BEGIN--------------------
  1105. #
  1106. # /*
  1107. # * Copyright (c) 1999 TaBE Project.
  1108. # * Copyright (c) 1999 Pai-Hsiang Hsiao.
  1109. # * All rights reserved.
  1110. # *
  1111. # * Redistribution and use in source and binary forms, with or without
  1112. # * modification, are permitted provided that the following conditions
  1113. # * are met:
  1114. # *
  1115. # * . Redistributions of source code must retain the above copyright
  1116. # * notice, this list of conditions and the following disclaimer.
  1117. # * . Redistributions in binary form must reproduce the above copyright
  1118. # * notice, this list of conditions and the following disclaimer in
  1119. # * the documentation and/or other materials provided with the
  1120. # * distribution.
  1121. # * . Neither the name of the TaBE Project nor the names of its
  1122. # * contributors may be used to endorse or promote products derived
  1123. # * from this software without specific prior written permission.
  1124. # *
  1125. # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  1126. # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  1127. # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  1128. # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  1129. # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  1130. # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  1131. # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  1132. # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1133. # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  1134. # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1135. # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  1136. # * OF THE POSSIBILITY OF SUCH DAMAGE.
  1137. # */
  1138. #
  1139. # /*
  1140. # * Copyright (c) 1999 Computer Systems and Communication Lab,
  1141. # * Institute of Information Science, Academia
  1142. # * Sinica. All rights reserved.
  1143. # *
  1144. # * Redistribution and use in source and binary forms, with or without
  1145. # * modification, are permitted provided that the following conditions
  1146. # * are met:
  1147. # *
  1148. # * . Redistributions of source code must retain the above copyright
  1149. # * notice, this list of conditions and the following disclaimer.
  1150. # * . Redistributions in binary form must reproduce the above copyright
  1151. # * notice, this list of conditions and the following disclaimer in
  1152. # * the documentation and/or other materials provided with the
  1153. # * distribution.
  1154. # * . Neither the name of the Computer Systems and Communication Lab
  1155. # * nor the names of its contributors may be used to endorse or
  1156. # * promote products derived from this software without specific
  1157. # * prior written permission.
  1158. # *
  1159. # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  1160. # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  1161. # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  1162. # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  1163. # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  1164. # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  1165. # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  1166. # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1167. # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  1168. # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1169. # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  1170. # * OF THE POSSIBILITY OF SUCH DAMAGE.
  1171. # */
  1172. #
  1173. # Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
  1174. # University of Illinois
  1175. # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4
  1176. #
  1177. # ---------------COPYING.libtabe-----END--------------------------------
  1178. #
  1179. #
  1180. # ---------------COPYING.ipadic-----BEGIN-------------------------------
  1181. #
  1182. # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
  1183. # and Technology. All Rights Reserved.
  1184. #
  1185. # Use, reproduction, and distribution of this software is permitted.
  1186. # Any copy of this software, whether in its original form or modified,
  1187. # must include both the above copyright notice and the following
  1188. # paragraphs.
  1189. #
  1190. # Nara Institute of Science and Technology (NAIST),
  1191. # the copyright holders, disclaims all warranties with regard to this
  1192. # software, including all implied warranties of merchantability and
  1193. # fitness, in no event shall NAIST be liable for
  1194. # any special, indirect or consequential damages or any damages
  1195. # whatsoever resulting from loss of use, data or profits, whether in an
  1196. # action of contract, negligence or other tortuous action, arising out
  1197. # of or in connection with the use or performance of this software.
  1198. #
  1199. # A large portion of the dictionary entries
  1200. # originate from ICOT Free Software. The following conditions for ICOT
  1201. # Free Software applies to the current dictionary as well.
  1202. #
  1203. # Each User may also freely distribute the Program, whether in its
  1204. # original form or modified, to any third party or parties, PROVIDED
  1205. # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
  1206. # on, or be attached to, the Program, which is distributed substantially
  1207. # in the same form as set out herein and that such intended
  1208. # distribution, if actually made, will neither violate or otherwise
  1209. # contravene any of the laws and regulations of the countries having
  1210. # jurisdiction over the User or the intended distribution itself.
  1211. #
  1212. # NO WARRANTY
  1213. #
  1214. # The program was produced on an experimental basis in the course of the
  1215. # research and development conducted during the project and is provided
  1216. # to users as so produced on an experimental basis. Accordingly, the
  1217. # program is provided without any warranty whatsoever, whether express,
  1218. # implied, statutory or otherwise. The term "warranty" used herein
  1219. # includes, but is not limited to, any warranty of the quality,
  1220. # performance, merchantability and fitness for a particular purpose of
  1221. # the program and the nonexistence of any infringement or violation of
  1222. # any right of any third party.
  1223. #
  1224. # Each user of the program will agree and understand, and be deemed to
  1225. # have agreed and understood, that there is no warranty whatsoever for
  1226. # the program and, accordingly, the entire risk arising from or
  1227. # otherwise connected with the program is assumed by the user.
  1228. #
  1229. # Therefore, neither ICOT, the copyright holder, or any other
  1230. # organization that participated in or was otherwise related to the
  1231. # development of the program and their respective officials, directors,
  1232. # officers and other employees shall be held liable for any and all
  1233. # damages, including, without limitation, general, special, incidental
  1234. # and consequential damages, arising out of or otherwise in connection
  1235. # with the use or inability to use the program or any product, material
  1236. # or result produced or otherwise obtained by using the program,
  1237. # regardless of whether they have been advised of, or otherwise had
  1238. # knowledge of, the possibility of such damages at any time during the
  1239. # project or thereafter. Each user will be deemed to have agreed to the
  1240. # foregoing by his or her commencement of use of the program. The term
  1241. # "use" as used herein includes, but is not limited to, the use,
  1242. # modification, copying and distribution of the program and the
  1243. # production of secondary products from the program.
  1244. #
  1245. # In the case where the program, whether in its original form or
  1246. # modified, was distributed or delivered to or received by a user from
  1247. # any person, organization or entity other than ICOT, unless it makes or
  1248. # grants independently of ICOT any specific warranty to the user in
  1249. # writing, such person, organization or entity, will also be exempted
  1250. # from and not be held liable to the user for any such damages as noted
  1251. # above as far as the program is concerned.
  1252. #
  1253. # ---------------COPYING.ipadic-----END----------------------------------
  1254. 3. Lao Word Break Dictionary Data (laodict.txt)
  1255. # Copyright (c) 2013 International Business Machines Corporation
  1256. # and others. All Rights Reserved.
  1257. #
  1258. # Project: http://code.google.com/p/lao-dictionary/
  1259. # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt
  1260. # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt
  1261. # (copied below)
  1262. #
  1263. # This file is derived from the above dictionary, with slight
  1264. # modifications.
  1265. # ----------------------------------------------------------------------
  1266. # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
  1267. # All rights reserved.
  1268. #
  1269. # Redistribution and use in source and binary forms, with or without
  1270. # modification,
  1271. # are permitted provided that the following conditions are met:
  1272. #
  1273. #
  1274. # Redistributions of source code must retain the above copyright notice, this
  1275. # list of conditions and the following disclaimer. Redistributions in
  1276. # binary form must reproduce the above copyright notice, this list of
  1277. # conditions and the following disclaimer in the documentation and/or
  1278. # other materials provided with the distribution.
  1279. #
  1280. #
  1281. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  1282. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  1283. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  1284. # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  1285. # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  1286. # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  1287. # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  1288. # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1289. # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  1290. # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1291. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  1292. # OF THE POSSIBILITY OF SUCH DAMAGE.
  1293. # --------------------------------------------------------------------------
  1294. 4. Burmese Word Break Dictionary Data (burmesedict.txt)
  1295. # Copyright (c) 2014 International Business Machines Corporation
  1296. # and others. All Rights Reserved.
  1297. #
  1298. # This list is part of a project hosted at:
  1299. # github.com/kanyawtech/myanmar-karen-word-lists
  1300. #
  1301. # --------------------------------------------------------------------------
  1302. # Copyright (c) 2013, LeRoy Benjamin Sharon
  1303. # All rights reserved.
  1304. #
  1305. # Redistribution and use in source and binary forms, with or without
  1306. # modification, are permitted provided that the following conditions
  1307. # are met: Redistributions of source code must retain the above
  1308. # copyright notice, this list of conditions and the following
  1309. # disclaimer. Redistributions in binary form must reproduce the
  1310. # above copyright notice, this list of conditions and the following
  1311. # disclaimer in the documentation and/or other materials provided
  1312. # with the distribution.
  1313. #
  1314. # Neither the name Myanmar Karen Word Lists, nor the names of its
  1315. # contributors may be used to endorse or promote products derived
  1316. # from this software without specific prior written permission.
  1317. #
  1318. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  1319. # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  1320. # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  1321. # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  1322. # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
  1323. # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  1324. # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
  1325. # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  1326. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  1327. # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
  1328. # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
  1329. # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1330. # SUCH DAMAGE.
  1331. # --------------------------------------------------------------------------
  1332. 5. Time Zone Database
  1333. ICU uses the public domain data and code derived from Time Zone
  1334. Database for its time zone support. The ownership of the TZ database
  1335. is explained in BCP 175: Procedure for Maintaining the Time Zone
  1336. Database section 7.
  1337. # 7. Database Ownership
  1338. #
  1339. # The TZ database itself is not an IETF Contribution or an IETF
  1340. # document. Rather it is a pre-existing and regularly updated work
  1341. # that is in the public domain, and is intended to remain in the
  1342. # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
  1343. # not apply to the TZ Database or contributions that individuals make
  1344. # to it. Should any claims be made and substantiated against the TZ
  1345. # Database, the organization that is providing the IANA
  1346. # Considerations defined in this RFC, under the memorandum of
  1347. # understanding with the IETF, currently ICANN, may act in accordance
  1348. # with all competent court orders. No ownership claims will be made
  1349. # by ICANN or the IETF Trust on the database or the code. Any person
  1350. # making a contribution to the database or code waives all rights to
  1351. # future claims in that contribution or in the TZ Database.
  1352. 6. Google double-conversion
  1353. Copyright 2006-2011, the V8 project authors. All rights reserved.
  1354. Redistribution and use in source and binary forms, with or without
  1355. modification, are permitted provided that the following conditions are
  1356. met:
  1357. * Redistributions of source code must retain the above copyright
  1358. notice, this list of conditions and the following disclaimer.
  1359. * Redistributions in binary form must reproduce the above
  1360. copyright notice, this list of conditions and the following
  1361. disclaimer in the documentation and/or other materials provided
  1362. with the distribution.
  1363. * Neither the name of Google Inc. nor the names of its
  1364. contributors may be used to endorse or promote products derived
  1365. from this software without specific prior written permission.
  1366. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  1367. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  1368. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  1369. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  1370. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  1371. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  1372. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  1373. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  1374. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  1375. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  1376. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1377. --------------------------------------------------------------------------------
  1378. END LICENSE FOR third_party/icu/data/LICENSE
  1379. --------------------------------------------------------------------------------
  1380. --------------------------------------------------------------------------------
  1381. BEGIN LICENSE FOR external/boringssl/LICENSE
  1382. --------------------------------------------------------------------------------
  1383. BoringSSL is a fork of OpenSSL. As such, large parts of it fall under OpenSSL
  1384. licensing. Files that are completely new have a Google copyright and an ISC
  1385. license. This license is reproduced at the bottom of this file.
  1386. Contributors to BoringSSL are required to follow the CLA rules for Chromium:
  1387. https://cla.developers.google.com/clas
  1388. Files in third_party/ have their own licenses, as described therein. The MIT
  1389. license, for third_party/fiat, which, unlike other third_party directories, is
  1390. compiled into non-test libraries, is included below.
  1391. The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the
  1392. OpenSSL License and the original SSLeay license apply to the toolkit. See below
  1393. for the actual license texts. Actually both licenses are BSD-style Open Source
  1394. licenses. In case of any license issues related to OpenSSL please contact
  1395. openssl-core@openssl.org.
  1396. The following are Google-internal bug numbers where explicit permission from
  1397. some authors is recorded for use of their work. (This is purely for our own
  1398. record keeping.)
  1399. 27287199
  1400. 27287880
  1401. 27287883
  1402. OpenSSL License
  1403. ---------------
  1404. /* ====================================================================
  1405. * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
  1406. *
  1407. * Redistribution and use in source and binary forms, with or without
  1408. * modification, are permitted provided that the following conditions
  1409. * are met:
  1410. *
  1411. * 1. Redistributions of source code must retain the above copyright
  1412. * notice, this list of conditions and the following disclaimer.
  1413. *
  1414. * 2. Redistributions in binary form must reproduce the above copyright
  1415. * notice, this list of conditions and the following disclaimer in
  1416. * the documentation and/or other materials provided with the
  1417. * distribution.
  1418. *
  1419. * 3. All advertising materials mentioning features or use of this
  1420. * software must display the following acknowledgment:
  1421. * "This product includes software developed by the OpenSSL Project
  1422. * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
  1423. *
  1424. * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
  1425. * endorse or promote products derived from this software without
  1426. * prior written permission. For written permission, please contact
  1427. * openssl-core@openssl.org.
  1428. *
  1429. * 5. Products derived from this software may not be called "OpenSSL"
  1430. * nor may "OpenSSL" appear in their names without prior written
  1431. * permission of the OpenSSL Project.
  1432. *
  1433. * 6. Redistributions of any form whatsoever must retain the following
  1434. * acknowledgment:
  1435. * "This product includes software developed by the OpenSSL Project
  1436. * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
  1437. *
  1438. * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
  1439. * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1440. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1441. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
  1442. * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  1443. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  1444. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  1445. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1446. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  1447. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1448. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  1449. * OF THE POSSIBILITY OF SUCH DAMAGE.
  1450. * ====================================================================
  1451. *
  1452. * This product includes cryptographic software written by Eric Young
  1453. * (eay@cryptsoft.com). This product includes software written by Tim
  1454. * Hudson (tjh@cryptsoft.com).
  1455. *
  1456. */
  1457. Original SSLeay License
  1458. -----------------------
  1459. /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  1460. * All rights reserved.
  1461. *
  1462. * This package is an SSL implementation written
  1463. * by Eric Young (eay@cryptsoft.com).
  1464. * The implementation was written so as to conform with Netscapes SSL.
  1465. *
  1466. * This library is free for commercial and non-commercial use as long as
  1467. * the following conditions are aheared to. The following conditions
  1468. * apply to all code found in this distribution, be it the RC4, RSA,
  1469. * lhash, DES, etc., code; not just the SSL code. The SSL documentation
  1470. * included with this distribution is covered by the same copyright terms
  1471. * except that the holder is Tim Hudson (tjh@cryptsoft.com).
  1472. *
  1473. * Copyright remains Eric Young's, and as such any Copyright notices in
  1474. * the code are not to be removed.
  1475. * If this package is used in a product, Eric Young should be given attribution
  1476. * as the author of the parts of the library used.
  1477. * This can be in the form of a textual message at program startup or
  1478. * in documentation (online or textual) provided with the package.
  1479. *
  1480. * Redistribution and use in source and binary forms, with or without
  1481. * modification, are permitted provided that the following conditions
  1482. * are met:
  1483. * 1. Redistributions of source code must retain the copyright
  1484. * notice, this list of conditions and the following disclaimer.
  1485. * 2. Redistributions in binary form must reproduce the above copyright
  1486. * notice, this list of conditions and the following disclaimer in the
  1487. * documentation and/or other materials provided with the distribution.
  1488. * 3. All advertising materials mentioning features or use of this software
  1489. * must display the following acknowledgement:
  1490. * "This product includes cryptographic software written by
  1491. * Eric Young (eay@cryptsoft.com)"
  1492. * The word 'cryptographic' can be left out if the rouines from the library
  1493. * being used are not cryptographic related :-).
  1494. * 4. If you include any Windows specific code (or a derivative thereof) from
  1495. * the apps directory (application code) you must include an acknowledgement:
  1496. * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
  1497. *
  1498. * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  1499. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1500. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1501. * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  1502. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1503. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1504. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1505. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1506. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1507. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1508. * SUCH DAMAGE.
  1509. *
  1510. * The licence and distribution terms for any publically available version or
  1511. * derivative of this code cannot be changed. i.e. this code cannot simply be
  1512. * copied and put under another distribution licence
  1513. * [including the GNU Public Licence.]
  1514. */
  1515. ISC license used for completely new code in BoringSSL:
  1516. /* Copyright (c) 2015, Google Inc.
  1517. *
  1518. * Permission to use, copy, modify, and/or distribute this software for any
  1519. * purpose with or without fee is hereby granted, provided that the above
  1520. * copyright notice and this permission notice appear in all copies.
  1521. *
  1522. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  1523. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  1524. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
  1525. * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  1526. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  1527. * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  1528. * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
  1529. The code in third_party/fiat carries the MIT license:
  1530. Copyright (c) 2015-2016 the fiat-crypto authors (see
  1531. https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS).
  1532. Permission is hereby granted, free of charge, to any person obtaining a copy
  1533. of this software and associated documentation files (the "Software"), to deal
  1534. in the Software without restriction, including without limitation the rights
  1535. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  1536. copies of the Software, and to permit persons to whom the Software is
  1537. furnished to do so, subject to the following conditions:
  1538. The above copyright notice and this permission notice shall be included in all
  1539. copies or substantial portions of the Software.
  1540. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  1541. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  1542. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  1543. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  1544. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  1545. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  1546. SOFTWARE.
  1547. Licenses for support code
  1548. -------------------------
  1549. Parts of the TLS test suite are under the Go license. This code is not included
  1550. in BoringSSL (i.e. libcrypto and libssl) when compiled, however, so
  1551. distributing code linked against BoringSSL does not trigger this license:
  1552. Copyright (c) 2009 The Go Authors. All rights reserved.
  1553. Redistribution and use in source and binary forms, with or without
  1554. modification, are permitted provided that the following conditions are
  1555. met:
  1556. * Redistributions of source code must retain the above copyright
  1557. notice, this list of conditions and the following disclaimer.
  1558. * Redistributions in binary form must reproduce the above
  1559. copyright notice, this list of conditions and the following disclaimer
  1560. in the documentation and/or other materials provided with the
  1561. distribution.
  1562. * Neither the name of Google Inc. nor the names of its
  1563. contributors may be used to endorse or promote products derived from
  1564. this software without specific prior written permission.
  1565. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  1566. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  1567. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  1568. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  1569. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  1570. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  1571. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  1572. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  1573. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  1574. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  1575. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1576. BoringSSL uses the Chromium test infrastructure to run a continuous build,
  1577. trybots etc. The scripts which manage this, and the script for generating build
  1578. metadata, are under the Chromium license. Distributing code linked against
  1579. BoringSSL does not trigger this license.
  1580. Copyright 2015 The Chromium Authors. All rights reserved.
  1581. Redistribution and use in source and binary forms, with or without
  1582. modification, are permitted provided that the following conditions are
  1583. met:
  1584. * Redistributions of source code must retain the above copyright
  1585. notice, this list of conditions and the following disclaimer.
  1586. * Redistributions in binary form must reproduce the above
  1587. copyright notice, this list of conditions and the following disclaimer
  1588. in the documentation and/or other materials provided with the
  1589. distribution.
  1590. * Neither the name of Google Inc. nor the names of its
  1591. contributors may be used to endorse or promote products derived from
  1592. this software without specific prior written permission.
  1593. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  1594. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  1595. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  1596. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  1597. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  1598. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  1599. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  1600. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  1601. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  1602. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  1603. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1604. --------------------------------------------------------------------------------
  1605. END LICENSE FOR external/boringssl/LICENSE
  1606. --------------------------------------------------------------------------------
  1607. --------------------------------------------------------------------------------
  1608. BEGIN LICENSE FOR external/com_google_protobuf/LICENSE
  1609. --------------------------------------------------------------------------------
  1610. Copyright 2008 Google Inc. All rights reserved.
  1611. Redistribution and use in source and binary forms, with or without
  1612. modification, are permitted provided that the following conditions are
  1613. met:
  1614. * Redistributions of source code must retain the above copyright
  1615. notice, this list of conditions and the following disclaimer.
  1616. * Redistributions in binary form must reproduce the above
  1617. copyright notice, this list of conditions and the following disclaimer
  1618. in the documentation and/or other materials provided with the
  1619. distribution.
  1620. * Neither the name of Google Inc. nor the names of its
  1621. contributors may be used to endorse or promote products derived from
  1622. this software without specific prior written permission.
  1623. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  1624. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  1625. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  1626. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  1627. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  1628. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  1629. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  1630. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  1631. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  1632. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  1633. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1634. Code generated by the Protocol Buffer compiler is owned by the owner
  1635. of the input file used when generating it. This code is not
  1636. standalone and requires a support library to be linked with it. This
  1637. support library is itself covered by the above license.
  1638. --------------------------------------------------------------------------------
  1639. END LICENSE FOR external/com_google_protobuf/LICENSE
  1640. --------------------------------------------------------------------------------
  1641. --------------------------------------------------------------------------------
  1642. BEGIN LICENSE FOR external/com_googlesource_code_re2/LICENSE
  1643. --------------------------------------------------------------------------------
  1644. // Copyright (c) 2009 The RE2 Authors. All rights reserved.
  1645. //
  1646. // Redistribution and use in source and binary forms, with or without
  1647. // modification, are permitted provided that the following conditions are
  1648. // met:
  1649. //
  1650. // * Redistributions of source code must retain the above copyright
  1651. // notice, this list of conditions and the following disclaimer.
  1652. // * Redistributions in binary form must reproduce the above
  1653. // copyright notice, this list of conditions and the following disclaimer
  1654. // in the documentation and/or other materials provided with the
  1655. // distribution.
  1656. // * Neither the name of Google Inc. nor the names of its
  1657. // contributors may be used to endorse or promote products derived from
  1658. // this software without specific prior written permission.
  1659. //
  1660. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  1661. // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  1662. // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  1663. // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  1664. // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  1665. // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  1666. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  1667. // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  1668. // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  1669. // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  1670. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1671. --------------------------------------------------------------------------------
  1672. END LICENSE FOR external/com_googlesource_code_re2/LICENSE
  1673. --------------------------------------------------------------------------------
  1674. --------------------------------------------------------------------------------
  1675. BEGIN LICENSE FOR external/curl/COPYING
  1676. --------------------------------------------------------------------------------
  1677. COPYRIGHT AND PERMISSION NOTICE
  1678. Copyright (c) 1996 - 2021, Daniel Stenberg, <daniel@haxx.se>, and many
  1679. contributors, see the THANKS file.
  1680. All rights reserved.
  1681. Permission to use, copy, modify, and distribute this software for any purpose
  1682. with or without fee is hereby granted, provided that the above copyright
  1683. notice and this permission notice appear in all copies.
  1684. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  1685. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  1686. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
  1687. NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  1688. DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  1689. OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
  1690. OR OTHER DEALINGS IN THE SOFTWARE.
  1691. Except as contained in this notice, the name of a copyright holder shall not
  1692. be used in advertising or otherwise to promote the sale, use or other dealings
  1693. in this Software without prior written authorization of the copyright holder.
  1694. --------------------------------------------------------------------------------
  1695. END LICENSE FOR external/curl/COPYING
  1696. --------------------------------------------------------------------------------
  1697. --------------------------------------------------------------------------------
  1698. BEGIN LICENSE FOR external/double_conversion/LICENSE
  1699. --------------------------------------------------------------------------------
  1700. Copyright 2006-2011, the V8 project authors. All rights reserved.
  1701. Redistribution and use in source and binary forms, with or without
  1702. modification, are permitted provided that the following conditions are
  1703. met:
  1704. * Redistributions of source code must retain the above copyright
  1705. notice, this list of conditions and the following disclaimer.
  1706. * Redistributions in binary form must reproduce the above
  1707. copyright notice, this list of conditions and the following
  1708. disclaimer in the documentation and/or other materials provided
  1709. with the distribution.
  1710. * Neither the name of Google Inc. nor the names of its
  1711. contributors may be used to endorse or promote products derived
  1712. from this software without specific prior written permission.
  1713. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  1714. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  1715. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  1716. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  1717. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  1718. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  1719. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  1720. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  1721. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  1722. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  1723. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1724. --------------------------------------------------------------------------------
  1725. END LICENSE FOR external/double_conversion/LICENSE
  1726. --------------------------------------------------------------------------------
  1727. --------------------------------------------------------------------------------
  1728. BEGIN LICENSE FOR external/eigen_archive/COPYING.MPL2
  1729. --------------------------------------------------------------------------------
  1730. Mozilla Public License Version 2.0
  1731. ==================================
  1732. 1. Definitions
  1733. --------------
  1734. 1.1. "Contributor"
  1735. means each individual or legal entity that creates, contributes to
  1736. the creation of, or owns Covered Software.
  1737. 1.2. "Contributor Version"
  1738. means the combination of the Contributions of others (if any) used
  1739. by a Contributor and that particular Contributor's Contribution.
  1740. 1.3. "Contribution"
  1741. means Covered Software of a particular Contributor.
  1742. 1.4. "Covered Software"
  1743. means Source Code Form to which the initial Contributor has attached
  1744. the notice in Exhibit A, the Executable Form of such Source Code
  1745. Form, and Modifications of such Source Code Form, in each case
  1746. including portions thereof.
  1747. 1.5. "Incompatible With Secondary Licenses"
  1748. means
  1749. (a) that the initial Contributor has attached the notice described
  1750. in Exhibit B to the Covered Software; or
  1751. (b) that the Covered Software was made available under the terms of
  1752. version 1.1 or earlier of the License, but not also under the
  1753. terms of a Secondary License.
  1754. 1.6. "Executable Form"
  1755. means any form of the work other than Source Code Form.
  1756. 1.7. "Larger Work"
  1757. means a work that combines Covered Software with other material, in
  1758. a separate file or files, that is not Covered Software.
  1759. 1.8. "License"
  1760. means this document.
  1761. 1.9. "Licensable"
  1762. means having the right to grant, to the maximum extent possible,
  1763. whether at the time of the initial grant or subsequently, any and
  1764. all of the rights conveyed by this License.
  1765. 1.10. "Modifications"
  1766. means any of the following:
  1767. (a) any file in Source Code Form that results from an addition to,
  1768. deletion from, or modification of the contents of Covered
  1769. Software; or
  1770. (b) any new file in Source Code Form that contains any Covered
  1771. Software.
  1772. 1.11. "Patent Claims" of a Contributor
  1773. means any patent claim(s), including without limitation, method,
  1774. process, and apparatus claims, in any patent Licensable by such
  1775. Contributor that would be infringed, but for the grant of the
  1776. License, by the making, using, selling, offering for sale, having
  1777. made, import, or transfer of either its Contributions or its
  1778. Contributor Version.
  1779. 1.12. "Secondary License"
  1780. means either the GNU General Public License, Version 2.0, the GNU
  1781. Lesser General Public License, Version 2.1, the GNU Affero General
  1782. Public License, Version 3.0, or any later versions of those
  1783. licenses.
  1784. 1.13. "Source Code Form"
  1785. means the form of the work preferred for making modifications.
  1786. 1.14. "You" (or "Your")
  1787. means an individual or a legal entity exercising rights under this
  1788. License. For legal entities, "You" includes any entity that
  1789. controls, is controlled by, or is under common control with You. For
  1790. purposes of this definition, "control" means (a) the power, direct
  1791. or indirect, to cause the direction or management of such entity,
  1792. whether by contract or otherwise, or (b) ownership of more than
  1793. fifty percent (50%) of the outstanding shares or beneficial
  1794. ownership of such entity.
  1795. 2. License Grants and Conditions
  1796. --------------------------------
  1797. 2.1. Grants
  1798. Each Contributor hereby grants You a world-wide, royalty-free,
  1799. non-exclusive license:
  1800. (a) under intellectual property rights (other than patent or trademark)
  1801. Licensable by such Contributor to use, reproduce, make available,
  1802. modify, display, perform, distribute, and otherwise exploit its
  1803. Contributions, either on an unmodified basis, with Modifications, or
  1804. as part of a Larger Work; and
  1805. (b) under Patent Claims of such Contributor to make, use, sell, offer
  1806. for sale, have made, import, and otherwise transfer either its
  1807. Contributions or its Contributor Version.
  1808. 2.2. Effective Date
  1809. The licenses granted in Section 2.1 with respect to any Contribution
  1810. become effective for each Contribution on the date the Contributor first
  1811. distributes such Contribution.
  1812. 2.3. Limitations on Grant Scope
  1813. The licenses granted in this Section 2 are the only rights granted under
  1814. this License. No additional rights or licenses will be implied from the
  1815. distribution or licensing of Covered Software under this License.
  1816. Notwithstanding Section 2.1(b) above, no patent license is granted by a
  1817. Contributor:
  1818. (a) for any code that a Contributor has removed from Covered Software;
  1819. or
  1820. (b) for infringements caused by: (i) Your and any other third party's
  1821. modifications of Covered Software, or (ii) the combination of its
  1822. Contributions with other software (except as part of its Contributor
  1823. Version); or
  1824. (c) under Patent Claims infringed by Covered Software in the absence of
  1825. its Contributions.
  1826. This License does not grant any rights in the trademarks, service marks,
  1827. or logos of any Contributor (except as may be necessary to comply with
  1828. the notice requirements in Section 3.4).
  1829. 2.4. Subsequent Licenses
  1830. No Contributor makes additional grants as a result of Your choice to
  1831. distribute the Covered Software under a subsequent version of this
  1832. License (see Section 10.2) or under the terms of a Secondary License (if
  1833. permitted under the terms of Section 3.3).
  1834. 2.5. Representation
  1835. Each Contributor represents that the Contributor believes its
  1836. Contributions are its original creation(s) or it has sufficient rights
  1837. to grant the rights to its Contributions conveyed by this License.
  1838. 2.6. Fair Use
  1839. This License is not intended to limit any rights You have under
  1840. applicable copyright doctrines of fair use, fair dealing, or other
  1841. equivalents.
  1842. 2.7. Conditions
  1843. Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
  1844. in Section 2.1.
  1845. 3. Responsibilities
  1846. -------------------
  1847. 3.1. Distribution of Source Form
  1848. All distribution of Covered Software in Source Code Form, including any
  1849. Modifications that You create or to which You contribute, must be under
  1850. the terms of this License. You must inform recipients that the Source
  1851. Code Form of the Covered Software is governed by the terms of this
  1852. License, and how they can obtain a copy of this License. You may not
  1853. attempt to alter or restrict the recipients' rights in the Source Code
  1854. Form.
  1855. 3.2. Distribution of Executable Form
  1856. If You distribute Covered Software in Executable Form then:
  1857. (a) such Covered Software must also be made available in Source Code
  1858. Form, as described in Section 3.1, and You must inform recipients of
  1859. the Executable Form how they can obtain a copy of such Source Code
  1860. Form by reasonable means in a timely manner, at a charge no more
  1861. than the cost of distribution to the recipient; and
  1862. (b) You may distribute such Executable Form under the terms of this
  1863. License, or sublicense it under different terms, provided that the
  1864. license for the Executable Form does not attempt to limit or alter
  1865. the recipients' rights in the Source Code Form under this License.
  1866. 3.3. Distribution of a Larger Work
  1867. You may create and distribute a Larger Work under terms of Your choice,
  1868. provided that You also comply with the requirements of this License for
  1869. the Covered Software. If the Larger Work is a combination of Covered
  1870. Software with a work governed by one or more Secondary Licenses, and the
  1871. Covered Software is not Incompatible With Secondary Licenses, this
  1872. License permits You to additionally distribute such Covered Software
  1873. under the terms of such Secondary License(s), so that the recipient of
  1874. the Larger Work may, at their option, further distribute the Covered
  1875. Software under the terms of either this License or such Secondary
  1876. License(s).
  1877. 3.4. Notices
  1878. You may not remove or alter the substance of any license notices
  1879. (including copyright notices, patent notices, disclaimers of warranty,
  1880. or limitations of liability) contained within the Source Code Form of
  1881. the Covered Software, except that You may alter any license notices to
  1882. the extent required to remedy known factual inaccuracies.
  1883. 3.5. Application of Additional Terms
  1884. You may choose to offer, and to charge a fee for, warranty, support,
  1885. indemnity or liability obligations to one or more recipients of Covered
  1886. Software. However, You may do so only on Your own behalf, and not on
  1887. behalf of any Contributor. You must make it absolutely clear that any
  1888. such warranty, support, indemnity, or liability obligation is offered by
  1889. You alone, and You hereby agree to indemnify every Contributor for any
  1890. liability incurred by such Contributor as a result of warranty, support,
  1891. indemnity or liability terms You offer. You may include additional
  1892. disclaimers of warranty and limitations of liability specific to any
  1893. jurisdiction.
  1894. 4. Inability to Comply Due to Statute or Regulation
  1895. ---------------------------------------------------
  1896. If it is impossible for You to comply with any of the terms of this
  1897. License with respect to some or all of the Covered Software due to
  1898. statute, judicial order, or regulation then You must: (a) comply with
  1899. the terms of this License to the maximum extent possible; and (b)
  1900. describe the limitations and the code they affect. Such description must
  1901. be placed in a text file included with all distributions of the Covered
  1902. Software under this License. Except to the extent prohibited by statute
  1903. or regulation, such description must be sufficiently detailed for a
  1904. recipient of ordinary skill to be able to understand it.
  1905. 5. Termination
  1906. --------------
  1907. 5.1. The rights granted under this License will terminate automatically
  1908. if You fail to comply with any of its terms. However, if You become
  1909. compliant, then the rights granted under this License from a particular
  1910. Contributor are reinstated (a) provisionally, unless and until such
  1911. Contributor explicitly and finally terminates Your grants, and (b) on an
  1912. ongoing basis, if such Contributor fails to notify You of the
  1913. non-compliance by some reasonable means prior to 60 days after You have
  1914. come back into compliance. Moreover, Your grants from a particular
  1915. Contributor are reinstated on an ongoing basis if such Contributor
  1916. notifies You of the non-compliance by some reasonable means, this is the
  1917. first time You have received notice of non-compliance with this License
  1918. from such Contributor, and You become compliant prior to 30 days after
  1919. Your receipt of the notice.
  1920. 5.2. If You initiate litigation against any entity by asserting a patent
  1921. infringement claim (excluding declaratory judgment actions,
  1922. counter-claims, and cross-claims) alleging that a Contributor Version
  1923. directly or indirectly infringes any patent, then the rights granted to
  1924. You by any and all Contributors for the Covered Software under Section
  1925. 2.1 of this License shall terminate.
  1926. 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
  1927. end user license agreements (excluding distributors and resellers) which
  1928. have been validly granted by You or Your distributors under this License
  1929. prior to termination shall survive termination.
  1930. ************************************************************************
  1931. * *
  1932. * 6. Disclaimer of Warranty *
  1933. * ------------------------- *
  1934. * *
  1935. * Covered Software is provided under this License on an "as is" *
  1936. * basis, without warranty of any kind, either expressed, implied, or *
  1937. * statutory, including, without limitation, warranties that the *
  1938. * Covered Software is free of defects, merchantable, fit for a *
  1939. * particular purpose or non-infringing. The entire risk as to the *
  1940. * quality and performance of the Covered Software is with You. *
  1941. * Should any Covered Software prove defective in any respect, You *
  1942. * (not any Contributor) assume the cost of any necessary servicing, *
  1943. * repair, or correction. This disclaimer of warranty constitutes an *
  1944. * essential part of this License. No use of any Covered Software is *
  1945. * authorized under this License except under this disclaimer. *
  1946. * *
  1947. ************************************************************************
  1948. ************************************************************************
  1949. * *
  1950. * 7. Limitation of Liability *
  1951. * -------------------------- *
  1952. * *
  1953. * Under no circumstances and under no legal theory, whether tort *
  1954. * (including negligence), contract, or otherwise, shall any *
  1955. * Contributor, or anyone who distributes Covered Software as *
  1956. * permitted above, be liable to You for any direct, indirect, *
  1957. * special, incidental, or consequential damages of any character *
  1958. * including, without limitation, damages for lost profits, loss of *
  1959. * goodwill, work stoppage, computer failure or malfunction, or any *
  1960. * and all other commercial damages or losses, even if such party *
  1961. * shall have been informed of the possibility of such damages. This *
  1962. * limitation of liability shall not apply to liability for death or *
  1963. * personal injury resulting from such party's negligence to the *
  1964. * extent applicable law prohibits such limitation. Some *
  1965. * jurisdictions do not allow the exclusion or limitation of *
  1966. * incidental or consequential damages, so this exclusion and *
  1967. * limitation may not apply to You. *
  1968. * *
  1969. ************************************************************************
  1970. 8. Litigation
  1971. -------------
  1972. Any litigation relating to this License may be brought only in the
  1973. courts of a jurisdiction where the defendant maintains its principal
  1974. place of business and such litigation shall be governed by laws of that
  1975. jurisdiction, without reference to its conflict-of-law provisions.
  1976. Nothing in this Section shall prevent a party's ability to bring
  1977. cross-claims or counter-claims.
  1978. 9. Miscellaneous
  1979. ----------------
  1980. This License represents the complete agreement concerning the subject
  1981. matter hereof. If any provision of this License is held to be
  1982. unenforceable, such provision shall be reformed only to the extent
  1983. necessary to make it enforceable. Any law or regulation which provides
  1984. that the language of a contract shall be construed against the drafter
  1985. shall not be used to construe this License against a Contributor.
  1986. 10. Versions of the License
  1987. ---------------------------
  1988. 10.1. New Versions
  1989. Mozilla Foundation is the license steward. Except as provided in Section
  1990. 10.3, no one other than the license steward has the right to modify or
  1991. publish new versions of this License. Each version will be given a
  1992. distinguishing version number.
  1993. 10.2. Effect of New Versions
  1994. You may distribute the Covered Software under the terms of the version
  1995. of the License under which You originally received the Covered Software,
  1996. or under the terms of any subsequent version published by the license
  1997. steward.
  1998. 10.3. Modified Versions
  1999. If you create software not governed by this License, and you want to
  2000. create a new license for such software, you may create and use a
  2001. modified version of this License if you rename the license and remove
  2002. any references to the name of the license steward (except to note that
  2003. such modified license differs from this License).
  2004. 10.4. Distributing Source Code Form that is Incompatible With Secondary
  2005. Licenses
  2006. If You choose to distribute Source Code Form that is Incompatible With
  2007. Secondary Licenses under the terms of this version of the License, the
  2008. notice described in Exhibit B of this License must be attached.
  2009. Exhibit A - Source Code Form License Notice
  2010. -------------------------------------------
  2011. This Source Code Form is subject to the terms of the Mozilla Public
  2012. License, v. 2.0. If a copy of the MPL was not distributed with this
  2013. file, You can obtain one at http://mozilla.org/MPL/2.0/.
  2014. If it is not possible or desirable to put the notice in a particular
  2015. file, then You may include the notice in a location (such as a LICENSE
  2016. file in a relevant directory) where a recipient would be likely to look
  2017. for such a notice.
  2018. You may add additional accurate notices of copyright ownership.
  2019. Exhibit B - "Incompatible With Secondary Licenses" Notice
  2020. ---------------------------------------------------------
  2021. This Source Code Form is "Incompatible With Secondary Licenses", as
  2022. defined by the Mozilla Public License, v. 2.0.
  2023. --------------------------------------------------------------------------------
  2024. END LICENSE FOR external/eigen_archive/COPYING.MPL2
  2025. --------------------------------------------------------------------------------
  2026. --------------------------------------------------------------------------------
  2027. BEGIN LICENSE FOR external/farmhash_archive/COPYING
  2028. --------------------------------------------------------------------------------
  2029. // Copyright (c) 2014 Google, Inc.
  2030. //
  2031. // Permission is hereby granted, free of charge, to any person obtaining a copy
  2032. // of this software and associated documentation files (the "Software"), to deal
  2033. // in the Software without restriction, including without limitation the rights
  2034. // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  2035. // copies of the Software, and to permit persons to whom the Software is
  2036. // furnished to do so, subject to the following conditions:
  2037. //
  2038. // The above copyright notice and this permission notice shall be included in
  2039. // all copies or substantial portions of the Software.
  2040. //
  2041. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  2042. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  2043. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  2044. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  2045. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  2046. // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  2047. // THE SOFTWARE.
  2048. --------------------------------------------------------------------------------
  2049. END LICENSE FOR external/farmhash_archive/COPYING
  2050. --------------------------------------------------------------------------------
  2051. --------------------------------------------------------------------------------
  2052. BEGIN LICENSE FOR external/fft2d/readme2d.txt
  2053. --------------------------------------------------------------------------------
  2054. General Purpose 2D,3D FFT (Fast Fourier Transform) Package
  2055. Files
  2056. alloc.c : 2D-array Allocation
  2057. alloc.h : 2D-array Allocation
  2058. fft4f2d.c : 2D FFT Package in C - Version I (radix 4, 2)
  2059. fft4f2d.f : 2D FFT Package in Fortran - Version I (radix 4, 2)
  2060. fftsg.c : 1D FFT Package in C - Fast Version (Split-Radix)
  2061. fftsg.f : 1D FFT Package in Fortran - Fast Version (Split-Radix)
  2062. fftsg2d.c : 2D FFT Package in C - Version II (Split-Radix)
  2063. fftsg2d.f : 2D FFT Package in Fortran - Version II (Split-Radix)
  2064. fftsg3d.c : 3D FFT Package in C - Version II (Split-Radix)
  2065. fftsg3d.f : 3D FFT Package in Fortran - Version II (Split-Radix)
  2066. shrtdct.c : 8x8, 16x16 DCT Package
  2067. sample2d/
  2068. Makefile : for gcc, cc
  2069. Makefile.f77: for Fortran
  2070. Makefile.pth: Pthread version
  2071. fft4f2dt.c : Test Program for "fft4f2d.c"
  2072. fft4f2dt.f : Test Program for "fft4f2d.f"
  2073. fftsg2dt.c : Test Program for "fftsg2d.c"
  2074. fftsg2dt.f : Test Program for "fftsg2d.f"
  2075. fftsg3dt.c : Test Program for "fftsg3d.c"
  2076. fftsg3dt.f : Test Program for "fftsg3d.f"
  2077. shrtdctt.c : Test Program for "shrtdct.c"
  2078. Difference of Files
  2079. C and Fortran versions are equal and
  2080. the same routines are in each version.
  2081. ---- Difference between "fft4f2d.*" and "fftsg2d.*" ----
  2082. "fft4f2d.*" are optimized for the old machines that
  2083. don't have the large size CPU cache.
  2084. "fftsg2d.*", "fftsg3d.*" use 1D FFT routines in "fftsg.*".
  2085. "fftsg2d.*", "fftsg3d.*" are optimized for the machines that
  2086. have the multi-level (L1,L2,etc) cache.
  2087. Routines in the Package
  2088. in fft4f2d.*, fftsg2d.*
  2089. cdft2d: 2-dim Complex Discrete Fourier Transform
  2090. rdft2d: 2-dim Real Discrete Fourier Transform
  2091. ddct2d: 2-dim Discrete Cosine Transform
  2092. ddst2d: 2-dim Discrete Sine Transform
  2093. rdft2dsort: rdft2d input/output ordering (fftsg2d.*)
  2094. in fftsg3d.*
  2095. cdft3d: 3-dim Complex Discrete Fourier Transform
  2096. rdft3d: 3-dim Real Discrete Fourier Transform
  2097. ddct3d: 3-dim Discrete Cosine Transform
  2098. ddst3d: 3-dim Discrete Sine Transform
  2099. rdft3dsort: rdft3d input/output ordering
  2100. in fftsg.*
  2101. cdft: 1-dim Complex Discrete Fourier Transform
  2102. rdft: 1-dim Real Discrete Fourier Transform
  2103. ddct: 1-dim Discrete Cosine Transform
  2104. ddst: 1-dim Discrete Sine Transform
  2105. dfct: 1-dim Real Symmetric DFT
  2106. dfst: 1-dim Real Anti-symmetric DFT
  2107. (these routines are called by fftsg2d.*, fftsg3d.*)
  2108. in shrtdct.c
  2109. ddct8x8s : Normalized 8x8 DCT
  2110. ddct16x16s: Normalized 16x16 DCT
  2111. (faster than ddct2d())
  2112. Usage
  2113. Brief explanations are in block comments of each packages.
  2114. The examples are given in the test programs.
  2115. Copyright
  2116. Copyright(C) 1997,2001 Takuya OOURA (email: ooura@kurims.kyoto-u.ac.jp).
  2117. You may use, copy, modify this code for any purpose and
  2118. without fee. You may distribute this ORIGINAL package.
  2119. History
  2120. ...
  2121. Nov. 2001 : Add 3D-FFT routines
  2122. Dec. 2006 : Fix a documentation bug in "fftsg3d.*"
  2123. Dec. 2006 : Fix a minor bug in "fftsg.f"
  2124. --------------------------------------------------------------------------------
  2125. END LICENSE FOR external/fft2d/readme2d.txt
  2126. --------------------------------------------------------------------------------
  2127. --------------------------------------------------------------------------------
  2128. BEGIN LICENSE FOR external/gemmlowp/LICENSE
  2129. --------------------------------------------------------------------------------
  2130. Apache License
  2131. Version 2.0, January 2004
  2132. http://www.apache.org/licenses/
  2133. TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  2134. 1. Definitions.
  2135. "License" shall mean the terms and conditions for use, reproduction,
  2136. and distribution as defined by Sections 1 through 9 of this document.
  2137. "Licensor" shall mean the copyright owner or entity authorized by
  2138. the copyright owner that is granting the License.
  2139. "Legal Entity" shall mean the union of the acting entity and all
  2140. other entities that control, are controlled by, or are under common
  2141. control with that entity. For the purposes of this definition,
  2142. "control" means (i) the power, direct or indirect, to cause the
  2143. direction or management of such entity, whether by contract or
  2144. otherwise, or (ii) ownership of fifty percent (50%) or more of the
  2145. outstanding shares, or (iii) beneficial ownership of such entity.
  2146. "You" (or "Your") shall mean an individual or Legal Entity
  2147. exercising permissions granted by this License.
  2148. "Source" form shall mean the preferred form for making modifications,
  2149. including but not limited to software source code, documentation
  2150. source, and configuration files.
  2151. "Object" form shall mean any form resulting from mechanical
  2152. transformation or translation of a Source form, including but
  2153. not limited to compiled object code, generated documentation,
  2154. and conversions to other media types.
  2155. "Work" shall mean the work of authorship, whether in Source or
  2156. Object form, made available under the License, as indicated by a
  2157. copyright notice that is included in or attached to the work
  2158. (an example is provided in the Appendix below).
  2159. "Derivative Works" shall mean any work, whether in Source or Object
  2160. form, that is based on (or derived from) the Work and for which the
  2161. editorial revisions, annotations, elaborations, or other modifications
  2162. represent, as a whole, an original work of authorship. For the purposes
  2163. of this License, Derivative Works shall not include works that remain
  2164. separable from, or merely link (or bind by name) to the interfaces of,
  2165. the Work and Derivative Works thereof.
  2166. "Contribution" shall mean any work of authorship, including
  2167. the original version of the Work and any modifications or additions
  2168. to that Work or Derivative Works thereof, that is intentionally
  2169. submitted to Licensor for inclusion in the Work by the copyright owner
  2170. or by an individual or Legal Entity authorized to submit on behalf of
  2171. the copyright owner. For the purposes of this definition, "submitted"
  2172. means any form of electronic, verbal, or written communication sent
  2173. to the Licensor or its representatives, including but not limited to
  2174. communication on electronic mailing lists, source code control systems,
  2175. and issue tracking systems that are managed by, or on behalf of, the
  2176. Licensor for the purpose of discussing and improving the Work, but
  2177. excluding communication that is conspicuously marked or otherwise
  2178. designated in writing by the copyright owner as "Not a Contribution."
  2179. "Contributor" shall mean Licensor and any individual or Legal Entity
  2180. on behalf of whom a Contribution has been received by Licensor and
  2181. subsequently incorporated within the Work.
  2182. 2. Grant of Copyright License. Subject to the terms and conditions of
  2183. this License, each Contributor hereby grants to You a perpetual,
  2184. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  2185. copyright license to reproduce, prepare Derivative Works of,
  2186. publicly display, publicly perform, sublicense, and distribute the
  2187. Work and such Derivative Works in Source or Object form.
  2188. 3. Grant of Patent License. Subject to the terms and conditions of
  2189. this License, each Contributor hereby grants to You a perpetual,
  2190. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  2191. (except as stated in this section) patent license to make, have made,
  2192. use, offer to sell, sell, import, and otherwise transfer the Work,
  2193. where such license applies only to those patent claims licensable
  2194. by such Contributor that are necessarily infringed by their
  2195. Contribution(s) alone or by combination of their Contribution(s)
  2196. with the Work to which such Contribution(s) was submitted. If You
  2197. institute patent litigation against any entity (including a
  2198. cross-claim or counterclaim in a lawsuit) alleging that the Work
  2199. or a Contribution incorporated within the Work constitutes direct
  2200. or contributory patent infringement, then any patent licenses
  2201. granted to You under this License for that Work shall terminate
  2202. as of the date such litigation is filed.
  2203. 4. Redistribution. You may reproduce and distribute copies of the
  2204. Work or Derivative Works thereof in any medium, with or without
  2205. modifications, and in Source or Object form, provided that You
  2206. meet the following conditions:
  2207. (a) You must give any other recipients of the Work or
  2208. Derivative Works a copy of this License; and
  2209. (b) You must cause any modified files to carry prominent notices
  2210. stating that You changed the files; and
  2211. (c) You must retain, in the Source form of any Derivative Works
  2212. that You distribute, all copyright, patent, trademark, and
  2213. attribution notices from the Source form of the Work,
  2214. excluding those notices that do not pertain to any part of
  2215. the Derivative Works; and
  2216. (d) If the Work includes a "NOTICE" text file as part of its
  2217. distribution, then any Derivative Works that You distribute must
  2218. include a readable copy of the attribution notices contained
  2219. within such NOTICE file, excluding those notices that do not
  2220. pertain to any part of the Derivative Works, in at least one
  2221. of the following places: within a NOTICE text file distributed
  2222. as part of the Derivative Works; within the Source form or
  2223. documentation, if provided along with the Derivative Works; or,
  2224. within a display generated by the Derivative Works, if and
  2225. wherever such third-party notices normally appear. The contents
  2226. of the NOTICE file are for informational purposes only and
  2227. do not modify the License. You may add Your own attribution
  2228. notices within Derivative Works that You distribute, alongside
  2229. or as an addendum to the NOTICE text from the Work, provided
  2230. that such additional attribution notices cannot be construed
  2231. as modifying the License.
  2232. You may add Your own copyright statement to Your modifications and
  2233. may provide additional or different license terms and conditions
  2234. for use, reproduction, or distribution of Your modifications, or
  2235. for any such Derivative Works as a whole, provided Your use,
  2236. reproduction, and distribution of the Work otherwise complies with
  2237. the conditions stated in this License.
  2238. 5. Submission of Contributions. Unless You explicitly state otherwise,
  2239. any Contribution intentionally submitted for inclusion in the Work
  2240. by You to the Licensor shall be under the terms and conditions of
  2241. this License, without any additional terms or conditions.
  2242. Notwithstanding the above, nothing herein shall supersede or modify
  2243. the terms of any separate license agreement you may have executed
  2244. with Licensor regarding such Contributions.
  2245. 6. Trademarks. This License does not grant permission to use the trade
  2246. names, trademarks, service marks, or product names of the Licensor,
  2247. except as required for reasonable and customary use in describing the
  2248. origin of the Work and reproducing the content of the NOTICE file.
  2249. 7. Disclaimer of Warranty. Unless required by applicable law or
  2250. agreed to in writing, Licensor provides the Work (and each
  2251. Contributor provides its Contributions) on an "AS IS" BASIS,
  2252. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  2253. implied, including, without limitation, any warranties or conditions
  2254. of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  2255. PARTICULAR PURPOSE. You are solely responsible for determining the
  2256. appropriateness of using or redistributing the Work and assume any
  2257. risks associated with Your exercise of permissions under this License.
  2258. 8. Limitation of Liability. In no event and under no legal theory,
  2259. whether in tort (including negligence), contract, or otherwise,
  2260. unless required by applicable law (such as deliberate and grossly
  2261. negligent acts) or agreed to in writing, shall any Contributor be
  2262. liable to You for damages, including any direct, indirect, special,
  2263. incidental, or consequential damages of any character arising as a
  2264. result of this License or out of the use or inability to use the
  2265. Work (including but not limited to damages for loss of goodwill,
  2266. work stoppage, computer failure or malfunction, or any and all
  2267. other commercial damages or losses), even if such Contributor
  2268. has been advised of the possibility of such damages.
  2269. 9. Accepting Warranty or Additional Liability. While redistributing
  2270. the Work or Derivative Works thereof, You may choose to offer,
  2271. and charge a fee for, acceptance of support, warranty, indemnity,
  2272. or other liability obligations and/or rights consistent with this
  2273. License. However, in accepting such obligations, You may act only
  2274. on Your own behalf and on Your sole responsibility, not on behalf
  2275. of any other Contributor, and only if You agree to indemnify,
  2276. defend, and hold each Contributor harmless for any liability
  2277. incurred by, or claims asserted against, such Contributor by reason
  2278. of your accepting any such warranty or additional liability.
  2279. END OF TERMS AND CONDITIONS
  2280. APPENDIX: How to apply the Apache License to your work.
  2281. To apply the Apache License to your work, attach the following
  2282. boilerplate notice, with the fields enclosed by brackets "[]"
  2283. replaced with your own identifying information. (Don't include
  2284. the brackets!) The text should be enclosed in the appropriate
  2285. comment syntax for the file format. We also recommend that a
  2286. file or class name and description of purpose be included on the
  2287. same "printed page" as the copyright notice for easier
  2288. identification within third-party archives.
  2289. Copyright [yyyy] [name of copyright owner]
  2290. Licensed under the Apache License, Version 2.0 (the "License");
  2291. you may not use this file except in compliance with the License.
  2292. You may obtain a copy of the License at
  2293. http://www.apache.org/licenses/LICENSE-2.0
  2294. Unless required by applicable law or agreed to in writing, software
  2295. distributed under the License is distributed on an "AS IS" BASIS,
  2296. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  2297. See the License for the specific language governing permissions and
  2298. limitations under the License.
  2299. --------------------------------------------------------------------------------
  2300. END LICENSE FOR external/gemmlowp/LICENSE
  2301. --------------------------------------------------------------------------------
  2302. --------------------------------------------------------------------------------
  2303. BEGIN LICENSE FOR external/gif/COPYING
  2304. --------------------------------------------------------------------------------
  2305. The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond
  2306. Permission is hereby granted, free of charge, to any person obtaining a copy
  2307. of this software and associated documentation files (the "Software"), to deal
  2308. in the Software without restriction, including without limitation the rights
  2309. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  2310. copies of the Software, and to permit persons to whom the Software is
  2311. furnished to do so, subject to the following conditions:
  2312. The above copyright notice and this permission notice shall be included in
  2313. all copies or substantial portions of the Software.
  2314. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  2315. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  2316. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  2317. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  2318. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  2319. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  2320. THE SOFTWARE.
  2321. --------------------------------------------------------------------------------
  2322. END LICENSE FOR external/gif/COPYING
  2323. --------------------------------------------------------------------------------
  2324. --------------------------------------------------------------------------------
  2325. BEGIN LICENSE FOR external/highwayhash/LICENSE
  2326. --------------------------------------------------------------------------------
  2327. Apache License
  2328. Version 2.0, January 2004
  2329. http://www.apache.org/licenses/
  2330. TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  2331. 1. Definitions.
  2332. "License" shall mean the terms and conditions for use, reproduction,
  2333. and distribution as defined by Sections 1 through 9 of this document.
  2334. "Licensor" shall mean the copyright owner or entity authorized by
  2335. the copyright owner that is granting the License.
  2336. "Legal Entity" shall mean the union of the acting entity and all
  2337. other entities that control, are controlled by, or are under common
  2338. control with that entity. For the purposes of this definition,
  2339. "control" means (i) the power, direct or indirect, to cause the
  2340. direction or management of such entity, whether by contract or
  2341. otherwise, or (ii) ownership of fifty percent (50%) or more of the
  2342. outstanding shares, or (iii) beneficial ownership of such entity.
  2343. "You" (or "Your") shall mean an individual or Legal Entity
  2344. exercising permissions granted by this License.
  2345. "Source" form shall mean the preferred form for making modifications,
  2346. including but not limited to software source code, documentation
  2347. source, and configuration files.
  2348. "Object" form shall mean any form resulting from mechanical
  2349. transformation or translation of a Source form, including but
  2350. not limited to compiled object code, generated documentation,
  2351. and conversions to other media types.
  2352. "Work" shall mean the work of authorship, whether in Source or
  2353. Object form, made available under the License, as indicated by a
  2354. copyright notice that is included in or attached to the work
  2355. (an example is provided in the Appendix below).
  2356. "Derivative Works" shall mean any work, whether in Source or Object
  2357. form, that is based on (or derived from) the Work and for which the
  2358. editorial revisions, annotations, elaborations, or other modifications
  2359. represent, as a whole, an original work of authorship. For the purposes
  2360. of this License, Derivative Works shall not include works that remain
  2361. separable from, or merely link (or bind by name) to the interfaces of,
  2362. the Work and Derivative Works thereof.
  2363. "Contribution" shall mean any work of authorship, including
  2364. the original version of the Work and any modifications or additions
  2365. to that Work or Derivative Works thereof, that is intentionally
  2366. submitted to Licensor for inclusion in the Work by the copyright owner
  2367. or by an individual or Legal Entity authorized to submit on behalf of
  2368. the copyright owner. For the purposes of this definition, "submitted"
  2369. means any form of electronic, verbal, or written communication sent
  2370. to the Licensor or its representatives, including but not limited to
  2371. communication on electronic mailing lists, source code control systems,
  2372. and issue tracking systems that are managed by, or on behalf of, the
  2373. Licensor for the purpose of discussing and improving the Work, but
  2374. excluding communication that is conspicuously marked or otherwise
  2375. designated in writing by the copyright owner as "Not a Contribution."
  2376. "Contributor" shall mean Licensor and any individual or Legal Entity
  2377. on behalf of whom a Contribution has been received by Licensor and
  2378. subsequently incorporated within the Work.
  2379. 2. Grant of Copyright License. Subject to the terms and conditions of
  2380. this License, each Contributor hereby grants to You a perpetual,
  2381. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  2382. copyright license to reproduce, prepare Derivative Works of,
  2383. publicly display, publicly perform, sublicense, and distribute the
  2384. Work and such Derivative Works in Source or Object form.
  2385. 3. Grant of Patent License. Subject to the terms and conditions of
  2386. this License, each Contributor hereby grants to You a perpetual,
  2387. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  2388. (except as stated in this section) patent license to make, have made,
  2389. use, offer to sell, sell, import, and otherwise transfer the Work,
  2390. where such license applies only to those patent claims licensable
  2391. by such Contributor that are necessarily infringed by their
  2392. Contribution(s) alone or by combination of their Contribution(s)
  2393. with the Work to which such Contribution(s) was submitted. If You
  2394. institute patent litigation against any entity (including a
  2395. cross-claim or counterclaim in a lawsuit) alleging that the Work
  2396. or a Contribution incorporated within the Work constitutes direct
  2397. or contributory patent infringement, then any patent licenses
  2398. granted to You under this License for that Work shall terminate
  2399. as of the date such litigation is filed.
  2400. 4. Redistribution. You may reproduce and distribute copies of the
  2401. Work or Derivative Works thereof in any medium, with or without
  2402. modifications, and in Source or Object form, provided that You
  2403. meet the following conditions:
  2404. (a) You must give any other recipients of the Work or
  2405. Derivative Works a copy of this License; and
  2406. (b) You must cause any modified files to carry prominent notices
  2407. stating that You changed the files; and
  2408. (c) You must retain, in the Source form of any Derivative Works
  2409. that You distribute, all copyright, patent, trademark, and
  2410. attribution notices from the Source form of the Work,
  2411. excluding those notices that do not pertain to any part of
  2412. the Derivative Works; and
  2413. (d) If the Work includes a "NOTICE" text file as part of its
  2414. distribution, then any Derivative Works that You distribute must
  2415. include a readable copy of the attribution notices contained
  2416. within such NOTICE file, excluding those notices that do not
  2417. pertain to any part of the Derivative Works, in at least one
  2418. of the following places: within a NOTICE text file distributed
  2419. as part of the Derivative Works; within the Source form or
  2420. documentation, if provided along with the Derivative Works; or,
  2421. within a display generated by the Derivative Works, if and
  2422. wherever such third-party notices normally appear. The contents
  2423. of the NOTICE file are for informational purposes only and
  2424. do not modify the License. You may add Your own attribution
  2425. notices within Derivative Works that You distribute, alongside
  2426. or as an addendum to the NOTICE text from the Work, provided
  2427. that such additional attribution notices cannot be construed
  2428. as modifying the License.
  2429. You may add Your own copyright statement to Your modifications and
  2430. may provide additional or different license terms and conditions
  2431. for use, reproduction, or distribution of Your modifications, or
  2432. for any such Derivative Works as a whole, provided Your use,
  2433. reproduction, and distribution of the Work otherwise complies with
  2434. the conditions stated in this License.
  2435. 5. Submission of Contributions. Unless You explicitly state otherwise,
  2436. any Contribution intentionally submitted for inclusion in the Work
  2437. by You to the Licensor shall be under the terms and conditions of
  2438. this License, without any additional terms or conditions.
  2439. Notwithstanding the above, nothing herein shall supersede or modify
  2440. the terms of any separate license agreement you may have executed
  2441. with Licensor regarding such Contributions.
  2442. 6. Trademarks. This License does not grant permission to use the trade
  2443. names, trademarks, service marks, or product names of the Licensor,
  2444. except as required for reasonable and customary use in describing the
  2445. origin of the Work and reproducing the content of the NOTICE file.
  2446. 7. Disclaimer of Warranty. Unless required by applicable law or
  2447. agreed to in writing, Licensor provides the Work (and each
  2448. Contributor provides its Contributions) on an "AS IS" BASIS,
  2449. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  2450. implied, including, without limitation, any warranties or conditions
  2451. of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  2452. PARTICULAR PURPOSE. You are solely responsible for determining the
  2453. appropriateness of using or redistributing the Work and assume any
  2454. risks associated with Your exercise of permissions under this License.
  2455. 8. Limitation of Liability. In no event and under no legal theory,
  2456. whether in tort (including negligence), contract, or otherwise,
  2457. unless required by applicable law (such as deliberate and grossly
  2458. negligent acts) or agreed to in writing, shall any Contributor be
  2459. liable to You for damages, including any direct, indirect, special,
  2460. incidental, or consequential damages of any character arising as a
  2461. result of this License or out of the use or inability to use the
  2462. Work (including but not limited to damages for loss of goodwill,
  2463. work stoppage, computer failure or malfunction, or any and all
  2464. other commercial damages or losses), even if such Contributor
  2465. has been advised of the possibility of such damages.
  2466. 9. Accepting Warranty or Additional Liability. While redistributing
  2467. the Work or Derivative Works thereof, You may choose to offer,
  2468. and charge a fee for, acceptance of support, warranty, indemnity,
  2469. or other liability obligations and/or rights consistent with this
  2470. License. However, in accepting such obligations, You may act only
  2471. on Your own behalf and on Your sole responsibility, not on behalf
  2472. of any other Contributor, and only if You agree to indemnify,
  2473. defend, and hold each Contributor harmless for any liability
  2474. incurred by, or claims asserted against, such Contributor by reason
  2475. of your accepting any such warranty or additional liability.
  2476. END OF TERMS AND CONDITIONS
  2477. APPENDIX: How to apply the Apache License to your work.
  2478. To apply the Apache License to your work, attach the following
  2479. boilerplate notice, with the fields enclosed by brackets "[]"
  2480. replaced with your own identifying information. (Don't include
  2481. the brackets!) The text should be enclosed in the appropriate
  2482. comment syntax for the file format. We also recommend that a
  2483. file or class name and description of purpose be included on the
  2484. same "printed page" as the copyright notice for easier
  2485. identification within third-party archives.
  2486. Copyright [yyyy] [name of copyright owner]
  2487. Licensed under the Apache License, Version 2.0 (the "License");
  2488. you may not use this file except in compliance with the License.
  2489. You may obtain a copy of the License at
  2490. http://www.apache.org/licenses/LICENSE-2.0
  2491. Unless required by applicable law or agreed to in writing, software
  2492. distributed under the License is distributed on an "AS IS" BASIS,
  2493. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  2494. See the License for the specific language governing permissions and
  2495. limitations under the License.
  2496. --------------------------------------------------------------------------------
  2497. END LICENSE FOR external/highwayhash/LICENSE
  2498. --------------------------------------------------------------------------------
  2499. --------------------------------------------------------------------------------
  2500. BEGIN LICENSE FOR external/icu/icu4c/LICENSE
  2501. --------------------------------------------------------------------------------
  2502. COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)
  2503. Copyright © 1991-2019 Unicode, Inc. All rights reserved.
  2504. Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
  2505. Permission is hereby granted, free of charge, to any person obtaining
  2506. a copy of the Unicode data files and any associated documentation
  2507. (the "Data Files") or Unicode software and any associated documentation
  2508. (the "Software") to deal in the Data Files or Software
  2509. without restriction, including without limitation the rights to use,
  2510. copy, modify, merge, publish, distribute, and/or sell copies of
  2511. the Data Files or Software, and to permit persons to whom the Data Files
  2512. or Software are furnished to do so, provided that either
  2513. (a) this copyright and permission notice appear with all copies
  2514. of the Data Files or Software, or
  2515. (b) this copyright and permission notice appear in associated
  2516. Documentation.
  2517. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
  2518. ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  2519. WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  2520. NONINFRINGEMENT OF THIRD PARTY RIGHTS.
  2521. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
  2522. NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
  2523. DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  2524. DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  2525. TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  2526. PERFORMANCE OF THE DATA FILES OR SOFTWARE.
  2527. Except as contained in this notice, the name of a copyright holder
  2528. shall not be used in advertising or otherwise to promote the sale,
  2529. use or other dealings in these Data Files or Software without prior
  2530. written authorization of the copyright holder.
  2531. ---------------------
  2532. Third-Party Software Licenses
  2533. This section contains third-party software notices and/or additional
  2534. terms for licensed third-party software components included within ICU
  2535. libraries.
  2536. 1. ICU License - ICU 1.8.1 to ICU 57.1
  2537. COPYRIGHT AND PERMISSION NOTICE
  2538. Copyright (c) 1995-2016 International Business Machines Corporation and others
  2539. All rights reserved.
  2540. Permission is hereby granted, free of charge, to any person obtaining
  2541. a copy of this software and associated documentation files (the
  2542. "Software"), to deal in the Software without restriction, including
  2543. without limitation the rights to use, copy, modify, merge, publish,
  2544. distribute, and/or sell copies of the Software, and to permit persons
  2545. to whom the Software is furnished to do so, provided that the above
  2546. copyright notice(s) and this permission notice appear in all copies of
  2547. the Software and that both the above copyright notice(s) and this
  2548. permission notice appear in supporting documentation.
  2549. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  2550. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  2551. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
  2552. OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  2553. HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
  2554. SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
  2555. RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
  2556. CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  2557. CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  2558. Except as contained in this notice, the name of a copyright holder
  2559. shall not be used in advertising or otherwise to promote the sale, use
  2560. or other dealings in this Software without prior written authorization
  2561. of the copyright holder.
  2562. All trademarks and registered trademarks mentioned herein are the
  2563. property of their respective owners.
  2564. 2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
  2565. # The Google Chrome software developed by Google is licensed under
  2566. # the BSD license. Other software included in this distribution is
  2567. # provided under other licenses, as set forth below.
  2568. #
  2569. # The BSD License
  2570. # http://opensource.org/licenses/bsd-license.php
  2571. # Copyright (C) 2006-2008, Google Inc.
  2572. #
  2573. # All rights reserved.
  2574. #
  2575. # Redistribution and use in source and binary forms, with or without
  2576. # modification, are permitted provided that the following conditions are met:
  2577. #
  2578. # Redistributions of source code must retain the above copyright notice,
  2579. # this list of conditions and the following disclaimer.
  2580. # Redistributions in binary form must reproduce the above
  2581. # copyright notice, this list of conditions and the following
  2582. # disclaimer in the documentation and/or other materials provided with
  2583. # the distribution.
  2584. # Neither the name of Google Inc. nor the names of its
  2585. # contributors may be used to endorse or promote products derived from
  2586. # this software without specific prior written permission.
  2587. #
  2588. #
  2589. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  2590. # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  2591. # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  2592. # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  2593. # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  2594. # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2595. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2596. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  2597. # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  2598. # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  2599. # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  2600. # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  2601. #
  2602. #
  2603. # The word list in cjdict.txt are generated by combining three word lists
  2604. # listed below with further processing for compound word breaking. The
  2605. # frequency is generated with an iterative training against Google web
  2606. # corpora.
  2607. #
  2608. # * Libtabe (Chinese)
  2609. # - https://sourceforge.net/project/?group_id=1519
  2610. # - Its license terms and conditions are shown below.
  2611. #
  2612. # * IPADIC (Japanese)
  2613. # - http://chasen.aist-nara.ac.jp/chasen/distribution.html
  2614. # - Its license terms and conditions are shown below.
  2615. #
  2616. # ---------COPYING.libtabe ---- BEGIN--------------------
  2617. #
  2618. # /*
  2619. # * Copyright (c) 1999 TaBE Project.
  2620. # * Copyright (c) 1999 Pai-Hsiang Hsiao.
  2621. # * All rights reserved.
  2622. # *
  2623. # * Redistribution and use in source and binary forms, with or without
  2624. # * modification, are permitted provided that the following conditions
  2625. # * are met:
  2626. # *
  2627. # * . Redistributions of source code must retain the above copyright
  2628. # * notice, this list of conditions and the following disclaimer.
  2629. # * . Redistributions in binary form must reproduce the above copyright
  2630. # * notice, this list of conditions and the following disclaimer in
  2631. # * the documentation and/or other materials provided with the
  2632. # * distribution.
  2633. # * . Neither the name of the TaBE Project nor the names of its
  2634. # * contributors may be used to endorse or promote products derived
  2635. # * from this software without specific prior written permission.
  2636. # *
  2637. # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  2638. # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  2639. # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  2640. # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  2641. # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  2642. # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  2643. # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  2644. # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2645. # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  2646. # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2647. # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  2648. # * OF THE POSSIBILITY OF SUCH DAMAGE.
  2649. # */
  2650. #
  2651. # /*
  2652. # * Copyright (c) 1999 Computer Systems and Communication Lab,
  2653. # * Institute of Information Science, Academia
  2654. # * Sinica. All rights reserved.
  2655. # *
  2656. # * Redistribution and use in source and binary forms, with or without
  2657. # * modification, are permitted provided that the following conditions
  2658. # * are met:
  2659. # *
  2660. # * . Redistributions of source code must retain the above copyright
  2661. # * notice, this list of conditions and the following disclaimer.
  2662. # * . Redistributions in binary form must reproduce the above copyright
  2663. # * notice, this list of conditions and the following disclaimer in
  2664. # * the documentation and/or other materials provided with the
  2665. # * distribution.
  2666. # * . Neither the name of the Computer Systems and Communication Lab
  2667. # * nor the names of its contributors may be used to endorse or
  2668. # * promote products derived from this software without specific
  2669. # * prior written permission.
  2670. # *
  2671. # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  2672. # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  2673. # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  2674. # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  2675. # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  2676. # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  2677. # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  2678. # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2679. # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  2680. # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2681. # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  2682. # * OF THE POSSIBILITY OF SUCH DAMAGE.
  2683. # */
  2684. #
  2685. # Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
  2686. # University of Illinois
  2687. # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4
  2688. #
  2689. # ---------------COPYING.libtabe-----END--------------------------------
  2690. #
  2691. #
  2692. # ---------------COPYING.ipadic-----BEGIN-------------------------------
  2693. #
  2694. # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
  2695. # and Technology. All Rights Reserved.
  2696. #
  2697. # Use, reproduction, and distribution of this software is permitted.
  2698. # Any copy of this software, whether in its original form or modified,
  2699. # must include both the above copyright notice and the following
  2700. # paragraphs.
  2701. #
  2702. # Nara Institute of Science and Technology (NAIST),
  2703. # the copyright holders, disclaims all warranties with regard to this
  2704. # software, including all implied warranties of merchantability and
  2705. # fitness, in no event shall NAIST be liable for
  2706. # any special, indirect or consequential damages or any damages
  2707. # whatsoever resulting from loss of use, data or profits, whether in an
  2708. # action of contract, negligence or other tortuous action, arising out
  2709. # of or in connection with the use or performance of this software.
  2710. #
  2711. # A large portion of the dictionary entries
  2712. # originate from ICOT Free Software. The following conditions for ICOT
  2713. # Free Software applies to the current dictionary as well.
  2714. #
  2715. # Each User may also freely distribute the Program, whether in its
  2716. # original form or modified, to any third party or parties, PROVIDED
  2717. # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
  2718. # on, or be attached to, the Program, which is distributed substantially
  2719. # in the same form as set out herein and that such intended
  2720. # distribution, if actually made, will neither violate or otherwise
  2721. # contravene any of the laws and regulations of the countries having
  2722. # jurisdiction over the User or the intended distribution itself.
  2723. #
  2724. # NO WARRANTY
  2725. #
  2726. # The program was produced on an experimental basis in the course of the
  2727. # research and development conducted during the project and is provided
  2728. # to users as so produced on an experimental basis. Accordingly, the
  2729. # program is provided without any warranty whatsoever, whether express,
  2730. # implied, statutory or otherwise. The term "warranty" used herein
  2731. # includes, but is not limited to, any warranty of the quality,
  2732. # performance, merchantability and fitness for a particular purpose of
  2733. # the program and the nonexistence of any infringement or violation of
  2734. # any right of any third party.
  2735. #
  2736. # Each user of the program will agree and understand, and be deemed to
  2737. # have agreed and understood, that there is no warranty whatsoever for
  2738. # the program and, accordingly, the entire risk arising from or
  2739. # otherwise connected with the program is assumed by the user.
  2740. #
  2741. # Therefore, neither ICOT, the copyright holder, or any other
  2742. # organization that participated in or was otherwise related to the
  2743. # development of the program and their respective officials, directors,
  2744. # officers and other employees shall be held liable for any and all
  2745. # damages, including, without limitation, general, special, incidental
  2746. # and consequential damages, arising out of or otherwise in connection
  2747. # with the use or inability to use the program or any product, material
  2748. # or result produced or otherwise obtained by using the program,
  2749. # regardless of whether they have been advised of, or otherwise had
  2750. # knowledge of, the possibility of such damages at any time during the
  2751. # project or thereafter. Each user will be deemed to have agreed to the
  2752. # foregoing by his or her commencement of use of the program. The term
  2753. # "use" as used herein includes, but is not limited to, the use,
  2754. # modification, copying and distribution of the program and the
  2755. # production of secondary products from the program.
  2756. #
  2757. # In the case where the program, whether in its original form or
  2758. # modified, was distributed or delivered to or received by a user from
  2759. # any person, organization or entity other than ICOT, unless it makes or
  2760. # grants independently of ICOT any specific warranty to the user in
  2761. # writing, such person, organization or entity, will also be exempted
  2762. # from and not be held liable to the user for any such damages as noted
  2763. # above as far as the program is concerned.
  2764. #
  2765. # ---------------COPYING.ipadic-----END----------------------------------
  2766. 3. Lao Word Break Dictionary Data (laodict.txt)
  2767. # Copyright (c) 2013 International Business Machines Corporation
  2768. # and others. All Rights Reserved.
  2769. #
  2770. # Project: http://code.google.com/p/lao-dictionary/
  2771. # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt
  2772. # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt
  2773. # (copied below)
  2774. #
  2775. # This file is derived from the above dictionary, with slight
  2776. # modifications.
  2777. # ----------------------------------------------------------------------
  2778. # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
  2779. # All rights reserved.
  2780. #
  2781. # Redistribution and use in source and binary forms, with or without
  2782. # modification,
  2783. # are permitted provided that the following conditions are met:
  2784. #
  2785. #
  2786. # Redistributions of source code must retain the above copyright notice, this
  2787. # list of conditions and the following disclaimer. Redistributions in
  2788. # binary form must reproduce the above copyright notice, this list of
  2789. # conditions and the following disclaimer in the documentation and/or
  2790. # other materials provided with the distribution.
  2791. #
  2792. #
  2793. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  2794. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  2795. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  2796. # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  2797. # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  2798. # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  2799. # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  2800. # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2801. # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  2802. # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2803. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  2804. # OF THE POSSIBILITY OF SUCH DAMAGE.
  2805. # --------------------------------------------------------------------------
  2806. 4. Burmese Word Break Dictionary Data (burmesedict.txt)
  2807. # Copyright (c) 2014 International Business Machines Corporation
  2808. # and others. All Rights Reserved.
  2809. #
  2810. # This list is part of a project hosted at:
  2811. # github.com/kanyawtech/myanmar-karen-word-lists
  2812. #
  2813. # --------------------------------------------------------------------------
  2814. # Copyright (c) 2013, LeRoy Benjamin Sharon
  2815. # All rights reserved.
  2816. #
  2817. # Redistribution and use in source and binary forms, with or without
  2818. # modification, are permitted provided that the following conditions
  2819. # are met: Redistributions of source code must retain the above
  2820. # copyright notice, this list of conditions and the following
  2821. # disclaimer. Redistributions in binary form must reproduce the
  2822. # above copyright notice, this list of conditions and the following
  2823. # disclaimer in the documentation and/or other materials provided
  2824. # with the distribution.
  2825. #
  2826. # Neither the name Myanmar Karen Word Lists, nor the names of its
  2827. # contributors may be used to endorse or promote products derived
  2828. # from this software without specific prior written permission.
  2829. #
  2830. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  2831. # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  2832. # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  2833. # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  2834. # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
  2835. # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  2836. # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
  2837. # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  2838. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  2839. # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
  2840. # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
  2841. # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2842. # SUCH DAMAGE.
  2843. # --------------------------------------------------------------------------
  2844. 5. Time Zone Database
  2845. ICU uses the public domain data and code derived from Time Zone
  2846. Database for its time zone support. The ownership of the TZ database
  2847. is explained in BCP 175: Procedure for Maintaining the Time Zone
  2848. Database section 7.
  2849. # 7. Database Ownership
  2850. #
  2851. # The TZ database itself is not an IETF Contribution or an IETF
  2852. # document. Rather it is a pre-existing and regularly updated work
  2853. # that is in the public domain, and is intended to remain in the
  2854. # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
  2855. # not apply to the TZ Database or contributions that individuals make
  2856. # to it. Should any claims be made and substantiated against the TZ
  2857. # Database, the organization that is providing the IANA
  2858. # Considerations defined in this RFC, under the memorandum of
  2859. # understanding with the IETF, currently ICANN, may act in accordance
  2860. # with all competent court orders. No ownership claims will be made
  2861. # by ICANN or the IETF Trust on the database or the code. Any person
  2862. # making a contribution to the database or code waives all rights to
  2863. # future claims in that contribution or in the TZ Database.
  2864. 6. Google double-conversion
  2865. Copyright 2006-2011, the V8 project authors. All rights reserved.
  2866. Redistribution and use in source and binary forms, with or without
  2867. modification, are permitted provided that the following conditions are
  2868. met:
  2869. * Redistributions of source code must retain the above copyright
  2870. notice, this list of conditions and the following disclaimer.
  2871. * Redistributions in binary form must reproduce the above
  2872. copyright notice, this list of conditions and the following
  2873. disclaimer in the documentation and/or other materials provided
  2874. with the distribution.
  2875. * Neither the name of Google Inc. nor the names of its
  2876. contributors may be used to endorse or promote products derived
  2877. from this software without specific prior written permission.
  2878. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  2879. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  2880. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  2881. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  2882. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  2883. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  2884. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  2885. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  2886. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  2887. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  2888. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  2889. --------------------------------------------------------------------------------
  2890. END LICENSE FOR external/icu/icu4c/LICENSE
  2891. --------------------------------------------------------------------------------
  2892. --------------------------------------------------------------------------------
  2893. BEGIN LICENSE FOR external/libjpeg_turbo/LICENSE.md
  2894. --------------------------------------------------------------------------------
  2895. libjpeg-turbo Licenses
  2896. ======================
  2897. libjpeg-turbo is covered by three compatible BSD-style open source licenses:
  2898. - The IJG (Independent JPEG Group) License, which is listed in
  2899. [README.ijg](README.ijg)
  2900. This license applies to the libjpeg API library and associated programs
  2901. (any code inherited from libjpeg, and any modifications to that code.)
  2902. - The Modified (3-clause) BSD License, which is listed below
  2903. This license covers the TurboJPEG API library and associated programs, as
  2904. well as the build system.
  2905. - The [zlib License](https://opensource.org/licenses/Zlib)
  2906. This license is a subset of the other two, and it covers the libjpeg-turbo
  2907. SIMD extensions.
  2908. Complying with the libjpeg-turbo Licenses
  2909. =========================================
  2910. This section provides a roll-up of the libjpeg-turbo licensing terms, to the
  2911. best of our understanding.
  2912. 1. If you are distributing a modified version of the libjpeg-turbo source,
  2913. then:
  2914. 1. You cannot alter or remove any existing copyright or license notices
  2915. from the source.
  2916. **Origin**
  2917. - Clause 1 of the IJG License
  2918. - Clause 1 of the Modified BSD License
  2919. - Clauses 1 and 3 of the zlib License
  2920. 2. You must add your own copyright notice to the header of each source
  2921. file you modified, so others can tell that you modified that file (if
  2922. there is not an existing copyright header in that file, then you can
  2923. simply add a notice stating that you modified the file.)
  2924. **Origin**
  2925. - Clause 1 of the IJG License
  2926. - Clause 2 of the zlib License
  2927. 3. You must include the IJG README file, and you must not alter any of the
  2928. copyright or license text in that file.
  2929. **Origin**
  2930. - Clause 1 of the IJG License
  2931. 2. If you are distributing only libjpeg-turbo binaries without the source, or
  2932. if you are distributing an application that statically links with
  2933. libjpeg-turbo, then:
  2934. 1. Your product documentation must include a message stating:
  2935. This software is based in part on the work of the Independent JPEG
  2936. Group.
  2937. **Origin**
  2938. - Clause 2 of the IJG license
  2939. 2. If your binary distribution includes or uses the TurboJPEG API, then
  2940. your product documentation must include the text of the Modified BSD
  2941. License (see below.)
  2942. **Origin**
  2943. - Clause 2 of the Modified BSD License
  2944. 3. You cannot use the name of the IJG or The libjpeg-turbo Project or the
  2945. contributors thereof in advertising, publicity, etc.
  2946. **Origin**
  2947. - IJG License
  2948. - Clause 3 of the Modified BSD License
  2949. 4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be
  2950. free of defects, nor do we accept any liability for undesirable
  2951. consequences resulting from your use of the software.
  2952. **Origin**
  2953. - IJG License
  2954. - Modified BSD License
  2955. - zlib License
  2956. The Modified (3-clause) BSD License
  2957. ===================================
  2958. Copyright (C)2009-2020 D. R. Commander. All Rights Reserved.
  2959. Copyright (C)2015 Viktor Szathmáry. All Rights Reserved.
  2960. Redistribution and use in source and binary forms, with or without
  2961. modification, are permitted provided that the following conditions are met:
  2962. - Redistributions of source code must retain the above copyright notice,
  2963. this list of conditions and the following disclaimer.
  2964. - Redistributions in binary form must reproduce the above copyright notice,
  2965. this list of conditions and the following disclaimer in the documentation
  2966. and/or other materials provided with the distribution.
  2967. - Neither the name of the libjpeg-turbo Project nor the names of its
  2968. contributors may be used to endorse or promote products derived from this
  2969. software without specific prior written permission.
  2970. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
  2971. AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2972. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2973. ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
  2974. LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2975. CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2976. SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2977. INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2978. CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2979. ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2980. POSSIBILITY OF SUCH DAMAGE.
  2981. Why Three Licenses?
  2982. ===================
  2983. The zlib License could have been used instead of the Modified (3-clause) BSD
  2984. License, and since the IJG License effectively subsumes the distribution
  2985. conditions of the zlib License, this would have effectively placed
  2986. libjpeg-turbo binary distributions under the IJG License. However, the IJG
  2987. License specifically refers to the Independent JPEG Group and does not extend
  2988. attribution and endorsement protections to other entities. Thus, it was
  2989. desirable to choose a license that granted us the same protections for new code
  2990. that were granted to the IJG for code derived from their software.
  2991. --------------------------------------------------------------------------------
  2992. END LICENSE FOR external/libjpeg_turbo/LICENSE.md
  2993. --------------------------------------------------------------------------------
  2994. --------------------------------------------------------------------------------
  2995. BEGIN LICENSE FOR external/llvm-project/llvm/LICENSE.TXT
  2996. --------------------------------------------------------------------------------
  2997. ==============================================================================
  2998. The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
  2999. ==============================================================================
  3000. Apache License
  3001. Version 2.0, January 2004
  3002. http://www.apache.org/licenses/
  3003. TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  3004. 1. Definitions.
  3005. "License" shall mean the terms and conditions for use, reproduction,
  3006. and distribution as defined by Sections 1 through 9 of this document.
  3007. "Licensor" shall mean the copyright owner or entity authorized by
  3008. the copyright owner that is granting the License.
  3009. "Legal Entity" shall mean the union of the acting entity and all
  3010. other entities that control, are controlled by, or are under common
  3011. control with that entity. For the purposes of this definition,
  3012. "control" means (i) the power, direct or indirect, to cause the
  3013. direction or management of such entity, whether by contract or
  3014. otherwise, or (ii) ownership of fifty percent (50%) or more of the
  3015. outstanding shares, or (iii) beneficial ownership of such entity.
  3016. "You" (or "Your") shall mean an individual or Legal Entity
  3017. exercising permissions granted by this License.
  3018. "Source" form shall mean the preferred form for making modifications,
  3019. including but not limited to software source code, documentation
  3020. source, and configuration files.
  3021. "Object" form shall mean any form resulting from mechanical
  3022. transformation or translation of a Source form, including but
  3023. not limited to compiled object code, generated documentation,
  3024. and conversions to other media types.
  3025. "Work" shall mean the work of authorship, whether in Source or
  3026. Object form, made available under the License, as indicated by a
  3027. copyright notice that is included in or attached to the work
  3028. (an example is provided in the Appendix below).
  3029. "Derivative Works" shall mean any work, whether in Source or Object
  3030. form, that is based on (or derived from) the Work and for which the
  3031. editorial revisions, annotations, elaborations, or other modifications
  3032. represent, as a whole, an original work of authorship. For the purposes
  3033. of this License, Derivative Works shall not include works that remain
  3034. separable from, or merely link (or bind by name) to the interfaces of,
  3035. the Work and Derivative Works thereof.
  3036. "Contribution" shall mean any work of authorship, including
  3037. the original version of the Work and any modifications or additions
  3038. to that Work or Derivative Works thereof, that is intentionally
  3039. submitted to Licensor for inclusion in the Work by the copyright owner
  3040. or by an individual or Legal Entity authorized to submit on behalf of
  3041. the copyright owner. For the purposes of this definition, "submitted"
  3042. means any form of electronic, verbal, or written communication sent
  3043. to the Licensor or its representatives, including but not limited to
  3044. communication on electronic mailing lists, source code control systems,
  3045. and issue tracking systems that are managed by, or on behalf of, the
  3046. Licensor for the purpose of discussing and improving the Work, but
  3047. excluding communication that is conspicuously marked or otherwise
  3048. designated in writing by the copyright owner as "Not a Contribution."
  3049. "Contributor" shall mean Licensor and any individual or Legal Entity
  3050. on behalf of whom a Contribution has been received by Licensor and
  3051. subsequently incorporated within the Work.
  3052. 2. Grant of Copyright License. Subject to the terms and conditions of
  3053. this License, each Contributor hereby grants to You a perpetual,
  3054. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  3055. copyright license to reproduce, prepare Derivative Works of,
  3056. publicly display, publicly perform, sublicense, and distribute the
  3057. Work and such Derivative Works in Source or Object form.
  3058. 3. Grant of Patent License. Subject to the terms and conditions of
  3059. this License, each Contributor hereby grants to You a perpetual,
  3060. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  3061. (except as stated in this section) patent license to make, have made,
  3062. use, offer to sell, sell, import, and otherwise transfer the Work,
  3063. where such license applies only to those patent claims licensable
  3064. by such Contributor that are necessarily infringed by their
  3065. Contribution(s) alone or by combination of their Contribution(s)
  3066. with the Work to which such Contribution(s) was submitted. If You
  3067. institute patent litigation against any entity (including a
  3068. cross-claim or counterclaim in a lawsuit) alleging that the Work
  3069. or a Contribution incorporated within the Work constitutes direct
  3070. or contributory patent infringement, then any patent licenses
  3071. granted to You under this License for that Work shall terminate
  3072. as of the date such litigation is filed.
  3073. 4. Redistribution. You may reproduce and distribute copies of the
  3074. Work or Derivative Works thereof in any medium, with or without
  3075. modifications, and in Source or Object form, provided that You
  3076. meet the following conditions:
  3077. (a) You must give any other recipients of the Work or
  3078. Derivative Works a copy of this License; and
  3079. (b) You must cause any modified files to carry prominent notices
  3080. stating that You changed the files; and
  3081. (c) You must retain, in the Source form of any Derivative Works
  3082. that You distribute, all copyright, patent, trademark, and
  3083. attribution notices from the Source form of the Work,
  3084. excluding those notices that do not pertain to any part of
  3085. the Derivative Works; and
  3086. (d) If the Work includes a "NOTICE" text file as part of its
  3087. distribution, then any Derivative Works that You distribute must
  3088. include a readable copy of the attribution notices contained
  3089. within such NOTICE file, excluding those notices that do not
  3090. pertain to any part of the Derivative Works, in at least one
  3091. of the following places: within a NOTICE text file distributed
  3092. as part of the Derivative Works; within the Source form or
  3093. documentation, if provided along with the Derivative Works; or,
  3094. within a display generated by the Derivative Works, if and
  3095. wherever such third-party notices normally appear. The contents
  3096. of the NOTICE file are for informational purposes only and
  3097. do not modify the License. You may add Your own attribution
  3098. notices within Derivative Works that You distribute, alongside
  3099. or as an addendum to the NOTICE text from the Work, provided
  3100. that such additional attribution notices cannot be construed
  3101. as modifying the License.
  3102. You may add Your own copyright statement to Your modifications and
  3103. may provide additional or different license terms and conditions
  3104. for use, reproduction, or distribution of Your modifications, or
  3105. for any such Derivative Works as a whole, provided Your use,
  3106. reproduction, and distribution of the Work otherwise complies with
  3107. the conditions stated in this License.
  3108. 5. Submission of Contributions. Unless You explicitly state otherwise,
  3109. any Contribution intentionally submitted for inclusion in the Work
  3110. by You to the Licensor shall be under the terms and conditions of
  3111. this License, without any additional terms or conditions.
  3112. Notwithstanding the above, nothing herein shall supersede or modify
  3113. the terms of any separate license agreement you may have executed
  3114. with Licensor regarding such Contributions.
  3115. 6. Trademarks. This License does not grant permission to use the trade
  3116. names, trademarks, service marks, or product names of the Licensor,
  3117. except as required for reasonable and customary use in describing the
  3118. origin of the Work and reproducing the content of the NOTICE file.
  3119. 7. Disclaimer of Warranty. Unless required by applicable law or
  3120. agreed to in writing, Licensor provides the Work (and each
  3121. Contributor provides its Contributions) on an "AS IS" BASIS,
  3122. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  3123. implied, including, without limitation, any warranties or conditions
  3124. of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  3125. PARTICULAR PURPOSE. You are solely responsible for determining the
  3126. appropriateness of using or redistributing the Work and assume any
  3127. risks associated with Your exercise of permissions under this License.
  3128. 8. Limitation of Liability. In no event and under no legal theory,
  3129. whether in tort (including negligence), contract, or otherwise,
  3130. unless required by applicable law (such as deliberate and grossly
  3131. negligent acts) or agreed to in writing, shall any Contributor be
  3132. liable to You for damages, including any direct, indirect, special,
  3133. incidental, or consequential damages of any character arising as a
  3134. result of this License or out of the use or inability to use the
  3135. Work (including but not limited to damages for loss of goodwill,
  3136. work stoppage, computer failure or malfunction, or any and all
  3137. other commercial damages or losses), even if such Contributor
  3138. has been advised of the possibility of such damages.
  3139. 9. Accepting Warranty or Additional Liability. While redistributing
  3140. the Work or Derivative Works thereof, You may choose to offer,
  3141. and charge a fee for, acceptance of support, warranty, indemnity,
  3142. or other liability obligations and/or rights consistent with this
  3143. License. However, in accepting such obligations, You may act only
  3144. on Your own behalf and on Your sole responsibility, not on behalf
  3145. of any other Contributor, and only if You agree to indemnify,
  3146. defend, and hold each Contributor harmless for any liability
  3147. incurred by, or claims asserted against, such Contributor by reason
  3148. of your accepting any such warranty or additional liability.
  3149. END OF TERMS AND CONDITIONS
  3150. APPENDIX: How to apply the Apache License to your work.
  3151. To apply the Apache License to your work, attach the following
  3152. boilerplate notice, with the fields enclosed by brackets "[]"
  3153. replaced with your own identifying information. (Don't include
  3154. the brackets!) The text should be enclosed in the appropriate
  3155. comment syntax for the file format. We also recommend that a
  3156. file or class name and description of purpose be included on the
  3157. same "printed page" as the copyright notice for easier
  3158. identification within third-party archives.
  3159. Copyright [yyyy] [name of copyright owner]
  3160. Licensed under the Apache License, Version 2.0 (the "License");
  3161. you may not use this file except in compliance with the License.
  3162. You may obtain a copy of the License at
  3163. http://www.apache.org/licenses/LICENSE-2.0
  3164. Unless required by applicable law or agreed to in writing, software
  3165. distributed under the License is distributed on an "AS IS" BASIS,
  3166. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3167. See the License for the specific language governing permissions and
  3168. limitations under the License.
  3169. ---- LLVM Exceptions to the Apache 2.0 License ----
  3170. As an exception, if, as a result of your compiling your source code, portions
  3171. of this Software are embedded into an Object form of such source code, you
  3172. may redistribute such embedded portions in such Object form without complying
  3173. with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
  3174. In addition, if you combine or link compiled forms of this Software with
  3175. software that is licensed under the GPLv2 ("Combined Software") and if a
  3176. court of competent jurisdiction determines that the patent provision (Section
  3177. 3), the indemnity provision (Section 9) or other Section of the License
  3178. conflicts with the conditions of the GPLv2, you may retroactively and
  3179. prospectively choose to deem waived or otherwise exclude such Section(s) of
  3180. the License, but only in their entirety and only with respect to the Combined
  3181. Software.
  3182. ==============================================================================
  3183. Software from third parties included in the LLVM Project:
  3184. ==============================================================================
  3185. The LLVM Project contains third party software which is under different license
  3186. terms. All such code will be identified clearly using at least one of two
  3187. mechanisms:
  3188. 1) It will be in a separate directory tree with its own `LICENSE.txt` or
  3189. `LICENSE` file at the top containing the specific license and restrictions
  3190. which apply to that software, or
  3191. 2) It will contain specific license and restriction terms at the top of every
  3192. file.
  3193. ==============================================================================
  3194. Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
  3195. ==============================================================================
  3196. University of Illinois/NCSA
  3197. Open Source License
  3198. Copyright (c) 2003-2019 University of Illinois at Urbana-Champaign.
  3199. All rights reserved.
  3200. Developed by:
  3201. LLVM Team
  3202. University of Illinois at Urbana-Champaign
  3203. http://llvm.org
  3204. Permission is hereby granted, free of charge, to any person obtaining a copy of
  3205. this software and associated documentation files (the "Software"), to deal with
  3206. the Software without restriction, including without limitation the rights to
  3207. use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
  3208. of the Software, and to permit persons to whom the Software is furnished to do
  3209. so, subject to the following conditions:
  3210. * Redistributions of source code must retain the above copyright notice,
  3211. this list of conditions and the following disclaimers.
  3212. * Redistributions in binary form must reproduce the above copyright notice,
  3213. this list of conditions and the following disclaimers in the
  3214. documentation and/or other materials provided with the distribution.
  3215. * Neither the names of the LLVM Team, University of Illinois at
  3216. Urbana-Champaign, nor the names of its contributors may be used to
  3217. endorse or promote products derived from this Software without specific
  3218. prior written permission.
  3219. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  3220. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
  3221. FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  3222. CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  3223. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  3224. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
  3225. SOFTWARE.
  3226. --------------------------------------------------------------------------------
  3227. END LICENSE FOR external/llvm-project/llvm/LICENSE.TXT
  3228. --------------------------------------------------------------------------------
  3229. --------------------------------------------------------------------------------
  3230. BEGIN LICENSE FOR external/llvm-project/mlir/LICENSE.TXT
  3231. --------------------------------------------------------------------------------
  3232. ==============================================================================
  3233. The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
  3234. ==============================================================================
  3235. Apache License
  3236. Version 2.0, January 2004
  3237. http://www.apache.org/licenses/
  3238. TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  3239. 1. Definitions.
  3240. "License" shall mean the terms and conditions for use, reproduction,
  3241. and distribution as defined by Sections 1 through 9 of this document.
  3242. "Licensor" shall mean the copyright owner or entity authorized by
  3243. the copyright owner that is granting the License.
  3244. "Legal Entity" shall mean the union of the acting entity and all
  3245. other entities that control, are controlled by, or are under common
  3246. control with that entity. For the purposes of this definition,
  3247. "control" means (i) the power, direct or indirect, to cause the
  3248. direction or management of such entity, whether by contract or
  3249. otherwise, or (ii) ownership of fifty percent (50%) or more of the
  3250. outstanding shares, or (iii) beneficial ownership of such entity.
  3251. "You" (or "Your") shall mean an individual or Legal Entity
  3252. exercising permissions granted by this License.
  3253. "Source" form shall mean the preferred form for making modifications,
  3254. including but not limited to software source code, documentation
  3255. source, and configuration files.
  3256. "Object" form shall mean any form resulting from mechanical
  3257. transformation or translation of a Source form, including but
  3258. not limited to compiled object code, generated documentation,
  3259. and conversions to other media types.
  3260. "Work" shall mean the work of authorship, whether in Source or
  3261. Object form, made available under the License, as indicated by a
  3262. copyright notice that is included in or attached to the work
  3263. (an example is provided in the Appendix below).
  3264. "Derivative Works" shall mean any work, whether in Source or Object
  3265. form, that is based on (or derived from) the Work and for which the
  3266. editorial revisions, annotations, elaborations, or other modifications
  3267. represent, as a whole, an original work of authorship. For the purposes
  3268. of this License, Derivative Works shall not include works that remain
  3269. separable from, or merely link (or bind by name) to the interfaces of,
  3270. the Work and Derivative Works thereof.
  3271. "Contribution" shall mean any work of authorship, including
  3272. the original version of the Work and any modifications or additions
  3273. to that Work or Derivative Works thereof, that is intentionally
  3274. submitted to Licensor for inclusion in the Work by the copyright owner
  3275. or by an individual or Legal Entity authorized to submit on behalf of
  3276. the copyright owner. For the purposes of this definition, "submitted"
  3277. means any form of electronic, verbal, or written communication sent
  3278. to the Licensor or its representatives, including but not limited to
  3279. communication on electronic mailing lists, source code control systems,
  3280. and issue tracking systems that are managed by, or on behalf of, the
  3281. Licensor for the purpose of discussing and improving the Work, but
  3282. excluding communication that is conspicuously marked or otherwise
  3283. designated in writing by the copyright owner as "Not a Contribution."
  3284. "Contributor" shall mean Licensor and any individual or Legal Entity
  3285. on behalf of whom a Contribution has been received by Licensor and
  3286. subsequently incorporated within the Work.
  3287. 2. Grant of Copyright License. Subject to the terms and conditions of
  3288. this License, each Contributor hereby grants to You a perpetual,
  3289. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  3290. copyright license to reproduce, prepare Derivative Works of,
  3291. publicly display, publicly perform, sublicense, and distribute the
  3292. Work and such Derivative Works in Source or Object form.
  3293. 3. Grant of Patent License. Subject to the terms and conditions of
  3294. this License, each Contributor hereby grants to You a perpetual,
  3295. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  3296. (except as stated in this section) patent license to make, have made,
  3297. use, offer to sell, sell, import, and otherwise transfer the Work,
  3298. where such license applies only to those patent claims licensable
  3299. by such Contributor that are necessarily infringed by their
  3300. Contribution(s) alone or by combination of their Contribution(s)
  3301. with the Work to which such Contribution(s) was submitted. If You
  3302. institute patent litigation against any entity (including a
  3303. cross-claim or counterclaim in a lawsuit) alleging that the Work
  3304. or a Contribution incorporated within the Work constitutes direct
  3305. or contributory patent infringement, then any patent licenses
  3306. granted to You under this License for that Work shall terminate
  3307. as of the date such litigation is filed.
  3308. 4. Redistribution. You may reproduce and distribute copies of the
  3309. Work or Derivative Works thereof in any medium, with or without
  3310. modifications, and in Source or Object form, provided that You
  3311. meet the following conditions:
  3312. (a) You must give any other recipients of the Work or
  3313. Derivative Works a copy of this License; and
  3314. (b) You must cause any modified files to carry prominent notices
  3315. stating that You changed the files; and
  3316. (c) You must retain, in the Source form of any Derivative Works
  3317. that You distribute, all copyright, patent, trademark, and
  3318. attribution notices from the Source form of the Work,
  3319. excluding those notices that do not pertain to any part of
  3320. the Derivative Works; and
  3321. (d) If the Work includes a "NOTICE" text file as part of its
  3322. distribution, then any Derivative Works that You distribute must
  3323. include a readable copy of the attribution notices contained
  3324. within such NOTICE file, excluding those notices that do not
  3325. pertain to any part of the Derivative Works, in at least one
  3326. of the following places: within a NOTICE text file distributed
  3327. as part of the Derivative Works; within the Source form or
  3328. documentation, if provided along with the Derivative Works; or,
  3329. within a display generated by the Derivative Works, if and
  3330. wherever such third-party notices normally appear. The contents
  3331. of the NOTICE file are for informational purposes only and
  3332. do not modify the License. You may add Your own attribution
  3333. notices within Derivative Works that You distribute, alongside
  3334. or as an addendum to the NOTICE text from the Work, provided
  3335. that such additional attribution notices cannot be construed
  3336. as modifying the License.
  3337. You may add Your own copyright statement to Your modifications and
  3338. may provide additional or different license terms and conditions
  3339. for use, reproduction, or distribution of Your modifications, or
  3340. for any such Derivative Works as a whole, provided Your use,
  3341. reproduction, and distribution of the Work otherwise complies with
  3342. the conditions stated in this License.
  3343. 5. Submission of Contributions. Unless You explicitly state otherwise,
  3344. any Contribution intentionally submitted for inclusion in the Work
  3345. by You to the Licensor shall be under the terms and conditions of
  3346. this License, without any additional terms or conditions.
  3347. Notwithstanding the above, nothing herein shall supersede or modify
  3348. the terms of any separate license agreement you may have executed
  3349. with Licensor regarding such Contributions.
  3350. 6. Trademarks. This License does not grant permission to use the trade
  3351. names, trademarks, service marks, or product names of the Licensor,
  3352. except as required for reasonable and customary use in describing the
  3353. origin of the Work and reproducing the content of the NOTICE file.
  3354. 7. Disclaimer of Warranty. Unless required by applicable law or
  3355. agreed to in writing, Licensor provides the Work (and each
  3356. Contributor provides its Contributions) on an "AS IS" BASIS,
  3357. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  3358. implied, including, without limitation, any warranties or conditions
  3359. of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  3360. PARTICULAR PURPOSE. You are solely responsible for determining the
  3361. appropriateness of using or redistributing the Work and assume any
  3362. risks associated with Your exercise of permissions under this License.
  3363. 8. Limitation of Liability. In no event and under no legal theory,
  3364. whether in tort (including negligence), contract, or otherwise,
  3365. unless required by applicable law (such as deliberate and grossly
  3366. negligent acts) or agreed to in writing, shall any Contributor be
  3367. liable to You for damages, including any direct, indirect, special,
  3368. incidental, or consequential damages of any character arising as a
  3369. result of this License or out of the use or inability to use the
  3370. Work (including but not limited to damages for loss of goodwill,
  3371. work stoppage, computer failure or malfunction, or any and all
  3372. other commercial damages or losses), even if such Contributor
  3373. has been advised of the possibility of such damages.
  3374. 9. Accepting Warranty or Additional Liability. While redistributing
  3375. the Work or Derivative Works thereof, You may choose to offer,
  3376. and charge a fee for, acceptance of support, warranty, indemnity,
  3377. or other liability obligations and/or rights consistent with this
  3378. License. However, in accepting such obligations, You may act only
  3379. on Your own behalf and on Your sole responsibility, not on behalf
  3380. of any other Contributor, and only if You agree to indemnify,
  3381. defend, and hold each Contributor harmless for any liability
  3382. incurred by, or claims asserted against, such Contributor by reason
  3383. of your accepting any such warranty or additional liability.
  3384. END OF TERMS AND CONDITIONS
  3385. APPENDIX: How to apply the Apache License to your work.
  3386. To apply the Apache License to your work, attach the following
  3387. boilerplate notice, with the fields enclosed by brackets "[]"
  3388. replaced with your own identifying information. (Don't include
  3389. the brackets!) The text should be enclosed in the appropriate
  3390. comment syntax for the file format. We also recommend that a
  3391. file or class name and description of purpose be included on the
  3392. same "printed page" as the copyright notice for easier
  3393. identification within third-party archives.
  3394. Copyright [yyyy] [name of copyright owner]
  3395. Licensed under the Apache License, Version 2.0 (the "License");
  3396. you may not use this file except in compliance with the License.
  3397. You may obtain a copy of the License at
  3398. http://www.apache.org/licenses/LICENSE-2.0
  3399. Unless required by applicable law or agreed to in writing, software
  3400. distributed under the License is distributed on an "AS IS" BASIS,
  3401. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3402. See the License for the specific language governing permissions and
  3403. limitations under the License.
  3404. ---- LLVM Exceptions to the Apache 2.0 License ----
  3405. As an exception, if, as a result of your compiling your source code, portions
  3406. of this Software are embedded into an Object form of such source code, you
  3407. may redistribute such embedded portions in such Object form without complying
  3408. with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
  3409. In addition, if you combine or link compiled forms of this Software with
  3410. software that is licensed under the GPLv2 ("Combined Software") and if a
  3411. court of competent jurisdiction determines that the patent provision (Section
  3412. 3), the indemnity provision (Section 9) or other Section of the License
  3413. conflicts with the conditions of the GPLv2, you may retroactively and
  3414. prospectively choose to deem waived or otherwise exclude such Section(s) of
  3415. the License, but only in their entirety and only with respect to the Combined
  3416. Software.
  3417. ==============================================================================
  3418. Software from third parties included in the LLVM Project:
  3419. ==============================================================================
  3420. The LLVM Project contains third party software which is under different license
  3421. terms. All such code will be identified clearly using at least one of two
  3422. mechanisms:
  3423. 1) It will be in a separate directory tree with its own `LICENSE.txt` or
  3424. `LICENSE` file at the top containing the specific license and restrictions
  3425. which apply to that software, or
  3426. 2) It will contain specific license and restriction terms at the top of every
  3427. file.
  3428. --------------------------------------------------------------------------------
  3429. END LICENSE FOR external/llvm-project/mlir/LICENSE.TXT
  3430. --------------------------------------------------------------------------------
  3431. --------------------------------------------------------------------------------
  3432. BEGIN LICENSE FOR external/lmdb/LICENSE
  3433. --------------------------------------------------------------------------------
  3434. The OpenLDAP Public License
  3435. Version 2.8, 17 August 2003
  3436. Redistribution and use of this software and associated documentation
  3437. ("Software"), with or without modification, are permitted provided
  3438. that the following conditions are met:
  3439. 1. Redistributions in source form must retain copyright statements
  3440. and notices,
  3441. 2. Redistributions in binary form must reproduce applicable copyright
  3442. statements and notices, this list of conditions, and the following
  3443. disclaimer in the documentation and/or other materials provided
  3444. with the distribution, and
  3445. 3. Redistributions must contain a verbatim copy of this document.
  3446. The OpenLDAP Foundation may revise this license from time to time.
  3447. Each revision is distinguished by a version number. You may use
  3448. this Software under terms of this license revision or under the
  3449. terms of any subsequent revision of the license.
  3450. THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
  3451. CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  3452. INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  3453. AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
  3454. SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
  3455. OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
  3456. INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  3457. BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  3458. LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  3459. CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3460. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
  3461. ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  3462. POSSIBILITY OF SUCH DAMAGE.
  3463. The names of the authors and copyright holders must not be used in
  3464. advertising or otherwise to promote the sale, use or other dealing
  3465. in this Software without specific, written prior permission. Title
  3466. to copyright in this Software shall at all times remain with copyright
  3467. holders.
  3468. OpenLDAP is a registered trademark of the OpenLDAP Foundation.
  3469. Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
  3470. California, USA. All Rights Reserved. Permission to copy and
  3471. distribute verbatim copies of this document is granted.
  3472. --------------------------------------------------------------------------------
  3473. END LICENSE FOR external/lmdb/LICENSE
  3474. --------------------------------------------------------------------------------
  3475. --------------------------------------------------------------------------------
  3476. BEGIN LICENSE FOR external/local_config_tensorrt/LICENSE
  3477. --------------------------------------------------------------------------------
  3478. Copyright 2018 The TensorFlow Authors. All rights reserved.
  3479. Apache License
  3480. Version 2.0, January 2004
  3481. http://www.apache.org/licenses/
  3482. TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  3483. 1. Definitions.
  3484. "License" shall mean the terms and conditions for use, reproduction,
  3485. and distribution as defined by Sections 1 through 9 of this document.
  3486. "Licensor" shall mean the copyright owner or entity authorized by
  3487. the copyright owner that is granting the License.
  3488. "Legal Entity" shall mean the union of the acting entity and all
  3489. other entities that control, are controlled by, or are under common
  3490. control with that entity. For the purposes of this definition,
  3491. "control" means (i) the power, direct or indirect, to cause the
  3492. direction or management of such entity, whether by contract or
  3493. otherwise, or (ii) ownership of fifty percent (50%) or more of the
  3494. outstanding shares, or (iii) beneficial ownership of such entity.
  3495. "You" (or "Your") shall mean an individual or Legal Entity
  3496. exercising permissions granted by this License.
  3497. "Source" form shall mean the preferred form for making modifications,
  3498. including but not limited to software source code, documentation
  3499. source, and configuration files.
  3500. "Object" form shall mean any form resulting from mechanical
  3501. transformation or translation of a Source form, including but
  3502. not limited to compiled object code, generated documentation,
  3503. and conversions to other media types.
  3504. "Work" shall mean the work of authorship, whether in Source or
  3505. Object form, made available under the License, as indicated by a
  3506. copyright notice that is included in or attached to the work
  3507. (an example is provided in the Appendix below).
  3508. "Derivative Works" shall mean any work, whether in Source or Object
  3509. form, that is based on (or derived from) the Work and for which the
  3510. editorial revisions, annotations, elaborations, or other modifications
  3511. represent, as a whole, an original work of authorship. For the purposes
  3512. of this License, Derivative Works shall not include works that remain
  3513. separable from, or merely link (or bind by name) to the interfaces of,
  3514. the Work and Derivative Works thereof.
  3515. "Contribution" shall mean any work of authorship, including
  3516. the original version of the Work and any modifications or additions
  3517. to that Work or Derivative Works thereof, that is intentionally
  3518. submitted to Licensor for inclusion in the Work by the copyright owner
  3519. or by an individual or Legal Entity authorized to submit on behalf of
  3520. the copyright owner. For the purposes of this definition, "submitted"
  3521. means any form of electronic, verbal, or written communication sent
  3522. to the Licensor or its representatives, including but not limited to
  3523. communication on electronic mailing lists, source code control systems,
  3524. and issue tracking systems that are managed by, or on behalf of, the
  3525. Licensor for the purpose of discussing and improving the Work, but
  3526. excluding communication that is conspicuously marked or otherwise
  3527. designated in writing by the copyright owner as "Not a Contribution."
  3528. "Contributor" shall mean Licensor and any individual or Legal Entity
  3529. on behalf of whom a Contribution has been received by Licensor and
  3530. subsequently incorporated within the Work.
  3531. 2. Grant of Copyright License. Subject to the terms and conditions of
  3532. this License, each Contributor hereby grants to You a perpetual,
  3533. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  3534. copyright license to reproduce, prepare Derivative Works of,
  3535. publicly display, publicly perform, sublicense, and distribute the
  3536. Work and such Derivative Works in Source or Object form.
  3537. 3. Grant of Patent License. Subject to the terms and conditions of
  3538. this License, each Contributor hereby grants to You a perpetual,
  3539. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  3540. (except as stated in this section) patent license to make, have made,
  3541. use, offer to sell, sell, import, and otherwise transfer the Work,
  3542. where such license applies only to those patent claims licensable
  3543. by such Contributor that are necessarily infringed by their
  3544. Contribution(s) alone or by combination of their Contribution(s)
  3545. with the Work to which such Contribution(s) was submitted. If You
  3546. institute patent litigation against any entity (including a
  3547. cross-claim or counterclaim in a lawsuit) alleging that the Work
  3548. or a Contribution incorporated within the Work constitutes direct
  3549. or contributory patent infringement, then any patent licenses
  3550. granted to You under this License for that Work shall terminate
  3551. as of the date such litigation is filed.
  3552. 4. Redistribution. You may reproduce and distribute copies of the
  3553. Work or Derivative Works thereof in any medium, with or without
  3554. modifications, and in Source or Object form, provided that You
  3555. meet the following conditions:
  3556. (a) You must give any other recipients of the Work or
  3557. Derivative Works a copy of this License; and
  3558. (b) You must cause any modified files to carry prominent notices
  3559. stating that You changed the files; and
  3560. (c) You must retain, in the Source form of any Derivative Works
  3561. that You distribute, all copyright, patent, trademark, and
  3562. attribution notices from the Source form of the Work,
  3563. excluding those notices that do not pertain to any part of
  3564. the Derivative Works; and
  3565. (d) If the Work includes a "NOTICE" text file as part of its
  3566. distribution, then any Derivative Works that You distribute must
  3567. include a readable copy of the attribution notices contained
  3568. within such NOTICE file, excluding those notices that do not
  3569. pertain to any part of the Derivative Works, in at least one
  3570. of the following places: within a NOTICE text file distributed
  3571. as part of the Derivative Works; within the Source form or
  3572. documentation, if provided along with the Derivative Works; or,
  3573. within a display generated by the Derivative Works, if and
  3574. wherever such third-party notices normally appear. The contents
  3575. of the NOTICE file are for informational purposes only and
  3576. do not modify the License. You may add Your own attribution
  3577. notices within Derivative Works that You distribute, alongside
  3578. or as an addendum to the NOTICE text from the Work, provided
  3579. that such additional attribution notices cannot be construed
  3580. as modifying the License.
  3581. You may add Your own copyright statement to Your modifications and
  3582. may provide additional or different license terms and conditions
  3583. for use, reproduction, or distribution of Your modifications, or
  3584. for any such Derivative Works as a whole, provided Your use,
  3585. reproduction, and distribution of the Work otherwise complies with
  3586. the conditions stated in this License.
  3587. 5. Submission of Contributions. Unless You explicitly state otherwise,
  3588. any Contribution intentionally submitted for inclusion in the Work
  3589. by You to the Licensor shall be under the terms and conditions of
  3590. this License, without any additional terms or conditions.
  3591. Notwithstanding the above, nothing herein shall supersede or modify
  3592. the terms of any separate license agreement you may have executed
  3593. with Licensor regarding such Contributions.
  3594. 6. Trademarks. This License does not grant permission to use the trade
  3595. names, trademarks, service marks, or product names of the Licensor,
  3596. except as required for reasonable and customary use in describing the
  3597. origin of the Work and reproducing the content of the NOTICE file.
  3598. 7. Disclaimer of Warranty. Unless required by applicable law or
  3599. agreed to in writing, Licensor provides the Work (and each
  3600. Contributor provides its Contributions) on an "AS IS" BASIS,
  3601. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  3602. implied, including, without limitation, any warranties or conditions
  3603. of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  3604. PARTICULAR PURPOSE. You are solely responsible for determining the
  3605. appropriateness of using or redistributing the Work and assume any
  3606. risks associated with Your exercise of permissions under this License.
  3607. 8. Limitation of Liability. In no event and under no legal theory,
  3608. whether in tort (including negligence), contract, or otherwise,
  3609. unless required by applicable law (such as deliberate and grossly
  3610. negligent acts) or agreed to in writing, shall any Contributor be
  3611. liable to You for damages, including any direct, indirect, special,
  3612. incidental, or consequential damages of any character arising as a
  3613. result of this License or out of the use or inability to use the
  3614. Work (including but not limited to damages for loss of goodwill,
  3615. work stoppage, computer failure or malfunction, or any and all
  3616. other commercial damages or losses), even if such Contributor
  3617. has been advised of the possibility of such damages.
  3618. 9. Accepting Warranty or Additional Liability. While redistributing
  3619. the Work or Derivative Works thereof, You may choose to offer,
  3620. and charge a fee for, acceptance of support, warranty, indemnity,
  3621. or other liability obligations and/or rights consistent with this
  3622. License. However, in accepting such obligations, You may act only
  3623. on Your own behalf and on Your sole responsibility, not on behalf
  3624. of any other Contributor, and only if You agree to indemnify,
  3625. defend, and hold each Contributor harmless for any liability
  3626. incurred by, or claims asserted against, such Contributor by reason
  3627. of your accepting any such warranty or additional liability.
  3628. END OF TERMS AND CONDITIONS
  3629. APPENDIX: How to apply the Apache License to your work.
  3630. To apply the Apache License to your work, attach the following
  3631. boilerplate notice, with the fields enclosed by brackets "[]"
  3632. replaced with your own identifying information. (Don't include
  3633. the brackets!) The text should be enclosed in the appropriate
  3634. comment syntax for the file format. We also recommend that a
  3635. file or class name and description of purpose be included on the
  3636. same "printed page" as the copyright notice for easier
  3637. identification within third-party archives.
  3638. Copyright 2018, The TensorFlow Authors.
  3639. Licensed under the Apache License, Version 2.0 (the "License");
  3640. you may not use this file except in compliance with the License.
  3641. You may obtain a copy of the License at
  3642. http://www.apache.org/licenses/LICENSE-2.0
  3643. Unless required by applicable law or agreed to in writing, software
  3644. distributed under the License is distributed on an "AS IS" BASIS,
  3645. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3646. See the License for the specific language governing permissions and
  3647. limitations under the License.
  3648. --------------------------------------------------------------------------------
  3649. END LICENSE FOR external/local_config_tensorrt/LICENSE
  3650. --------------------------------------------------------------------------------
  3651. --------------------------------------------------------------------------------
  3652. BEGIN LICENSE FOR external/nasm/LICENSE
  3653. --------------------------------------------------------------------------------
  3654. NASM is now licensed under the 2-clause BSD license, also known as the
  3655. simplified BSD license.
  3656. Copyright 1996-2010 the NASM Authors - All rights reserved.
  3657. Redistribution and use in source and binary forms, with or without
  3658. modification, are permitted provided that the following
  3659. conditions are met:
  3660. * Redistributions of source code must retain the above copyright
  3661. notice, this list of conditions and the following disclaimer.
  3662. * Redistributions in binary form must reproduce the above
  3663. copyright notice, this list of conditions and the following
  3664. disclaimer in the documentation and/or other materials provided
  3665. with the distribution.
  3666. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  3667. CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  3668. INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  3669. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  3670. DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  3671. CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  3672. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  3673. NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  3674. LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3675. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  3676. CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  3677. OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  3678. EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  3679. --------------------------------------------------------------------------------
  3680. END LICENSE FOR external/nasm/LICENSE
  3681. --------------------------------------------------------------------------------
  3682. --------------------------------------------------------------------------------
  3683. BEGIN LICENSE FOR external/nsync/LICENSE
  3684. --------------------------------------------------------------------------------
  3685. Apache License
  3686. Version 2.0, January 2004
  3687. http://www.apache.org/licenses/
  3688. TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  3689. 1. Definitions.
  3690. "License" shall mean the terms and conditions for use, reproduction,
  3691. and distribution as defined by Sections 1 through 9 of this document.
  3692. "Licensor" shall mean the copyright owner or entity authorized by
  3693. the copyright owner that is granting the License.
  3694. "Legal Entity" shall mean the union of the acting entity and all
  3695. other entities that control, are controlled by, or are under common
  3696. control with that entity. For the purposes of this definition,
  3697. "control" means (i) the power, direct or indirect, to cause the
  3698. direction or management of such entity, whether by contract or
  3699. otherwise, or (ii) ownership of fifty percent (50%) or more of the
  3700. outstanding shares, or (iii) beneficial ownership of such entity.
  3701. "You" (or "Your") shall mean an individual or Legal Entity
  3702. exercising permissions granted by this License.
  3703. "Source" form shall mean the preferred form for making modifications,
  3704. including but not limited to software source code, documentation
  3705. source, and configuration files.
  3706. "Object" form shall mean any form resulting from mechanical
  3707. transformation or translation of a Source form, including but
  3708. not limited to compiled object code, generated documentation,
  3709. and conversions to other media types.
  3710. "Work" shall mean the work of authorship, whether in Source or
  3711. Object form, made available under the License, as indicated by a
  3712. copyright notice that is included in or attached to the work
  3713. (an example is provided in the Appendix below).
  3714. "Derivative Works" shall mean any work, whether in Source or Object
  3715. form, that is based on (or derived from) the Work and for which the
  3716. editorial revisions, annotations, elaborations, or other modifications
  3717. represent, as a whole, an original work of authorship. For the purposes
  3718. of this License, Derivative Works shall not include works that remain
  3719. separable from, or merely link (or bind by name) to the interfaces of,
  3720. the Work and Derivative Works thereof.
  3721. "Contribution" shall mean any work of authorship, including
  3722. the original version of the Work and any modifications or additions
  3723. to that Work or Derivative Works thereof, that is intentionally
  3724. submitted to Licensor for inclusion in the Work by the copyright owner
  3725. or by an individual or Legal Entity authorized to submit on behalf of
  3726. the copyright owner. For the purposes of this definition, "submitted"
  3727. means any form of electronic, verbal, or written communication sent
  3728. to the Licensor or its representatives, including but not limited to
  3729. communication on electronic mailing lists, source code control systems,
  3730. and issue tracking systems that are managed by, or on behalf of, the
  3731. Licensor for the purpose of discussing and improving the Work, but
  3732. excluding communication that is conspicuously marked or otherwise
  3733. designated in writing by the copyright owner as "Not a Contribution."
  3734. "Contributor" shall mean Licensor and any individual or Legal Entity
  3735. on behalf of whom a Contribution has been received by Licensor and
  3736. subsequently incorporated within the Work.
  3737. 2. Grant of Copyright License. Subject to the terms and conditions of
  3738. this License, each Contributor hereby grants to You a perpetual,
  3739. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  3740. copyright license to reproduce, prepare Derivative Works of,
  3741. publicly display, publicly perform, sublicense, and distribute the
  3742. Work and such Derivative Works in Source or Object form.
  3743. 3. Grant of Patent License. Subject to the terms and conditions of
  3744. this License, each Contributor hereby grants to You a perpetual,
  3745. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  3746. (except as stated in this section) patent license to make, have made,
  3747. use, offer to sell, sell, import, and otherwise transfer the Work,
  3748. where such license applies only to those patent claims licensable
  3749. by such Contributor that are necessarily infringed by their
  3750. Contribution(s) alone or by combination of their Contribution(s)
  3751. with the Work to which such Contribution(s) was submitted. If You
  3752. institute patent litigation against any entity (including a
  3753. cross-claim or counterclaim in a lawsuit) alleging that the Work
  3754. or a Contribution incorporated within the Work constitutes direct
  3755. or contributory patent infringement, then any patent licenses
  3756. granted to You under this License for that Work shall terminate
  3757. as of the date such litigation is filed.
  3758. 4. Redistribution. You may reproduce and distribute copies of the
  3759. Work or Derivative Works thereof in any medium, with or without
  3760. modifications, and in Source or Object form, provided that You
  3761. meet the following conditions:
  3762. (a) You must give any other recipients of the Work or
  3763. Derivative Works a copy of this License; and
  3764. (b) You must cause any modified files to carry prominent notices
  3765. stating that You changed the files; and
  3766. (c) You must retain, in the Source form of any Derivative Works
  3767. that You distribute, all copyright, patent, trademark, and
  3768. attribution notices from the Source form of the Work,
  3769. excluding those notices that do not pertain to any part of
  3770. the Derivative Works; and
  3771. (d) If the Work includes a "NOTICE" text file as part of its
  3772. distribution, then any Derivative Works that You distribute must
  3773. include a readable copy of the attribution notices contained
  3774. within such NOTICE file, excluding those notices that do not
  3775. pertain to any part of the Derivative Works, in at least one
  3776. of the following places: within a NOTICE text file distributed
  3777. as part of the Derivative Works; within the Source form or
  3778. documentation, if provided along with the Derivative Works; or,
  3779. within a display generated by the Derivative Works, if and
  3780. wherever such third-party notices normally appear. The contents
  3781. of the NOTICE file are for informational purposes only and
  3782. do not modify the License. You may add Your own attribution
  3783. notices within Derivative Works that You distribute, alongside
  3784. or as an addendum to the NOTICE text from the Work, provided
  3785. that such additional attribution notices cannot be construed
  3786. as modifying the License.
  3787. You may add Your own copyright statement to Your modifications and
  3788. may provide additional or different license terms and conditions
  3789. for use, reproduction, or distribution of Your modifications, or
  3790. for any such Derivative Works as a whole, provided Your use,
  3791. reproduction, and distribution of the Work otherwise complies with
  3792. the conditions stated in this License.
  3793. 5. Submission of Contributions. Unless You explicitly state otherwise,
  3794. any Contribution intentionally submitted for inclusion in the Work
  3795. by You to the Licensor shall be under the terms and conditions of
  3796. this License, without any additional terms or conditions.
  3797. Notwithstanding the above, nothing herein shall supersede or modify
  3798. the terms of any separate license agreement you may have executed
  3799. with Licensor regarding such Contributions.
  3800. 6. Trademarks. This License does not grant permission to use the trade
  3801. names, trademarks, service marks, or product names of the Licensor,
  3802. except as required for reasonable and customary use in describing the
  3803. origin of the Work and reproducing the content of the NOTICE file.
  3804. 7. Disclaimer of Warranty. Unless required by applicable law or
  3805. agreed to in writing, Licensor provides the Work (and each
  3806. Contributor provides its Contributions) on an "AS IS" BASIS,
  3807. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  3808. implied, including, without limitation, any warranties or conditions
  3809. of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  3810. PARTICULAR PURPOSE. You are solely responsible for determining the
  3811. appropriateness of using or redistributing the Work and assume any
  3812. risks associated with Your exercise of permissions under this License.
  3813. 8. Limitation of Liability. In no event and under no legal theory,
  3814. whether in tort (including negligence), contract, or otherwise,
  3815. unless required by applicable law (such as deliberate and grossly
  3816. negligent acts) or agreed to in writing, shall any Contributor be
  3817. liable to You for damages, including any direct, indirect, special,
  3818. incidental, or consequential damages of any character arising as a
  3819. result of this License or out of the use or inability to use the
  3820. Work (including but not limited to damages for loss of goodwill,
  3821. work stoppage, computer failure or malfunction, or any and all
  3822. other commercial damages or losses), even if such Contributor
  3823. has been advised of the possibility of such damages.
  3824. 9. Accepting Warranty or Additional Liability. While redistributing
  3825. the Work or Derivative Works thereof, You may choose to offer,
  3826. and charge a fee for, acceptance of support, warranty, indemnity,
  3827. or other liability obligations and/or rights consistent with this
  3828. License. However, in accepting such obligations, You may act only
  3829. on Your own behalf and on Your sole responsibility, not on behalf
  3830. of any other Contributor, and only if You agree to indemnify,
  3831. defend, and hold each Contributor harmless for any liability
  3832. incurred by, or claims asserted against, such Contributor by reason
  3833. of your accepting any such warranty or additional liability.
  3834. END OF TERMS AND CONDITIONS
  3835. APPENDIX: How to apply the Apache License to your work.
  3836. To apply the Apache License to your work, attach the following
  3837. boilerplate notice, with the fields enclosed by brackets "[]"
  3838. replaced with your own identifying information. (Don't include
  3839. the brackets!) The text should be enclosed in the appropriate
  3840. comment syntax for the file format. We also recommend that a
  3841. file or class name and description of purpose be included on the
  3842. same "printed page" as the copyright notice for easier
  3843. identification within third-party archives.
  3844. Copyright [yyyy] [name of copyright owner]
  3845. Licensed under the Apache License, Version 2.0 (the "License");
  3846. you may not use this file except in compliance with the License.
  3847. You may obtain a copy of the License at
  3848. http://www.apache.org/licenses/LICENSE-2.0
  3849. Unless required by applicable law or agreed to in writing, software
  3850. distributed under the License is distributed on an "AS IS" BASIS,
  3851. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3852. See the License for the specific language governing permissions and
  3853. limitations under the License.
  3854. --------------------------------------------------------------------------------
  3855. END LICENSE FOR external/nsync/LICENSE
  3856. --------------------------------------------------------------------------------
  3857. --------------------------------------------------------------------------------
  3858. BEGIN LICENSE FOR external/png/LICENSE
  3859. --------------------------------------------------------------------------------
  3860. COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
  3861. =========================================
  3862. PNG Reference Library License version 2
  3863. ---------------------------------------
  3864. * Copyright (c) 1995-2019 The PNG Reference Library Authors.
  3865. * Copyright (c) 2018-2019 Cosmin Truta.
  3866. * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
  3867. * Copyright (c) 1996-1997 Andreas Dilger.
  3868. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  3869. The software is supplied "as is", without warranty of any kind,
  3870. express or implied, including, without limitation, the warranties
  3871. of merchantability, fitness for a particular purpose, title, and
  3872. non-infringement. In no event shall the Copyright owners, or
  3873. anyone distributing the software, be liable for any damages or
  3874. other liability, whether in contract, tort or otherwise, arising
  3875. from, out of, or in connection with the software, or the use or
  3876. other dealings in the software, even if advised of the possibility
  3877. of such damage.
  3878. Permission is hereby granted to use, copy, modify, and distribute
  3879. this software, or portions hereof, for any purpose, without fee,
  3880. subject to the following restrictions:
  3881. 1. The origin of this software must not be misrepresented; you
  3882. must not claim that you wrote the original software. If you
  3883. use this software in a product, an acknowledgment in the product
  3884. documentation would be appreciated, but is not required.
  3885. 2. Altered source versions must be plainly marked as such, and must
  3886. not be misrepresented as being the original software.
  3887. 3. This Copyright notice may not be removed or altered from any
  3888. source or altered source distribution.
  3889. PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
  3890. -----------------------------------------------------------------------
  3891. libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are
  3892. Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
  3893. derived from libpng-1.0.6, and are distributed according to the same
  3894. disclaimer and license as libpng-1.0.6 with the following individuals
  3895. added to the list of Contributing Authors:
  3896. Simon-Pierre Cadieux
  3897. Eric S. Raymond
  3898. Mans Rullgard
  3899. Cosmin Truta
  3900. Gilles Vollant
  3901. James Yu
  3902. Mandar Sahastrabuddhe
  3903. Google Inc.
  3904. Vadim Barkov
  3905. and with the following additions to the disclaimer:
  3906. There is no warranty against interference with your enjoyment of
  3907. the library or against infringement. There is no warranty that our
  3908. efforts or the library will fulfill any of your particular purposes
  3909. or needs. This library is provided with all faults, and the entire
  3910. risk of satisfactory quality, performance, accuracy, and effort is
  3911. with the user.
  3912. Some files in the "contrib" directory and some configure-generated
  3913. files that are distributed with libpng have other copyright owners, and
  3914. are released under other open source licenses.
  3915. libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
  3916. Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
  3917. libpng-0.96, and are distributed according to the same disclaimer and
  3918. license as libpng-0.96, with the following individuals added to the
  3919. list of Contributing Authors:
  3920. Tom Lane
  3921. Glenn Randers-Pehrson
  3922. Willem van Schaik
  3923. libpng versions 0.89, June 1996, through 0.96, May 1997, are
  3924. Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
  3925. and are distributed according to the same disclaimer and license as
  3926. libpng-0.88, with the following individuals added to the list of
  3927. Contributing Authors:
  3928. John Bowler
  3929. Kevin Bracey
  3930. Sam Bushell
  3931. Magnus Holmgren
  3932. Greg Roelofs
  3933. Tom Tanner
  3934. Some files in the "scripts" directory have other copyright owners,
  3935. but are released under this license.
  3936. libpng versions 0.5, May 1995, through 0.88, January 1996, are
  3937. Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  3938. For the purposes of this copyright and license, "Contributing Authors"
  3939. is defined as the following set of individuals:
  3940. Andreas Dilger
  3941. Dave Martindale
  3942. Guy Eric Schalnat
  3943. Paul Schmidt
  3944. Tim Wegner
  3945. The PNG Reference Library is supplied "AS IS". The Contributing
  3946. Authors and Group 42, Inc. disclaim all warranties, expressed or
  3947. implied, including, without limitation, the warranties of
  3948. merchantability and of fitness for any purpose. The Contributing
  3949. Authors and Group 42, Inc. assume no liability for direct, indirect,
  3950. incidental, special, exemplary, or consequential damages, which may
  3951. result from the use of the PNG Reference Library, even if advised of
  3952. the possibility of such damage.
  3953. Permission is hereby granted to use, copy, modify, and distribute this
  3954. source code, or portions hereof, for any purpose, without fee, subject
  3955. to the following restrictions:
  3956. 1. The origin of this source code must not be misrepresented.
  3957. 2. Altered versions must be plainly marked as such and must not
  3958. be misrepresented as being the original source.
  3959. 3. This Copyright notice may not be removed or altered from any
  3960. source or altered source distribution.
  3961. The Contributing Authors and Group 42, Inc. specifically permit,
  3962. without fee, and encourage the use of this source code as a component
  3963. to supporting the PNG file format in commercial products. If you use
  3964. this source code in a product, acknowledgment is not required but would
  3965. be appreciated.
  3966. --------------------------------------------------------------------------------
  3967. END LICENSE FOR external/png/LICENSE
  3968. --------------------------------------------------------------------------------
  3969. --------------------------------------------------------------------------------
  3970. BEGIN LICENSE FOR external/snappy/COPYING
  3971. --------------------------------------------------------------------------------
  3972. Copyright 2011, Google Inc.
  3973. All rights reserved.
  3974. Redistribution and use in source and binary forms, with or without
  3975. modification, are permitted provided that the following conditions are
  3976. met:
  3977. * Redistributions of source code must retain the above copyright
  3978. notice, this list of conditions and the following disclaimer.
  3979. * Redistributions in binary form must reproduce the above
  3980. copyright notice, this list of conditions and the following disclaimer
  3981. in the documentation and/or other materials provided with the
  3982. distribution.
  3983. * Neither the name of Google Inc. nor the names of its
  3984. contributors may be used to endorse or promote products derived from
  3985. this software without specific prior written permission.
  3986. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  3987. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  3988. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  3989. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  3990. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  3991. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  3992. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  3993. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  3994. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  3995. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  3996. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  3997. ===
  3998. Some of the benchmark data in testdata/ is licensed differently:
  3999. - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and
  4000. is licensed under the Creative Commons Attribution 3.0 license
  4001. (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/
  4002. for more information.
  4003. - kppkn.gtb is taken from the Gaviota chess tablebase set, and
  4004. is licensed under the MIT License. See
  4005. https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1
  4006. for more information.
  4007. - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper
  4008. “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA
  4009. Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro,
  4010. which is licensed under the CC-BY license. See
  4011. http://www.ploscompbiol.org/static/license for more ifnormation.
  4012. - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project
  4013. Gutenberg. The first three have expired copyrights and are in the public
  4014. domain; the latter does not have expired copyright, but is still in the
  4015. public domain according to the license information
  4016. (http://www.gutenberg.org/ebooks/53).
  4017. --------------------------------------------------------------------------------
  4018. END LICENSE FOR external/snappy/COPYING
  4019. --------------------------------------------------------------------------------
  4020. --------------------------------------------------------------------------------
  4021. BEGIN LICENSE FOR external/zlib/zlib.h
  4022. --------------------------------------------------------------------------------
  4023. /* zlib.h -- interface of the 'zlib' general purpose compression library
  4024. version 1.2.11, January 15th, 2017
  4025. Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
  4026. This software is provided 'as-is', without any express or implied
  4027. warranty. In no event will the authors be held liable for any damages
  4028. arising from the use of this software.
  4029. Permission is granted to anyone to use this software for any purpose,
  4030. including commercial applications, and to alter it and redistribute it
  4031. freely, subject to the following restrictions:
  4032. 1. The origin of this software must not be misrepresented; you must not
  4033. claim that you wrote the original software. If you use this software
  4034. in a product, an acknowledgment in the product documentation would be
  4035. appreciated but is not required.
  4036. 2. Altered source versions must be plainly marked as such, and must not be
  4037. misrepresented as being the original software.
  4038. 3. This notice may not be removed or altered from any source distribution.
  4039. Jean-loup Gailly Mark Adler
  4040. jloup@gzip.org madler@alumni.caltech.edu
  4041. The data format used by the zlib library is described by RFCs (Request for
  4042. Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950
  4043. (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).
  4044. */
  4045. #ifndef ZLIB_H
  4046. #define ZLIB_H
  4047. #include "zconf.h"
  4048. #ifdef __cplusplus
  4049. extern "C" {
  4050. #endif
  4051. #define ZLIB_VERSION "1.2.11"
  4052. #define ZLIB_VERNUM 0x12b0
  4053. #define ZLIB_VER_MAJOR 1
  4054. #define ZLIB_VER_MINOR 2
  4055. #define ZLIB_VER_REVISION 11
  4056. #define ZLIB_VER_SUBREVISION 0
  4057. /*
  4058. The 'zlib' compression library provides in-memory compression and
  4059. decompression functions, including integrity checks of the uncompressed data.
  4060. This version of the library supports only one compression method (deflation)
  4061. but other algorithms will be added later and will have the same stream
  4062. interface.
  4063. Compression can be done in a single step if the buffers are large enough,
  4064. or can be done by repeated calls of the compression function. In the latter
  4065. case, the application must provide more input and/or consume the output
  4066. (providing more output space) before each call.
  4067. The compressed data format used by default by the in-memory functions is
  4068. the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
  4069. around a deflate stream, which is itself documented in RFC 1951.
  4070. The library also supports reading and writing files in gzip (.gz) format
  4071. with an interface similar to that of stdio using the functions that start
  4072. with "gz". The gzip format is different from the zlib format. gzip is a
  4073. gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
  4074. This library can optionally read and write gzip and raw deflate streams in
  4075. memory as well.
  4076. The zlib format was designed to be compact and fast for use in memory
  4077. and on communications channels. The gzip format was designed for single-
  4078. file compression on file systems, has a larger header than zlib to maintain
  4079. directory information, and uses a different, slower check method than zlib.
  4080. The library does not install any signal handler. The decoder checks
  4081. the consistency of the compressed data, so the library should never crash
  4082. even in the case of corrupted input.
  4083. */
  4084. typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
  4085. typedef void (*free_func) OF((voidpf opaque, voidpf address));
  4086. struct internal_state;
  4087. typedef struct z_stream_s {
  4088. z_const Bytef *next_in; /* next input byte */
  4089. uInt avail_in; /* number of bytes available at next_in */
  4090. uLong total_in; /* total number of input bytes read so far */
  4091. Bytef *next_out; /* next output byte will go here */
  4092. uInt avail_out; /* remaining free space at next_out */
  4093. uLong total_out; /* total number of bytes output so far */
  4094. z_const char *msg; /* last error message, NULL if no error */
  4095. struct internal_state FAR *state; /* not visible by applications */
  4096. alloc_func zalloc; /* used to allocate the internal state */
  4097. free_func zfree; /* used to free the internal state */
  4098. voidpf opaque; /* private data object passed to zalloc and zfree */
  4099. int data_type; /* best guess about the data type: binary or text
  4100. for deflate, or the decoding state for inflate */
  4101. uLong adler; /* Adler-32 or CRC-32 value of the uncompressed data */
  4102. uLong reserved; /* reserved for future use */
  4103. } z_stream;
  4104. typedef z_stream FAR *z_streamp;
  4105. /*
  4106. gzip header information passed to and from zlib routines. See RFC 1952
  4107. for more details on the meanings of these fields.
  4108. */
  4109. typedef struct gz_header_s {
  4110. int text; /* true if compressed data believed to be text */
  4111. uLong time; /* modification time */
  4112. int xflags; /* extra flags (not used when writing a gzip file) */
  4113. int os; /* operating system */
  4114. Bytef *extra; /* pointer to extra field or Z_NULL if none */
  4115. uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
  4116. uInt extra_max; /* space at extra (only when reading header) */
  4117. Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
  4118. uInt name_max; /* space at name (only when reading header) */
  4119. Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
  4120. uInt comm_max; /* space at comment (only when reading header) */
  4121. int hcrc; /* true if there was or will be a header crc */
  4122. int done; /* true when done reading gzip header (not used
  4123. when writing a gzip file) */
  4124. } gz_header;
  4125. typedef gz_header FAR *gz_headerp;
  4126. /*
  4127. The application must update next_in and avail_in when avail_in has dropped
  4128. to zero. It must update next_out and avail_out when avail_out has dropped
  4129. to zero. The application must initialize zalloc, zfree and opaque before
  4130. calling the init function. All other fields are set by the compression
  4131. library and must not be updated by the application.
  4132. The opaque value provided by the application will be passed as the first
  4133. parameter for calls of zalloc and zfree. This can be useful for custom
  4134. memory management. The compression library attaches no meaning to the
  4135. opaque value.
  4136. zalloc must return Z_NULL if there is not enough memory for the object.
  4137. If zlib is used in a multi-threaded application, zalloc and zfree must be
  4138. thread safe. In that case, zlib is thread-safe. When zalloc and zfree are
  4139. Z_NULL on entry to the initialization function, they are set to internal
  4140. routines that use the standard library functions malloc() and free().
  4141. On 16-bit systems, the functions zalloc and zfree must be able to allocate
  4142. exactly 65536 bytes, but will not be required to allocate more than this if
  4143. the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers
  4144. returned by zalloc for objects of exactly 65536 bytes *must* have their
  4145. offset normalized to zero. The default allocation function provided by this
  4146. library ensures this (see zutil.c). To reduce memory requirements and avoid
  4147. any allocation of 64K objects, at the expense of compression ratio, compile
  4148. the library with -DMAX_WBITS=14 (see zconf.h).
  4149. The fields total_in and total_out can be used for statistics or progress
  4150. reports. After compression, total_in holds the total size of the
  4151. uncompressed data and may be saved for use by the decompressor (particularly
  4152. if the decompressor wants to decompress everything in a single step).
  4153. */
  4154. /* constants */
  4155. #define Z_NO_FLUSH 0
  4156. #define Z_PARTIAL_FLUSH 1
  4157. #define Z_SYNC_FLUSH 2
  4158. #define Z_FULL_FLUSH 3
  4159. #define Z_FINISH 4
  4160. #define Z_BLOCK 5
  4161. #define Z_TREES 6
  4162. /* Allowed flush values; see deflate() and inflate() below for details */
  4163. #define Z_OK 0
  4164. #define Z_STREAM_END 1
  4165. #define Z_NEED_DICT 2
  4166. #define Z_ERRNO (-1)
  4167. #define Z_STREAM_ERROR (-2)
  4168. #define Z_DATA_ERROR (-3)
  4169. #define Z_MEM_ERROR (-4)
  4170. #define Z_BUF_ERROR (-5)
  4171. #define Z_VERSION_ERROR (-6)
  4172. /* Return codes for the compression/decompression functions. Negative values
  4173. * are errors, positive values are used for special but normal events.
  4174. */
  4175. #define Z_NO_COMPRESSION 0
  4176. #define Z_BEST_SPEED 1
  4177. #define Z_BEST_COMPRESSION 9
  4178. #define Z_DEFAULT_COMPRESSION (-1)
  4179. /* compression levels */
  4180. #define Z_FILTERED 1
  4181. #define Z_HUFFMAN_ONLY 2
  4182. #define Z_RLE 3
  4183. #define Z_FIXED 4
  4184. #define Z_DEFAULT_STRATEGY 0
  4185. /* compression strategy; see deflateInit2() below for details */
  4186. #define Z_BINARY 0
  4187. #define Z_TEXT 1
  4188. #define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
  4189. #define Z_UNKNOWN 2
  4190. /* Possible values of the data_type field for deflate() */
  4191. #define Z_DEFLATED 8
  4192. /* The deflate compression method (the only one supported in this version) */
  4193. #define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
  4194. #define zlib_version zlibVersion()
  4195. /* for compatibility with versions < 1.0.2 */
  4196. /* basic functions */
  4197. ZEXTERN const char * ZEXPORT zlibVersion OF((void));
  4198. /* The application can compare zlibVersion and ZLIB_VERSION for consistency.
  4199. If the first character differs, the library code actually used is not
  4200. compatible with the zlib.h header file used by the application. This check
  4201. is automatically made by deflateInit and inflateInit.
  4202. */
  4203. /*
  4204. ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
  4205. Initializes the internal stream state for compression. The fields
  4206. zalloc, zfree and opaque must be initialized before by the caller. If
  4207. zalloc and zfree are set to Z_NULL, deflateInit updates them to use default
  4208. allocation functions.
  4209. The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
  4210. 1 gives best speed, 9 gives best compression, 0 gives no compression at all
  4211. (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION
  4212. requests a default compromise between speed and compression (currently
  4213. equivalent to level 6).
  4214. deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
  4215. memory, Z_STREAM_ERROR if level is not a valid compression level, or
  4216. Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
  4217. with the version assumed by the caller (ZLIB_VERSION). msg is set to null
  4218. if there is no error message. deflateInit does not perform any compression:
  4219. this will be done by deflate().
  4220. */
  4221. ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
  4222. /*
  4223. deflate compresses as much data as possible, and stops when the input
  4224. buffer becomes empty or the output buffer becomes full. It may introduce
  4225. some output latency (reading input without producing any output) except when
  4226. forced to flush.
  4227. The detailed semantics are as follows. deflate performs one or both of the
  4228. following actions:
  4229. - Compress more input starting at next_in and update next_in and avail_in
  4230. accordingly. If not all input can be processed (because there is not
  4231. enough room in the output buffer), next_in and avail_in are updated and
  4232. processing will resume at this point for the next call of deflate().
  4233. - Generate more output starting at next_out and update next_out and avail_out
  4234. accordingly. This action is forced if the parameter flush is non zero.
  4235. Forcing flush frequently degrades the compression ratio, so this parameter
  4236. should be set only when necessary. Some output may be provided even if
  4237. flush is zero.
  4238. Before the call of deflate(), the application should ensure that at least
  4239. one of the actions is possible, by providing more input and/or consuming more
  4240. output, and updating avail_in or avail_out accordingly; avail_out should
  4241. never be zero before the call. The application can consume the compressed
  4242. output when it wants, for example when the output buffer is full (avail_out
  4243. == 0), or after each call of deflate(). If deflate returns Z_OK and with
  4244. zero avail_out, it must be called again after making room in the output
  4245. buffer because there might be more output pending. See deflatePending(),
  4246. which can be used if desired to determine whether or not there is more ouput
  4247. in that case.
  4248. Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
  4249. decide how much data to accumulate before producing output, in order to
  4250. maximize compression.
  4251. If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
  4252. flushed to the output buffer and the output is aligned on a byte boundary, so
  4253. that the decompressor can get all input data available so far. (In
  4254. particular avail_in is zero after the call if enough output space has been
  4255. provided before the call.) Flushing may degrade compression for some
  4256. compression algorithms and so it should be used only when necessary. This
  4257. completes the current deflate block and follows it with an empty stored block
  4258. that is three bits plus filler bits to the next byte, followed by four bytes
  4259. (00 00 ff ff).
  4260. If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the
  4261. output buffer, but the output is not aligned to a byte boundary. All of the
  4262. input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
  4263. This completes the current deflate block and follows it with an empty fixed
  4264. codes block that is 10 bits long. This assures that enough bytes are output
  4265. in order for the decompressor to finish the block before the empty fixed
  4266. codes block.
  4267. If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
  4268. for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
  4269. seven bits of the current block are held to be written as the next byte after
  4270. the next deflate block is completed. In this case, the decompressor may not
  4271. be provided enough bits at this point in order to complete decompression of
  4272. the data provided so far to the compressor. It may need to wait for the next
  4273. block to be emitted. This is for advanced applications that need to control
  4274. the emission of deflate blocks.
  4275. If flush is set to Z_FULL_FLUSH, all output is flushed as with
  4276. Z_SYNC_FLUSH, and the compression state is reset so that decompression can
  4277. restart from this point if previous compressed data has been damaged or if
  4278. random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
  4279. compression.
  4280. If deflate returns with avail_out == 0, this function must be called again
  4281. with the same value of the flush parameter and more output space (updated
  4282. avail_out), until the flush is complete (deflate returns with non-zero
  4283. avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
  4284. avail_out is greater than six to avoid repeated flush markers due to
  4285. avail_out == 0 on return.
  4286. If the parameter flush is set to Z_FINISH, pending input is processed,
  4287. pending output is flushed and deflate returns with Z_STREAM_END if there was
  4288. enough output space. If deflate returns with Z_OK or Z_BUF_ERROR, this
  4289. function must be called again with Z_FINISH and more output space (updated
  4290. avail_out) but no more input data, until it returns with Z_STREAM_END or an
  4291. error. After deflate has returned Z_STREAM_END, the only possible operations
  4292. on the stream are deflateReset or deflateEnd.
  4293. Z_FINISH can be used in the first deflate call after deflateInit if all the
  4294. compression is to be done in a single step. In order to complete in one
  4295. call, avail_out must be at least the value returned by deflateBound (see
  4296. below). Then deflate is guaranteed to return Z_STREAM_END. If not enough
  4297. output space is provided, deflate will not return Z_STREAM_END, and it must
  4298. be called again as described above.
  4299. deflate() sets strm->adler to the Adler-32 checksum of all input read
  4300. so far (that is, total_in bytes). If a gzip stream is being generated, then
  4301. strm->adler will be the CRC-32 checksum of the input read so far. (See
  4302. deflateInit2 below.)
  4303. deflate() may update strm->data_type if it can make a good guess about
  4304. the input data type (Z_BINARY or Z_TEXT). If in doubt, the data is
  4305. considered binary. This field is only for information purposes and does not
  4306. affect the compression algorithm in any manner.
  4307. deflate() returns Z_OK if some progress has been made (more input
  4308. processed or more output produced), Z_STREAM_END if all input has been
  4309. consumed and all output has been produced (only when flush is set to
  4310. Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
  4311. if next_in or next_out was Z_NULL or the state was inadvertently written over
  4312. by the application), or Z_BUF_ERROR if no progress is possible (for example
  4313. avail_in or avail_out was zero). Note that Z_BUF_ERROR is not fatal, and
  4314. deflate() can be called again with more input and more output space to
  4315. continue compressing.
  4316. */
  4317. ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
  4318. /*
  4319. All dynamically allocated data structures for this stream are freed.
  4320. This function discards any unprocessed input and does not flush any pending
  4321. output.
  4322. deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
  4323. stream state was inconsistent, Z_DATA_ERROR if the stream was freed
  4324. prematurely (some input or output was discarded). In the error case, msg
  4325. may be set but then points to a static string (which must not be
  4326. deallocated).
  4327. */
  4328. /*
  4329. ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
  4330. Initializes the internal stream state for decompression. The fields
  4331. next_in, avail_in, zalloc, zfree and opaque must be initialized before by
  4332. the caller. In the current version of inflate, the provided input is not
  4333. read or consumed. The allocation of a sliding window will be deferred to
  4334. the first call of inflate (if the decompression does not complete on the
  4335. first call). If zalloc and zfree are set to Z_NULL, inflateInit updates
  4336. them to use default allocation functions.
  4337. inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
  4338. memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
  4339. version assumed by the caller, or Z_STREAM_ERROR if the parameters are
  4340. invalid, such as a null pointer to the structure. msg is set to null if
  4341. there is no error message. inflateInit does not perform any decompression.
  4342. Actual decompression will be done by inflate(). So next_in, and avail_in,
  4343. next_out, and avail_out are unused and unchanged. The current
  4344. implementation of inflateInit() does not process any header information --
  4345. that is deferred until inflate() is called.
  4346. */
  4347. ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
  4348. /*
  4349. inflate decompresses as much data as possible, and stops when the input
  4350. buffer becomes empty or the output buffer becomes full. It may introduce
  4351. some output latency (reading input without producing any output) except when
  4352. forced to flush.
  4353. The detailed semantics are as follows. inflate performs one or both of the
  4354. following actions:
  4355. - Decompress more input starting at next_in and update next_in and avail_in
  4356. accordingly. If not all input can be processed (because there is not
  4357. enough room in the output buffer), then next_in and avail_in are updated
  4358. accordingly, and processing will resume at this point for the next call of
  4359. inflate().
  4360. - Generate more output starting at next_out and update next_out and avail_out
  4361. accordingly. inflate() provides as much output as possible, until there is
  4362. no more input data or no more space in the output buffer (see below about
  4363. the flush parameter).
  4364. Before the call of inflate(), the application should ensure that at least
  4365. one of the actions is possible, by providing more input and/or consuming more
  4366. output, and updating the next_* and avail_* values accordingly. If the
  4367. caller of inflate() does not provide both available input and available
  4368. output space, it is possible that there will be no progress made. The
  4369. application can consume the uncompressed output when it wants, for example
  4370. when the output buffer is full (avail_out == 0), or after each call of
  4371. inflate(). If inflate returns Z_OK and with zero avail_out, it must be
  4372. called again after making room in the output buffer because there might be
  4373. more output pending.
  4374. The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH,
  4375. Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much
  4376. output as possible to the output buffer. Z_BLOCK requests that inflate()
  4377. stop if and when it gets to the next deflate block boundary. When decoding
  4378. the zlib or gzip format, this will cause inflate() to return immediately
  4379. after the header and before the first block. When doing a raw inflate,
  4380. inflate() will go ahead and process the first block, and will return when it
  4381. gets to the end of that block, or when it runs out of data.
  4382. The Z_BLOCK option assists in appending to or combining deflate streams.
  4383. To assist in this, on return inflate() always sets strm->data_type to the
  4384. number of unused bits in the last byte taken from strm->next_in, plus 64 if
  4385. inflate() is currently decoding the last block in the deflate stream, plus
  4386. 128 if inflate() returned immediately after decoding an end-of-block code or
  4387. decoding the complete header up to just before the first byte of the deflate
  4388. stream. The end-of-block will not be indicated until all of the uncompressed
  4389. data from that block has been written to strm->next_out. The number of
  4390. unused bits may in general be greater than seven, except when bit 7 of
  4391. data_type is set, in which case the number of unused bits will be less than
  4392. eight. data_type is set as noted here every time inflate() returns for all
  4393. flush options, and so can be used to determine the amount of currently
  4394. consumed input in bits.
  4395. The Z_TREES option behaves as Z_BLOCK does, but it also returns when the
  4396. end of each deflate block header is reached, before any actual data in that
  4397. block is decoded. This allows the caller to determine the length of the
  4398. deflate block header for later use in random access within a deflate block.
  4399. 256 is added to the value of strm->data_type when inflate() returns
  4400. immediately after reaching the end of the deflate block header.
  4401. inflate() should normally be called until it returns Z_STREAM_END or an
  4402. error. However if all decompression is to be performed in a single step (a
  4403. single call of inflate), the parameter flush should be set to Z_FINISH. In
  4404. this case all pending input is processed and all pending output is flushed;
  4405. avail_out must be large enough to hold all of the uncompressed data for the
  4406. operation to complete. (The size of the uncompressed data may have been
  4407. saved by the compressor for this purpose.) The use of Z_FINISH is not
  4408. required to perform an inflation in one step. However it may be used to
  4409. inform inflate that a faster approach can be used for the single inflate()
  4410. call. Z_FINISH also informs inflate to not maintain a sliding window if the
  4411. stream completes, which reduces inflate's memory footprint. If the stream
  4412. does not complete, either because not all of the stream is provided or not
  4413. enough output space is provided, then a sliding window will be allocated and
  4414. inflate() can be called again to continue the operation as if Z_NO_FLUSH had
  4415. been used.
  4416. In this implementation, inflate() always flushes as much output as
  4417. possible to the output buffer, and always uses the faster approach on the
  4418. first call. So the effects of the flush parameter in this implementation are
  4419. on the return value of inflate() as noted below, when inflate() returns early
  4420. when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of
  4421. memory for a sliding window when Z_FINISH is used.
  4422. If a preset dictionary is needed after this call (see inflateSetDictionary
  4423. below), inflate sets strm->adler to the Adler-32 checksum of the dictionary
  4424. chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
  4425. strm->adler to the Adler-32 checksum of all output produced so far (that is,
  4426. total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
  4427. below. At the end of the stream, inflate() checks that its computed Adler-32
  4428. checksum is equal to that saved by the compressor and returns Z_STREAM_END
  4429. only if the checksum is correct.
  4430. inflate() can decompress and check either zlib-wrapped or gzip-wrapped
  4431. deflate data. The header type is detected automatically, if requested when
  4432. initializing with inflateInit2(). Any information contained in the gzip
  4433. header is not retained unless inflateGetHeader() is used. When processing
  4434. gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output
  4435. produced so far. The CRC-32 is checked against the gzip trailer, as is the
  4436. uncompressed length, modulo 2^32.
  4437. inflate() returns Z_OK if some progress has been made (more input processed
  4438. or more output produced), Z_STREAM_END if the end of the compressed data has
  4439. been reached and all uncompressed output has been produced, Z_NEED_DICT if a
  4440. preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
  4441. corrupted (input stream not conforming to the zlib format or incorrect check
  4442. value, in which case strm->msg points to a string with a more specific
  4443. error), Z_STREAM_ERROR if the stream structure was inconsistent (for example
  4444. next_in or next_out was Z_NULL, or the state was inadvertently written over
  4445. by the application), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR
  4446. if no progress was possible or if there was not enough room in the output
  4447. buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
  4448. inflate() can be called again with more input and more output space to
  4449. continue decompressing. If Z_DATA_ERROR is returned, the application may
  4450. then call inflateSync() to look for a good compression block if a partial
  4451. recovery of the data is to be attempted.
  4452. */
  4453. ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
  4454. /*
  4455. All dynamically allocated data structures for this stream are freed.
  4456. This function discards any unprocessed input and does not flush any pending
  4457. output.
  4458. inflateEnd returns Z_OK if success, or Z_STREAM_ERROR if the stream state
  4459. was inconsistent.
  4460. */
  4461. /* Advanced functions */
  4462. /*
  4463. The following functions are needed only in some special applications.
  4464. */
  4465. /*
  4466. ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
  4467. int level,
  4468. int method,
  4469. int windowBits,
  4470. int memLevel,
  4471. int strategy));
  4472. This is another version of deflateInit with more compression options. The
  4473. fields next_in, zalloc, zfree and opaque must be initialized before by the
  4474. caller.
  4475. The method parameter is the compression method. It must be Z_DEFLATED in
  4476. this version of the library.
  4477. The windowBits parameter is the base two logarithm of the window size
  4478. (the size of the history buffer). It should be in the range 8..15 for this
  4479. version of the library. Larger values of this parameter result in better
  4480. compression at the expense of memory usage. The default value is 15 if
  4481. deflateInit is used instead.
  4482. For the current implementation of deflate(), a windowBits value of 8 (a
  4483. window size of 256 bytes) is not supported. As a result, a request for 8
  4484. will result in 9 (a 512-byte window). In that case, providing 8 to
  4485. inflateInit2() will result in an error when the zlib header with 9 is
  4486. checked against the initialization of inflate(). The remedy is to not use 8
  4487. with deflateInit2() with this initialization, or at least in that case use 9
  4488. with inflateInit2().
  4489. windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
  4490. determines the window size. deflate() will then generate raw deflate data
  4491. with no zlib header or trailer, and will not compute a check value.
  4492. windowBits can also be greater than 15 for optional gzip encoding. Add
  4493. 16 to windowBits to write a simple gzip header and trailer around the
  4494. compressed data instead of a zlib wrapper. The gzip header will have no
  4495. file name, no extra data, no comment, no modification time (set to zero), no
  4496. header crc, and the operating system will be set to the appropriate value,
  4497. if the operating system was determined at compile time. If a gzip stream is
  4498. being written, strm->adler is a CRC-32 instead of an Adler-32.
  4499. For raw deflate or gzip encoding, a request for a 256-byte window is
  4500. rejected as invalid, since only the zlib header provides a means of
  4501. transmitting the window size to the decompressor.
  4502. The memLevel parameter specifies how much memory should be allocated
  4503. for the internal compression state. memLevel=1 uses minimum memory but is
  4504. slow and reduces compression ratio; memLevel=9 uses maximum memory for
  4505. optimal speed. The default value is 8. See zconf.h for total memory usage
  4506. as a function of windowBits and memLevel.
  4507. The strategy parameter is used to tune the compression algorithm. Use the
  4508. value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
  4509. filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
  4510. string match), or Z_RLE to limit match distances to one (run-length
  4511. encoding). Filtered data consists mostly of small values with a somewhat
  4512. random distribution. In this case, the compression algorithm is tuned to
  4513. compress them better. The effect of Z_FILTERED is to force more Huffman
  4514. coding and less string matching; it is somewhat intermediate between
  4515. Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as
  4516. fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The
  4517. strategy parameter only affects the compression ratio but not the
  4518. correctness of the compressed output even if it is not set appropriately.
  4519. Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler
  4520. decoder for special applications.
  4521. deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
  4522. memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid
  4523. method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is
  4524. incompatible with the version assumed by the caller (ZLIB_VERSION). msg is
  4525. set to null if there is no error message. deflateInit2 does not perform any
  4526. compression: this will be done by deflate().
  4527. */
  4528. ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
  4529. const Bytef *dictionary,
  4530. uInt dictLength));
  4531. /*
  4532. Initializes the compression dictionary from the given byte sequence
  4533. without producing any compressed output. When using the zlib format, this
  4534. function must be called immediately after deflateInit, deflateInit2 or
  4535. deflateReset, and before any call of deflate. When doing raw deflate, this
  4536. function must be called either before any call of deflate, or immediately
  4537. after the completion of a deflate block, i.e. after all input has been
  4538. consumed and all output has been delivered when using any of the flush
  4539. options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The
  4540. compressor and decompressor must use exactly the same dictionary (see
  4541. inflateSetDictionary).
  4542. The dictionary should consist of strings (byte sequences) that are likely
  4543. to be encountered later in the data to be compressed, with the most commonly
  4544. used strings preferably put towards the end of the dictionary. Using a
  4545. dictionary is most useful when the data to be compressed is short and can be
  4546. predicted with good accuracy; the data can then be compressed better than
  4547. with the default empty dictionary.
  4548. Depending on the size of the compression data structures selected by
  4549. deflateInit or deflateInit2, a part of the dictionary may in effect be
  4550. discarded, for example if the dictionary is larger than the window size
  4551. provided in deflateInit or deflateInit2. Thus the strings most likely to be
  4552. useful should be put at the end of the dictionary, not at the front. In
  4553. addition, the current implementation of deflate will use at most the window
  4554. size minus 262 bytes of the provided dictionary.
  4555. Upon return of this function, strm->adler is set to the Adler-32 value
  4556. of the dictionary; the decompressor may later use this value to determine
  4557. which dictionary has been used by the compressor. (The Adler-32 value
  4558. applies to the whole dictionary even if only a subset of the dictionary is
  4559. actually used by the compressor.) If a raw deflate was requested, then the
  4560. Adler-32 value is not computed and strm->adler is not set.
  4561. deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
  4562. parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
  4563. inconsistent (for example if deflate has already been called for this stream
  4564. or if not at a block boundary for raw deflate). deflateSetDictionary does
  4565. not perform any compression: this will be done by deflate().
  4566. */
  4567. ZEXTERN int ZEXPORT deflateGetDictionary OF((z_streamp strm,
  4568. Bytef *dictionary,
  4569. uInt *dictLength));
  4570. /*
  4571. Returns the sliding dictionary being maintained by deflate. dictLength is
  4572. set to the number of bytes in the dictionary, and that many bytes are copied
  4573. to dictionary. dictionary must have enough space, where 32768 bytes is
  4574. always enough. If deflateGetDictionary() is called with dictionary equal to
  4575. Z_NULL, then only the dictionary length is returned, and nothing is copied.
  4576. Similary, if dictLength is Z_NULL, then it is not set.
  4577. deflateGetDictionary() may return a length less than the window size, even
  4578. when more than the window size in input has been provided. It may return up
  4579. to 258 bytes less in that case, due to how zlib's implementation of deflate
  4580. manages the sliding window and lookahead for matches, where matches can be
  4581. up to 258 bytes long. If the application needs the last window-size bytes of
  4582. input, then that would need to be saved by the application outside of zlib.
  4583. deflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
  4584. stream state is inconsistent.
  4585. */
  4586. ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
  4587. z_streamp source));
  4588. /*
  4589. Sets the destination stream as a complete copy of the source stream.
  4590. This function can be useful when several compression strategies will be
  4591. tried, for example when there are several ways of pre-processing the input
  4592. data with a filter. The streams that will be discarded should then be freed
  4593. by calling deflateEnd. Note that deflateCopy duplicates the internal
  4594. compression state which can be quite large, so this strategy is slow and can
  4595. consume lots of memory.
  4596. deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
  4597. enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
  4598. (such as zalloc being Z_NULL). msg is left unchanged in both source and
  4599. destination.
  4600. */
  4601. ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
  4602. /*
  4603. This function is equivalent to deflateEnd followed by deflateInit, but
  4604. does not free and reallocate the internal compression state. The stream
  4605. will leave the compression level and any other attributes that may have been
  4606. set unchanged.
  4607. deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
  4608. stream state was inconsistent (such as zalloc or state being Z_NULL).
  4609. */
  4610. ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
  4611. int level,
  4612. int strategy));
  4613. /*
  4614. Dynamically update the compression level and compression strategy. The
  4615. interpretation of level and strategy is as in deflateInit2(). This can be
  4616. used to switch between compression and straight copy of the input data, or
  4617. to switch to a different kind of input data requiring a different strategy.
  4618. If the compression approach (which is a function of the level) or the
  4619. strategy is changed, and if any input has been consumed in a previous
  4620. deflate() call, then the input available so far is compressed with the old
  4621. level and strategy using deflate(strm, Z_BLOCK). There are three approaches
  4622. for the compression levels 0, 1..3, and 4..9 respectively. The new level
  4623. and strategy will take effect at the next call of deflate().
  4624. If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does
  4625. not have enough output space to complete, then the parameter change will not
  4626. take effect. In this case, deflateParams() can be called again with the
  4627. same parameters and more output space to try again.
  4628. In order to assure a change in the parameters on the first try, the
  4629. deflate stream should be flushed using deflate() with Z_BLOCK or other flush
  4630. request until strm.avail_out is not zero, before calling deflateParams().
  4631. Then no more input data should be provided before the deflateParams() call.
  4632. If this is done, the old level and strategy will be applied to the data
  4633. compressed before deflateParams(), and the new level and strategy will be
  4634. applied to the the data compressed after deflateParams().
  4635. deflateParams returns Z_OK on success, Z_STREAM_ERROR if the source stream
  4636. state was inconsistent or if a parameter was invalid, or Z_BUF_ERROR if
  4637. there was not enough output space to complete the compression of the
  4638. available input data before a change in the strategy or approach. Note that
  4639. in the case of a Z_BUF_ERROR, the parameters are not changed. A return
  4640. value of Z_BUF_ERROR is not fatal, in which case deflateParams() can be
  4641. retried with more output space.
  4642. */
  4643. ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
  4644. int good_length,
  4645. int max_lazy,
  4646. int nice_length,
  4647. int max_chain));
  4648. /*
  4649. Fine tune deflate's internal compression parameters. This should only be
  4650. used by someone who understands the algorithm used by zlib's deflate for
  4651. searching for the best matching string, and even then only by the most
  4652. fanatic optimizer trying to squeeze out the last compressed bit for their
  4653. specific input data. Read the deflate.c source code for the meaning of the
  4654. max_lazy, good_length, nice_length, and max_chain parameters.
  4655. deflateTune() can be called after deflateInit() or deflateInit2(), and
  4656. returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
  4657. */
  4658. ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
  4659. uLong sourceLen));
  4660. /*
  4661. deflateBound() returns an upper bound on the compressed size after
  4662. deflation of sourceLen bytes. It must be called after deflateInit() or
  4663. deflateInit2(), and after deflateSetHeader(), if used. This would be used
  4664. to allocate an output buffer for deflation in a single pass, and so would be
  4665. called before deflate(). If that first deflate() call is provided the
  4666. sourceLen input bytes, an output buffer allocated to the size returned by
  4667. deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed
  4668. to return Z_STREAM_END. Note that it is possible for the compressed size to
  4669. be larger than the value returned by deflateBound() if flush options other
  4670. than Z_FINISH or Z_NO_FLUSH are used.
  4671. */
  4672. ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm,
  4673. unsigned *pending,
  4674. int *bits));
  4675. /*
  4676. deflatePending() returns the number of bytes and bits of output that have
  4677. been generated, but not yet provided in the available output. The bytes not
  4678. provided would be due to the available output space having being consumed.
  4679. The number of bits of output not provided are between 0 and 7, where they
  4680. await more bits to join them in order to fill out a full byte. If pending
  4681. or bits are Z_NULL, then those values are not set.
  4682. deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source
  4683. stream state was inconsistent.
  4684. */
  4685. ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
  4686. int bits,
  4687. int value));
  4688. /*
  4689. deflatePrime() inserts bits in the deflate output stream. The intent
  4690. is that this function is used to start off the deflate output with the bits
  4691. leftover from a previous deflate stream when appending to it. As such, this
  4692. function can only be used for raw deflate, and must be used before the first
  4693. deflate() call after a deflateInit2() or deflateReset(). bits must be less
  4694. than or equal to 16, and that many of the least significant bits of value
  4695. will be inserted in the output.
  4696. deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough
  4697. room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the
  4698. source stream state was inconsistent.
  4699. */
  4700. ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
  4701. gz_headerp head));
  4702. /*
  4703. deflateSetHeader() provides gzip header information for when a gzip
  4704. stream is requested by deflateInit2(). deflateSetHeader() may be called
  4705. after deflateInit2() or deflateReset() and before the first call of
  4706. deflate(). The text, time, os, extra field, name, and comment information
  4707. in the provided gz_header structure are written to the gzip header (xflag is
  4708. ignored -- the extra flags are set according to the compression level). The
  4709. caller must assure that, if not Z_NULL, name and comment are terminated with
  4710. a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
  4711. available there. If hcrc is true, a gzip header crc is included. Note that
  4712. the current versions of the command-line version of gzip (up through version
  4713. 1.3.x) do not support header crc's, and will report that it is a "multi-part
  4714. gzip file" and give up.
  4715. If deflateSetHeader is not used, the default gzip header has text false,
  4716. the time set to zero, and os set to 255, with no extra, name, or comment
  4717. fields. The gzip header is returned to the default state by deflateReset().
  4718. deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
  4719. stream state was inconsistent.
  4720. */
  4721. /*
  4722. ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
  4723. int windowBits));
  4724. This is another version of inflateInit with an extra parameter. The
  4725. fields next_in, avail_in, zalloc, zfree and opaque must be initialized
  4726. before by the caller.
  4727. The windowBits parameter is the base two logarithm of the maximum window
  4728. size (the size of the history buffer). It should be in the range 8..15 for
  4729. this version of the library. The default value is 15 if inflateInit is used
  4730. instead. windowBits must be greater than or equal to the windowBits value
  4731. provided to deflateInit2() while compressing, or it must be equal to 15 if
  4732. deflateInit2() was not used. If a compressed stream with a larger window
  4733. size is given as input, inflate() will return with the error code
  4734. Z_DATA_ERROR instead of trying to allocate a larger window.
  4735. windowBits can also be zero to request that inflate use the window size in
  4736. the zlib header of the compressed stream.
  4737. windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
  4738. determines the window size. inflate() will then process raw deflate data,
  4739. not looking for a zlib or gzip header, not generating a check value, and not
  4740. looking for any check values for comparison at the end of the stream. This
  4741. is for use with other formats that use the deflate compressed data format
  4742. such as zip. Those formats provide their own check values. If a custom
  4743. format is developed using the raw deflate format for compressed data, it is
  4744. recommended that a check value such as an Adler-32 or a CRC-32 be applied to
  4745. the uncompressed data as is done in the zlib, gzip, and zip formats. For
  4746. most applications, the zlib format should be used as is. Note that comments
  4747. above on the use in deflateInit2() applies to the magnitude of windowBits.
  4748. windowBits can also be greater than 15 for optional gzip decoding. Add
  4749. 32 to windowBits to enable zlib and gzip decoding with automatic header
  4750. detection, or add 16 to decode only the gzip format (the zlib format will
  4751. return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
  4752. CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see
  4753. below), inflate() will not automatically decode concatenated gzip streams.
  4754. inflate() will return Z_STREAM_END at the end of the gzip stream. The state
  4755. would need to be reset to continue decoding a subsequent gzip stream.
  4756. inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
  4757. memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
  4758. version assumed by the caller, or Z_STREAM_ERROR if the parameters are
  4759. invalid, such as a null pointer to the structure. msg is set to null if
  4760. there is no error message. inflateInit2 does not perform any decompression
  4761. apart from possibly reading the zlib header if present: actual decompression
  4762. will be done by inflate(). (So next_in and avail_in may be modified, but
  4763. next_out and avail_out are unused and unchanged.) The current implementation
  4764. of inflateInit2() does not process any header information -- that is
  4765. deferred until inflate() is called.
  4766. */
  4767. ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
  4768. const Bytef *dictionary,
  4769. uInt dictLength));
  4770. /*
  4771. Initializes the decompression dictionary from the given uncompressed byte
  4772. sequence. This function must be called immediately after a call of inflate,
  4773. if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
  4774. can be determined from the Adler-32 value returned by that call of inflate.
  4775. The compressor and decompressor must use exactly the same dictionary (see
  4776. deflateSetDictionary). For raw inflate, this function can be called at any
  4777. time to set the dictionary. If the provided dictionary is smaller than the
  4778. window and there is already data in the window, then the provided dictionary
  4779. will amend what's there. The application must insure that the dictionary
  4780. that was used for compression is provided.
  4781. inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
  4782. parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
  4783. inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
  4784. expected one (incorrect Adler-32 value). inflateSetDictionary does not
  4785. perform any decompression: this will be done by subsequent calls of
  4786. inflate().
  4787. */
  4788. ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm,
  4789. Bytef *dictionary,
  4790. uInt *dictLength));
  4791. /*
  4792. Returns the sliding dictionary being maintained by inflate. dictLength is
  4793. set to the number of bytes in the dictionary, and that many bytes are copied
  4794. to dictionary. dictionary must have enough space, where 32768 bytes is
  4795. always enough. If inflateGetDictionary() is called with dictionary equal to
  4796. Z_NULL, then only the dictionary length is returned, and nothing is copied.
  4797. Similary, if dictLength is Z_NULL, then it is not set.
  4798. inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
  4799. stream state is inconsistent.
  4800. */
  4801. ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
  4802. /*
  4803. Skips invalid compressed data until a possible full flush point (see above
  4804. for the description of deflate with Z_FULL_FLUSH) can be found, or until all
  4805. available input is skipped. No output is provided.
  4806. inflateSync searches for a 00 00 FF FF pattern in the compressed data.
  4807. All full flush points have this pattern, but not all occurrences of this
  4808. pattern are full flush points.
  4809. inflateSync returns Z_OK if a possible full flush point has been found,
  4810. Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point
  4811. has been found, or Z_STREAM_ERROR if the stream structure was inconsistent.
  4812. In the success case, the application may save the current current value of
  4813. total_in which indicates where valid compressed data was found. In the
  4814. error case, the application may repeatedly call inflateSync, providing more
  4815. input each time, until success or end of the input data.
  4816. */
  4817. ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
  4818. z_streamp source));
  4819. /*
  4820. Sets the destination stream as a complete copy of the source stream.
  4821. This function can be useful when randomly accessing a large stream. The
  4822. first pass through the stream can periodically record the inflate state,
  4823. allowing restarting inflate at those points when randomly accessing the
  4824. stream.
  4825. inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
  4826. enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
  4827. (such as zalloc being Z_NULL). msg is left unchanged in both source and
  4828. destination.
  4829. */
  4830. ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
  4831. /*
  4832. This function is equivalent to inflateEnd followed by inflateInit,
  4833. but does not free and reallocate the internal decompression state. The
  4834. stream will keep attributes that may have been set by inflateInit2.
  4835. inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
  4836. stream state was inconsistent (such as zalloc or state being Z_NULL).
  4837. */
  4838. ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
  4839. int windowBits));
  4840. /*
  4841. This function is the same as inflateReset, but it also permits changing
  4842. the wrap and window size requests. The windowBits parameter is interpreted
  4843. the same as it is for inflateInit2. If the window size is changed, then the
  4844. memory allocated for the window is freed, and the window will be reallocated
  4845. by inflate() if needed.
  4846. inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
  4847. stream state was inconsistent (such as zalloc or state being Z_NULL), or if
  4848. the windowBits parameter is invalid.
  4849. */
  4850. ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
  4851. int bits,
  4852. int value));
  4853. /*
  4854. This function inserts bits in the inflate input stream. The intent is
  4855. that this function is used to start inflating at a bit position in the
  4856. middle of a byte. The provided bits will be used before any bytes are used
  4857. from next_in. This function should only be used with raw inflate, and
  4858. should be used before the first inflate() call after inflateInit2() or
  4859. inflateReset(). bits must be less than or equal to 16, and that many of the
  4860. least significant bits of value will be inserted in the input.
  4861. If bits is negative, then the input stream bit buffer is emptied. Then
  4862. inflatePrime() can be called again to put bits in the buffer. This is used
  4863. to clear out bits leftover after feeding inflate a block description prior
  4864. to feeding inflate codes.
  4865. inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
  4866. stream state was inconsistent.
  4867. */
  4868. ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
  4869. /*
  4870. This function returns two values, one in the lower 16 bits of the return
  4871. value, and the other in the remaining upper bits, obtained by shifting the
  4872. return value down 16 bits. If the upper value is -1 and the lower value is
  4873. zero, then inflate() is currently decoding information outside of a block.
  4874. If the upper value is -1 and the lower value is non-zero, then inflate is in
  4875. the middle of a stored block, with the lower value equaling the number of
  4876. bytes from the input remaining to copy. If the upper value is not -1, then
  4877. it is the number of bits back from the current bit position in the input of
  4878. the code (literal or length/distance pair) currently being processed. In
  4879. that case the lower value is the number of bytes already emitted for that
  4880. code.
  4881. A code is being processed if inflate is waiting for more input to complete
  4882. decoding of the code, or if it has completed decoding but is waiting for
  4883. more output space to write the literal or match data.
  4884. inflateMark() is used to mark locations in the input data for random
  4885. access, which may be at bit positions, and to note those cases where the
  4886. output of a code may span boundaries of random access blocks. The current
  4887. location in the input stream can be determined from avail_in and data_type
  4888. as noted in the description for the Z_BLOCK flush parameter for inflate.
  4889. inflateMark returns the value noted above, or -65536 if the provided
  4890. source stream state was inconsistent.
  4891. */
  4892. ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
  4893. gz_headerp head));
  4894. /*
  4895. inflateGetHeader() requests that gzip header information be stored in the
  4896. provided gz_header structure. inflateGetHeader() may be called after
  4897. inflateInit2() or inflateReset(), and before the first call of inflate().
  4898. As inflate() processes the gzip stream, head->done is zero until the header
  4899. is completed, at which time head->done is set to one. If a zlib stream is
  4900. being decoded, then head->done is set to -1 to indicate that there will be
  4901. no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be
  4902. used to force inflate() to return immediately after header processing is
  4903. complete and before any actual data is decompressed.
  4904. The text, time, xflags, and os fields are filled in with the gzip header
  4905. contents. hcrc is set to true if there is a header CRC. (The header CRC
  4906. was valid if done is set to one.) If extra is not Z_NULL, then extra_max
  4907. contains the maximum number of bytes to write to extra. Once done is true,
  4908. extra_len contains the actual extra field length, and extra contains the
  4909. extra field, or that field truncated if extra_max is less than extra_len.
  4910. If name is not Z_NULL, then up to name_max characters are written there,
  4911. terminated with a zero unless the length is greater than name_max. If
  4912. comment is not Z_NULL, then up to comm_max characters are written there,
  4913. terminated with a zero unless the length is greater than comm_max. When any
  4914. of extra, name, or comment are not Z_NULL and the respective field is not
  4915. present in the header, then that field is set to Z_NULL to signal its
  4916. absence. This allows the use of deflateSetHeader() with the returned
  4917. structure to duplicate the header. However if those fields are set to
  4918. allocated memory, then the application will need to save those pointers
  4919. elsewhere so that they can be eventually freed.
  4920. If inflateGetHeader is not used, then the header information is simply
  4921. discarded. The header is always checked for validity, including the header
  4922. CRC if present. inflateReset() will reset the process to discard the header
  4923. information. The application would need to call inflateGetHeader() again to
  4924. retrieve the header from the next gzip stream.
  4925. inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
  4926. stream state was inconsistent.
  4927. */
  4928. /*
  4929. ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
  4930. unsigned char FAR *window));
  4931. Initialize the internal stream state for decompression using inflateBack()
  4932. calls. The fields zalloc, zfree and opaque in strm must be initialized
  4933. before the call. If zalloc and zfree are Z_NULL, then the default library-
  4934. derived memory allocation routines are used. windowBits is the base two
  4935. logarithm of the window size, in the range 8..15. window is a caller
  4936. supplied buffer of that size. Except for special applications where it is
  4937. assured that deflate was used with small window sizes, windowBits must be 15
  4938. and a 32K byte window must be supplied to be able to decompress general
  4939. deflate streams.
  4940. See inflateBack() for the usage of these routines.
  4941. inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
  4942. the parameters are invalid, Z_MEM_ERROR if the internal state could not be
  4943. allocated, or Z_VERSION_ERROR if the version of the library does not match
  4944. the version of the header file.
  4945. */
  4946. typedef unsigned (*in_func) OF((void FAR *,
  4947. z_const unsigned char FAR * FAR *));
  4948. typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
  4949. ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
  4950. in_func in, void FAR *in_desc,
  4951. out_func out, void FAR *out_desc));
  4952. /*
  4953. inflateBack() does a raw inflate with a single call using a call-back
  4954. interface for input and output. This is potentially more efficient than
  4955. inflate() for file i/o applications, in that it avoids copying between the
  4956. output and the sliding window by simply making the window itself the output
  4957. buffer. inflate() can be faster on modern CPUs when used with large
  4958. buffers. inflateBack() trusts the application to not change the output
  4959. buffer passed by the output function, at least until inflateBack() returns.
  4960. inflateBackInit() must be called first to allocate the internal state
  4961. and to initialize the state with the user-provided window buffer.
  4962. inflateBack() may then be used multiple times to inflate a complete, raw
  4963. deflate stream with each call. inflateBackEnd() is then called to free the
  4964. allocated state.
  4965. A raw deflate stream is one with no zlib or gzip header or trailer.
  4966. This routine would normally be used in a utility that reads zip or gzip
  4967. files and writes out uncompressed files. The utility would decode the
  4968. header and process the trailer on its own, hence this routine expects only
  4969. the raw deflate stream to decompress. This is different from the default
  4970. behavior of inflate(), which expects a zlib header and trailer around the
  4971. deflate stream.
  4972. inflateBack() uses two subroutines supplied by the caller that are then
  4973. called by inflateBack() for input and output. inflateBack() calls those
  4974. routines until it reads a complete deflate stream and writes out all of the
  4975. uncompressed data, or until it encounters an error. The function's
  4976. parameters and return types are defined above in the in_func and out_func
  4977. typedefs. inflateBack() will call in(in_desc, &buf) which should return the
  4978. number of bytes of provided input, and a pointer to that input in buf. If
  4979. there is no input available, in() must return zero -- buf is ignored in that
  4980. case -- and inflateBack() will return a buffer error. inflateBack() will
  4981. call out(out_desc, buf, len) to write the uncompressed data buf[0..len-1].
  4982. out() should return zero on success, or non-zero on failure. If out()
  4983. returns non-zero, inflateBack() will return with an error. Neither in() nor
  4984. out() are permitted to change the contents of the window provided to
  4985. inflateBackInit(), which is also the buffer that out() uses to write from.
  4986. The length written by out() will be at most the window size. Any non-zero
  4987. amount of input may be provided by in().
  4988. For convenience, inflateBack() can be provided input on the first call by
  4989. setting strm->next_in and strm->avail_in. If that input is exhausted, then
  4990. in() will be called. Therefore strm->next_in must be initialized before
  4991. calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
  4992. immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
  4993. must also be initialized, and then if strm->avail_in is not zero, input will
  4994. initially be taken from strm->next_in[0 .. strm->avail_in - 1].
  4995. The in_desc and out_desc parameters of inflateBack() is passed as the
  4996. first parameter of in() and out() respectively when they are called. These
  4997. descriptors can be optionally used to pass any information that the caller-
  4998. supplied in() and out() functions need to do their job.
  4999. On return, inflateBack() will set strm->next_in and strm->avail_in to
  5000. pass back any unused input that was provided by the last in() call. The
  5001. return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
  5002. if in() or out() returned an error, Z_DATA_ERROR if there was a format error
  5003. in the deflate stream (in which case strm->msg is set to indicate the nature
  5004. of the error), or Z_STREAM_ERROR if the stream was not properly initialized.
  5005. In the case of Z_BUF_ERROR, an input or output error can be distinguished
  5006. using strm->next_in which will be Z_NULL only if in() returned an error. If
  5007. strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
  5008. non-zero. (in() will always be called before out(), so strm->next_in is
  5009. assured to be defined if out() returns non-zero.) Note that inflateBack()
  5010. cannot return Z_OK.
  5011. */
  5012. ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
  5013. /*
  5014. All memory allocated by inflateBackInit() is freed.
  5015. inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
  5016. state was inconsistent.
  5017. */
  5018. ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
  5019. /* Return flags indicating compile-time options.
  5020. Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
  5021. 1.0: size of uInt
  5022. 3.2: size of uLong
  5023. 5.4: size of voidpf (pointer)
  5024. 7.6: size of z_off_t
  5025. Compiler, assembler, and debug options:
  5026. 8: ZLIB_DEBUG
  5027. 9: ASMV or ASMINF -- use ASM code
  5028. 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
  5029. 11: 0 (reserved)
  5030. One-time table building (smaller code, but not thread-safe if true):
  5031. 12: BUILDFIXED -- build static block decoding tables when needed
  5032. 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
  5033. 14,15: 0 (reserved)
  5034. Library content (indicates missing functionality):
  5035. 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
  5036. deflate code when not needed)
  5037. 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
  5038. and decode gzip streams (to avoid linking crc code)
  5039. 18-19: 0 (reserved)
  5040. Operation variations (changes in library functionality):
  5041. 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
  5042. 21: FASTEST -- deflate algorithm with only one, lowest compression level
  5043. 22,23: 0 (reserved)
  5044. The sprintf variant used by gzprintf (zero is best):
  5045. 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
  5046. 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
  5047. 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
  5048. Remainder:
  5049. 27-31: 0 (reserved)
  5050. */
  5051. #ifndef Z_SOLO
  5052. /* utility functions */
  5053. /*
  5054. The following utility functions are implemented on top of the basic
  5055. stream-oriented functions. To simplify the interface, some default options
  5056. are assumed (compression level and memory usage, standard memory allocation
  5057. functions). The source code of these utility functions can be modified if
  5058. you need special options.
  5059. */
  5060. ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
  5061. const Bytef *source, uLong sourceLen));
  5062. /*
  5063. Compresses the source buffer into the destination buffer. sourceLen is
  5064. the byte length of the source buffer. Upon entry, destLen is the total size
  5065. of the destination buffer, which must be at least the value returned by
  5066. compressBound(sourceLen). Upon exit, destLen is the actual size of the
  5067. compressed data. compress() is equivalent to compress2() with a level
  5068. parameter of Z_DEFAULT_COMPRESSION.
  5069. compress returns Z_OK if success, Z_MEM_ERROR if there was not
  5070. enough memory, Z_BUF_ERROR if there was not enough room in the output
  5071. buffer.
  5072. */
  5073. ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
  5074. const Bytef *source, uLong sourceLen,
  5075. int level));
  5076. /*
  5077. Compresses the source buffer into the destination buffer. The level
  5078. parameter has the same meaning as in deflateInit. sourceLen is the byte
  5079. length of the source buffer. Upon entry, destLen is the total size of the
  5080. destination buffer, which must be at least the value returned by
  5081. compressBound(sourceLen). Upon exit, destLen is the actual size of the
  5082. compressed data.
  5083. compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
  5084. memory, Z_BUF_ERROR if there was not enough room in the output buffer,
  5085. Z_STREAM_ERROR if the level parameter is invalid.
  5086. */
  5087. ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
  5088. /*
  5089. compressBound() returns an upper bound on the compressed size after
  5090. compress() or compress2() on sourceLen bytes. It would be used before a
  5091. compress() or compress2() call to allocate the destination buffer.
  5092. */
  5093. ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
  5094. const Bytef *source, uLong sourceLen));
  5095. /*
  5096. Decompresses the source buffer into the destination buffer. sourceLen is
  5097. the byte length of the source buffer. Upon entry, destLen is the total size
  5098. of the destination buffer, which must be large enough to hold the entire
  5099. uncompressed data. (The size of the uncompressed data must have been saved
  5100. previously by the compressor and transmitted to the decompressor by some
  5101. mechanism outside the scope of this compression library.) Upon exit, destLen
  5102. is the actual size of the uncompressed data.
  5103. uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
  5104. enough memory, Z_BUF_ERROR if there was not enough room in the output
  5105. buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In
  5106. the case where there is not enough room, uncompress() will fill the output
  5107. buffer with the uncompressed data up to that point.
  5108. */
  5109. ZEXTERN int ZEXPORT uncompress2 OF((Bytef *dest, uLongf *destLen,
  5110. const Bytef *source, uLong *sourceLen));
  5111. /*
  5112. Same as uncompress, except that sourceLen is a pointer, where the
  5113. length of the source is *sourceLen. On return, *sourceLen is the number of
  5114. source bytes consumed.
  5115. */
  5116. /* gzip file access functions */
  5117. /*
  5118. This library supports reading and writing files in gzip (.gz) format with
  5119. an interface similar to that of stdio, using the functions that start with
  5120. "gz". The gzip format is different from the zlib format. gzip is a gzip
  5121. wrapper, documented in RFC 1952, wrapped around a deflate stream.
  5122. */
  5123. typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */
  5124. /*
  5125. ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
  5126. Opens a gzip (.gz) file for reading or writing. The mode parameter is as
  5127. in fopen ("rb" or "wb") but can also include a compression level ("wb9") or
  5128. a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
  5129. compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
  5130. for fixed code compression as in "wb9F". (See the description of
  5131. deflateInit2 for more information about the strategy parameter.) 'T' will
  5132. request transparent writing or appending with no compression and not using
  5133. the gzip format.
  5134. "a" can be used instead of "w" to request that the gzip stream that will
  5135. be written be appended to the file. "+" will result in an error, since
  5136. reading and writing to the same gzip file is not supported. The addition of
  5137. "x" when writing will create the file exclusively, which fails if the file
  5138. already exists. On systems that support it, the addition of "e" when
  5139. reading or writing will set the flag to close the file on an execve() call.
  5140. These functions, as well as gzip, will read and decode a sequence of gzip
  5141. streams in a file. The append function of gzopen() can be used to create
  5142. such a file. (Also see gzflush() for another way to do this.) When
  5143. appending, gzopen does not test whether the file begins with a gzip stream,
  5144. nor does it look for the end of the gzip streams to begin appending. gzopen
  5145. will simply append a gzip stream to the existing file.
  5146. gzopen can be used to read a file which is not in gzip format; in this
  5147. case gzread will directly read from the file without decompression. When
  5148. reading, this will be detected automatically by looking for the magic two-
  5149. byte gzip header.
  5150. gzopen returns NULL if the file could not be opened, if there was
  5151. insufficient memory to allocate the gzFile state, or if an invalid mode was
  5152. specified (an 'r', 'w', or 'a' was not provided, or '+' was provided).
  5153. errno can be checked to determine if the reason gzopen failed was that the
  5154. file could not be opened.
  5155. */
  5156. ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
  5157. /*
  5158. gzdopen associates a gzFile with the file descriptor fd. File descriptors
  5159. are obtained from calls like open, dup, creat, pipe or fileno (if the file
  5160. has been previously opened with fopen). The mode parameter is as in gzopen.
  5161. The next call of gzclose on the returned gzFile will also close the file
  5162. descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
  5163. fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
  5164. mode);. The duplicated descriptor should be saved to avoid a leak, since
  5165. gzdopen does not close fd if it fails. If you are using fileno() to get the
  5166. file descriptor from a FILE *, then you will have to use dup() to avoid
  5167. double-close()ing the file descriptor. Both gzclose() and fclose() will
  5168. close the associated file descriptor, so they need to have different file
  5169. descriptors.
  5170. gzdopen returns NULL if there was insufficient memory to allocate the
  5171. gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
  5172. provided, or '+' was provided), or if fd is -1. The file descriptor is not
  5173. used until the next gz* read, write, seek, or close operation, so gzdopen
  5174. will not detect if fd is invalid (unless fd is -1).
  5175. */
  5176. ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
  5177. /*
  5178. Set the internal buffer size used by this library's functions. The
  5179. default buffer size is 8192 bytes. This function must be called after
  5180. gzopen() or gzdopen(), and before any other calls that read or write the
  5181. file. The buffer memory allocation is always deferred to the first read or
  5182. write. Three times that size in buffer space is allocated. A larger buffer
  5183. size of, for example, 64K or 128K bytes will noticeably increase the speed
  5184. of decompression (reading).
  5185. The new buffer size also affects the maximum length for gzprintf().
  5186. gzbuffer() returns 0 on success, or -1 on failure, such as being called
  5187. too late.
  5188. */
  5189. ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
  5190. /*
  5191. Dynamically update the compression level or strategy. See the description
  5192. of deflateInit2 for the meaning of these parameters. Previously provided
  5193. data is flushed before the parameter change.
  5194. gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not
  5195. opened for writing, Z_ERRNO if there is an error writing the flushed data,
  5196. or Z_MEM_ERROR if there is a memory allocation error.
  5197. */
  5198. ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
  5199. /*
  5200. Reads the given number of uncompressed bytes from the compressed file. If
  5201. the input file is not in gzip format, gzread copies the given number of
  5202. bytes into the buffer directly from the file.
  5203. After reaching the end of a gzip stream in the input, gzread will continue
  5204. to read, looking for another gzip stream. Any number of gzip streams may be
  5205. concatenated in the input file, and will all be decompressed by gzread().
  5206. If something other than a gzip stream is encountered after a gzip stream,
  5207. that remaining trailing garbage is ignored (and no error is returned).
  5208. gzread can be used to read a gzip file that is being concurrently written.
  5209. Upon reaching the end of the input, gzread will return with the available
  5210. data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then
  5211. gzclearerr can be used to clear the end of file indicator in order to permit
  5212. gzread to be tried again. Z_OK indicates that a gzip stream was completed
  5213. on the last gzread. Z_BUF_ERROR indicates that the input file ended in the
  5214. middle of a gzip stream. Note that gzread does not return -1 in the event
  5215. of an incomplete gzip stream. This error is deferred until gzclose(), which
  5216. will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip
  5217. stream. Alternatively, gzerror can be used before gzclose to detect this
  5218. case.
  5219. gzread returns the number of uncompressed bytes actually read, less than
  5220. len for end of file, or -1 for error. If len is too large to fit in an int,
  5221. then nothing is read, -1 is returned, and the error state is set to
  5222. Z_STREAM_ERROR.
  5223. */
  5224. ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
  5225. gzFile file));
  5226. /*
  5227. Read up to nitems items of size size from file to buf, otherwise operating
  5228. as gzread() does. This duplicates the interface of stdio's fread(), with
  5229. size_t request and return types. If the library defines size_t, then
  5230. z_size_t is identical to size_t. If not, then z_size_t is an unsigned
  5231. integer type that can contain a pointer.
  5232. gzfread() returns the number of full items read of size size, or zero if
  5233. the end of the file was reached and a full item could not be read, or if
  5234. there was an error. gzerror() must be consulted if zero is returned in
  5235. order to determine if there was an error. If the multiplication of size and
  5236. nitems overflows, i.e. the product does not fit in a z_size_t, then nothing
  5237. is read, zero is returned, and the error state is set to Z_STREAM_ERROR.
  5238. In the event that the end of file is reached and only a partial item is
  5239. available at the end, i.e. the remaining uncompressed data length is not a
  5240. multiple of size, then the final partial item is nevetheless read into buf
  5241. and the end-of-file flag is set. The length of the partial item read is not
  5242. provided, but could be inferred from the result of gztell(). This behavior
  5243. is the same as the behavior of fread() implementations in common libraries,
  5244. but it prevents the direct use of gzfread() to read a concurrently written
  5245. file, reseting and retrying on end-of-file, when size is not 1.
  5246. */
  5247. ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
  5248. voidpc buf, unsigned len));
  5249. /*
  5250. Writes the given number of uncompressed bytes into the compressed file.
  5251. gzwrite returns the number of uncompressed bytes written or 0 in case of
  5252. error.
  5253. */
  5254. ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
  5255. z_size_t nitems, gzFile file));
  5256. /*
  5257. gzfwrite() writes nitems items of size size from buf to file, duplicating
  5258. the interface of stdio's fwrite(), with size_t request and return types. If
  5259. the library defines size_t, then z_size_t is identical to size_t. If not,
  5260. then z_size_t is an unsigned integer type that can contain a pointer.
  5261. gzfwrite() returns the number of full items written of size size, or zero
  5262. if there was an error. If the multiplication of size and nitems overflows,
  5263. i.e. the product does not fit in a z_size_t, then nothing is written, zero
  5264. is returned, and the error state is set to Z_STREAM_ERROR.
  5265. */
  5266. ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
  5267. /*
  5268. Converts, formats, and writes the arguments to the compressed file under
  5269. control of the format string, as in fprintf. gzprintf returns the number of
  5270. uncompressed bytes actually written, or a negative zlib error code in case
  5271. of error. The number of uncompressed bytes written is limited to 8191, or
  5272. one less than the buffer size given to gzbuffer(). The caller should assure
  5273. that this limit is not exceeded. If it is exceeded, then gzprintf() will
  5274. return an error (0) with nothing written. In this case, there may also be a
  5275. buffer overflow with unpredictable consequences, which is possible only if
  5276. zlib was compiled with the insecure functions sprintf() or vsprintf()
  5277. because the secure snprintf() or vsnprintf() functions were not available.
  5278. This can be determined using zlibCompileFlags().
  5279. */
  5280. ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
  5281. /*
  5282. Writes the given null-terminated string to the compressed file, excluding
  5283. the terminating null character.
  5284. gzputs returns the number of characters written, or -1 in case of error.
  5285. */
  5286. ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
  5287. /*
  5288. Reads bytes from the compressed file until len-1 characters are read, or a
  5289. newline character is read and transferred to buf, or an end-of-file
  5290. condition is encountered. If any characters are read or if len == 1, the
  5291. string is terminated with a null character. If no characters are read due
  5292. to an end-of-file or len < 1, then the buffer is left untouched.
  5293. gzgets returns buf which is a null-terminated string, or it returns NULL
  5294. for end-of-file or in case of error. If there was an error, the contents at
  5295. buf are indeterminate.
  5296. */
  5297. ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
  5298. /*
  5299. Writes c, converted to an unsigned char, into the compressed file. gzputc
  5300. returns the value that was written, or -1 in case of error.
  5301. */
  5302. ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
  5303. /*
  5304. Reads one byte from the compressed file. gzgetc returns this byte or -1
  5305. in case of end of file or error. This is implemented as a macro for speed.
  5306. As such, it does not do all of the checking the other functions do. I.e.
  5307. it does not check to see if file is NULL, nor whether the structure file
  5308. points to has been clobbered or not.
  5309. */
  5310. ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
  5311. /*
  5312. Push one character back onto the stream to be read as the first character
  5313. on the next read. At least one character of push-back is allowed.
  5314. gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
  5315. fail if c is -1, and may fail if a character has been pushed but not read
  5316. yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
  5317. output buffer size of pushed characters is allowed. (See gzbuffer above.)
  5318. The pushed character will be discarded if the stream is repositioned with
  5319. gzseek() or gzrewind().
  5320. */
  5321. ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
  5322. /*
  5323. Flushes all pending output into the compressed file. The parameter flush
  5324. is as in the deflate() function. The return value is the zlib error number
  5325. (see function gzerror below). gzflush is only permitted when writing.
  5326. If the flush parameter is Z_FINISH, the remaining data is written and the
  5327. gzip stream is completed in the output. If gzwrite() is called again, a new
  5328. gzip stream will be started in the output. gzread() is able to read such
  5329. concatenated gzip streams.
  5330. gzflush should be called only when strictly necessary because it will
  5331. degrade compression if called too often.
  5332. */
  5333. /*
  5334. ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
  5335. z_off_t offset, int whence));
  5336. Sets the starting position for the next gzread or gzwrite on the given
  5337. compressed file. The offset represents a number of bytes in the
  5338. uncompressed data stream. The whence parameter is defined as in lseek(2);
  5339. the value SEEK_END is not supported.
  5340. If the file is opened for reading, this function is emulated but can be
  5341. extremely slow. If the file is opened for writing, only forward seeks are
  5342. supported; gzseek then compresses a sequence of zeroes up to the new
  5343. starting position.
  5344. gzseek returns the resulting offset location as measured in bytes from
  5345. the beginning of the uncompressed stream, or -1 in case of error, in
  5346. particular if the file is opened for writing and the new starting position
  5347. would be before the current position.
  5348. */
  5349. ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
  5350. /*
  5351. Rewinds the given file. This function is supported only for reading.
  5352. gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
  5353. */
  5354. /*
  5355. ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
  5356. Returns the starting position for the next gzread or gzwrite on the given
  5357. compressed file. This position represents a number of bytes in the
  5358. uncompressed data stream, and is zero when starting, even if appending or
  5359. reading a gzip stream from the middle of a file using gzdopen().
  5360. gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
  5361. */
  5362. /*
  5363. ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
  5364. Returns the current offset in the file being read or written. This offset
  5365. includes the count of bytes that precede the gzip stream, for example when
  5366. appending or when using gzdopen() for reading. When reading, the offset
  5367. does not include as yet unused buffered input. This information can be used
  5368. for a progress indicator. On error, gzoffset() returns -1.
  5369. */
  5370. ZEXTERN int ZEXPORT gzeof OF((gzFile file));
  5371. /*
  5372. Returns true (1) if the end-of-file indicator has been set while reading,
  5373. false (0) otherwise. Note that the end-of-file indicator is set only if the
  5374. read tried to go past the end of the input, but came up short. Therefore,
  5375. just like feof(), gzeof() may return false even if there is no more data to
  5376. read, in the event that the last read request was for the exact number of
  5377. bytes remaining in the input file. This will happen if the input file size
  5378. is an exact multiple of the buffer size.
  5379. If gzeof() returns true, then the read functions will return no more data,
  5380. unless the end-of-file indicator is reset by gzclearerr() and the input file
  5381. has grown since the previous end of file was detected.
  5382. */
  5383. ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
  5384. /*
  5385. Returns true (1) if file is being copied directly while reading, or false
  5386. (0) if file is a gzip stream being decompressed.
  5387. If the input file is empty, gzdirect() will return true, since the input
  5388. does not contain a gzip stream.
  5389. If gzdirect() is used immediately after gzopen() or gzdopen() it will
  5390. cause buffers to be allocated to allow reading the file to determine if it
  5391. is a gzip file. Therefore if gzbuffer() is used, it should be called before
  5392. gzdirect().
  5393. When writing, gzdirect() returns true (1) if transparent writing was
  5394. requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note:
  5395. gzdirect() is not needed when writing. Transparent writing must be
  5396. explicitly requested, so the application already knows the answer. When
  5397. linking statically, using gzdirect() will include all of the zlib code for
  5398. gzip file reading and decompression, which may not be desired.)
  5399. */
  5400. ZEXTERN int ZEXPORT gzclose OF((gzFile file));
  5401. /*
  5402. Flushes all pending output if necessary, closes the compressed file and
  5403. deallocates the (de)compression state. Note that once file is closed, you
  5404. cannot call gzerror with file, since its structures have been deallocated.
  5405. gzclose must not be called more than once on the same file, just as free
  5406. must not be called more than once on the same allocation.
  5407. gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
  5408. file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the
  5409. last read ended in the middle of a gzip stream, or Z_OK on success.
  5410. */
  5411. ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
  5412. ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
  5413. /*
  5414. Same as gzclose(), but gzclose_r() is only for use when reading, and
  5415. gzclose_w() is only for use when writing or appending. The advantage to
  5416. using these instead of gzclose() is that they avoid linking in zlib
  5417. compression or decompression code that is not used when only reading or only
  5418. writing respectively. If gzclose() is used, then both compression and
  5419. decompression code will be included the application when linking to a static
  5420. zlib library.
  5421. */
  5422. ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
  5423. /*
  5424. Returns the error message for the last error which occurred on the given
  5425. compressed file. errnum is set to zlib error number. If an error occurred
  5426. in the file system and not in the compression library, errnum is set to
  5427. Z_ERRNO and the application may consult errno to get the exact error code.
  5428. The application must not modify the returned string. Future calls to
  5429. this function may invalidate the previously returned string. If file is
  5430. closed, then the string previously returned by gzerror will no longer be
  5431. available.
  5432. gzerror() should be used to distinguish errors from end-of-file for those
  5433. functions above that do not distinguish those cases in their return values.
  5434. */
  5435. ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
  5436. /*
  5437. Clears the error and end-of-file flags for file. This is analogous to the
  5438. clearerr() function in stdio. This is useful for continuing to read a gzip
  5439. file that is being written concurrently.
  5440. */
  5441. #endif /* !Z_SOLO */
  5442. /* checksum functions */
  5443. /*
  5444. These functions are not related to compression but are exported
  5445. anyway because they might be useful in applications using the compression
  5446. library.
  5447. */
  5448. ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
  5449. /*
  5450. Update a running Adler-32 checksum with the bytes buf[0..len-1] and
  5451. return the updated checksum. If buf is Z_NULL, this function returns the
  5452. required initial value for the checksum.
  5453. An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed
  5454. much faster.
  5455. Usage example:
  5456. uLong adler = adler32(0L, Z_NULL, 0);
  5457. while (read_buffer(buffer, length) != EOF) {
  5458. adler = adler32(adler, buffer, length);
  5459. }
  5460. if (adler != original_adler) error();
  5461. */
  5462. ZEXTERN uLong ZEXPORT adler32_z OF((uLong adler, const Bytef *buf,
  5463. z_size_t len));
  5464. /*
  5465. Same as adler32(), but with a size_t length.
  5466. */
  5467. /*
  5468. ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
  5469. z_off_t len2));
  5470. Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
  5471. and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
  5472. each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
  5473. seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note
  5474. that the z_off_t type (like off_t) is a signed integer. If len2 is
  5475. negative, the result has no meaning or utility.
  5476. */
  5477. ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
  5478. /*
  5479. Update a running CRC-32 with the bytes buf[0..len-1] and return the
  5480. updated CRC-32. If buf is Z_NULL, this function returns the required
  5481. initial value for the crc. Pre- and post-conditioning (one's complement) is
  5482. performed within this function so it shouldn't be done by the application.
  5483. Usage example:
  5484. uLong crc = crc32(0L, Z_NULL, 0);
  5485. while (read_buffer(buffer, length) != EOF) {
  5486. crc = crc32(crc, buffer, length);
  5487. }
  5488. if (crc != original_crc) error();
  5489. */
  5490. ZEXTERN uLong ZEXPORT crc32_z OF((uLong adler, const Bytef *buf,
  5491. z_size_t len));
  5492. /*
  5493. Same as crc32(), but with a size_t length.
  5494. */
  5495. /*
  5496. ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
  5497. Combine two CRC-32 check values into one. For two sequences of bytes,
  5498. seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
  5499. calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
  5500. check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
  5501. len2.
  5502. */
  5503. /* various hacks, don't look :) */
  5504. /* deflateInit and inflateInit are macros to allow checking the zlib version
  5505. * and the compiler's view of z_stream:
  5506. */
  5507. ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
  5508. const char *version, int stream_size));
  5509. ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
  5510. const char *version, int stream_size));
  5511. ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
  5512. int windowBits, int memLevel,
  5513. int strategy, const char *version,
  5514. int stream_size));
  5515. ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
  5516. const char *version, int stream_size));
  5517. ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
  5518. unsigned char FAR *window,
  5519. const char *version,
  5520. int stream_size));
  5521. #ifdef Z_PREFIX_SET
  5522. # define z_deflateInit(strm, level) \
  5523. deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
  5524. # define z_inflateInit(strm) \
  5525. inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
  5526. # define z_deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
  5527. deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
  5528. (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
  5529. # define z_inflateInit2(strm, windowBits) \
  5530. inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
  5531. (int)sizeof(z_stream))
  5532. # define z_inflateBackInit(strm, windowBits, window) \
  5533. inflateBackInit_((strm), (windowBits), (window), \
  5534. ZLIB_VERSION, (int)sizeof(z_stream))
  5535. #else
  5536. # define deflateInit(strm, level) \
  5537. deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
  5538. # define inflateInit(strm) \
  5539. inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
  5540. # define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
  5541. deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
  5542. (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
  5543. # define inflateInit2(strm, windowBits) \
  5544. inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
  5545. (int)sizeof(z_stream))
  5546. # define inflateBackInit(strm, windowBits, window) \
  5547. inflateBackInit_((strm), (windowBits), (window), \
  5548. ZLIB_VERSION, (int)sizeof(z_stream))
  5549. #endif
  5550. #ifndef Z_SOLO
  5551. /* gzgetc() macro and its supporting function and exposed data structure. Note
  5552. * that the real internal state is much larger than the exposed structure.
  5553. * This abbreviated structure exposes just enough for the gzgetc() macro. The
  5554. * user should not mess with these exposed elements, since their names or
  5555. * behavior could change in the future, perhaps even capriciously. They can
  5556. * only be used by the gzgetc() macro. You have been warned.
  5557. */
  5558. struct gzFile_s {
  5559. unsigned have;
  5560. unsigned char *next;
  5561. z_off64_t pos;
  5562. };
  5563. ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
  5564. #ifdef Z_PREFIX_SET
  5565. # undef z_gzgetc
  5566. # define z_gzgetc(g) \
  5567. ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g))
  5568. #else
  5569. # define gzgetc(g) \
  5570. ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g))
  5571. #endif
  5572. /* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
  5573. * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
  5574. * both are true, the application gets the *64 functions, and the regular
  5575. * functions are changed to 64 bits) -- in case these are set on systems
  5576. * without large file support, _LFS64_LARGEFILE must also be true
  5577. */
  5578. #ifdef Z_LARGE64
  5579. ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
  5580. ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
  5581. ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
  5582. ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
  5583. ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
  5584. ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
  5585. #endif
  5586. #if !defined(ZLIB_INTERNAL) && defined(Z_WANT64)
  5587. # ifdef Z_PREFIX_SET
  5588. # define z_gzopen z_gzopen64
  5589. # define z_gzseek z_gzseek64
  5590. # define z_gztell z_gztell64
  5591. # define z_gzoffset z_gzoffset64
  5592. # define z_adler32_combine z_adler32_combine64
  5593. # define z_crc32_combine z_crc32_combine64
  5594. # else
  5595. # define gzopen gzopen64
  5596. # define gzseek gzseek64
  5597. # define gztell gztell64
  5598. # define gzoffset gzoffset64
  5599. # define adler32_combine adler32_combine64
  5600. # define crc32_combine crc32_combine64
  5601. # endif
  5602. # ifndef Z_LARGE64
  5603. ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
  5604. ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
  5605. ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
  5606. ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
  5607. ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
  5608. ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
  5609. # endif
  5610. #else
  5611. ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
  5612. ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));
  5613. ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));
  5614. ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
  5615. ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
  5616. ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
  5617. #endif
  5618. #else /* Z_SOLO */
  5619. ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
  5620. ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
  5621. #endif /* !Z_SOLO */
  5622. /* undocumented functions */
  5623. ZEXTERN const char * ZEXPORT zError OF((int));
  5624. ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
  5625. ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
  5626. ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
  5627. ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
  5628. ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF ((z_streamp));
  5629. ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
  5630. ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
  5631. #if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(Z_SOLO)
  5632. ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
  5633. const char *mode));
  5634. #endif
  5635. #if defined(STDC) || defined(Z_HAVE_STDARG_H)
  5636. # ifndef Z_SOLO
  5637. ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file,
  5638. const char *format,
  5639. va_list va));
  5640. # endif
  5641. #endif
  5642. #ifdef __cplusplus
  5643. }
  5644. #endif
  5645. #endif /* ZLIB_H */
  5646. --------------------------------------------------------------------------------
  5647. END LICENSE FOR external/zlib/zlib.h
  5648. --------------------------------------------------------------------------------
  5649. --------------------------------------------------------------------------------
  5650. BEGIN LICENSE FOR external/cub_archive/LICENSE.TXT
  5651. --------------------------------------------------------------------------------
  5652. Copyright (c) 2010-2011, Duane Merrill. All rights reserved.
  5653. Copyright (c) 2011-2018, NVIDIA CORPORATION. All rights reserved.
  5654. Redistribution and use in source and binary forms, with or without
  5655. modification, are permitted provided that the following conditions are met:
  5656. * Redistributions of source code must retain the above copyright
  5657. notice, this list of conditions and the following disclaimer.
  5658. * Redistributions in binary form must reproduce the above copyright
  5659. notice, this list of conditions and the following disclaimer in the
  5660. documentation and/or other materials provided with the distribution.
  5661. * Neither the name of the NVIDIA CORPORATION nor the
  5662. names of its contributors may be used to endorse or promote products
  5663. derived from this software without specific prior written permission.
  5664. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  5665. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  5666. WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  5667. DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY
  5668. DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  5669. (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  5670. LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  5671. ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  5672. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  5673. SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.--------------------------------------------------------------------------------
  5674. END LICENSE FOR external/cub_archive/LICENSE.TXT
  5675. --------------------------------------------------------------------------------
  5676. --------------------------------------------------------------------------------
  5677. BEGIN LICENSE FOR third_party/mkl_dnn/LICENSE
  5678. --------------------------------------------------------------------------------
  5679. Apache License
  5680. Version 2.0, January 2004
  5681. http://www.apache.org/licenses/
  5682. TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  5683. 1. Definitions.
  5684. "License" shall mean the terms and conditions for use, reproduction,
  5685. and distribution as defined by Sections 1 through 9 of this document.
  5686. "Licensor" shall mean the copyright owner or entity authorized by
  5687. the copyright owner that is granting the License.
  5688. "Legal Entity" shall mean the union of the acting entity and all
  5689. other entities that control, are controlled by, or are under common
  5690. control with that entity. For the purposes of this definition,
  5691. "control" means (i) the power, direct or indirect, to cause the
  5692. direction or management of such entity, whether by contract or
  5693. otherwise, or (ii) ownership of fifty percent (50%) or more of the
  5694. outstanding shares, or (iii) beneficial ownership of such entity.
  5695. "You" (or "Your") shall mean an individual or Legal Entity
  5696. exercising permissions granted by this License.
  5697. "Source" form shall mean the preferred form for making modifications,
  5698. including but not limited to software source code, documentation
  5699. source, and configuration files.
  5700. "Object" form shall mean any form resulting from mechanical
  5701. transformation or translation of a Source form, including but
  5702. not limited to compiled object code, generated documentation,
  5703. and conversions to other media types.
  5704. "Work" shall mean the work of authorship, whether in Source or
  5705. Object form, made available under the License, as indicated by a
  5706. copyright notice that is included in or attached to the work
  5707. (an example is provided in the Appendix below).
  5708. "Derivative Works" shall mean any work, whether in Source or Object
  5709. form, that is based on (or derived from) the Work and for which the
  5710. editorial revisions, annotations, elaborations, or other modifications
  5711. represent, as a whole, an original work of authorship. For the purposes
  5712. of this License, Derivative Works shall not include works that remain
  5713. separable from, or merely link (or bind by name) to the interfaces of,
  5714. the Work and Derivative Works thereof.
  5715. "Contribution" shall mean any work of authorship, including
  5716. the original version of the Work and any modifications or additions
  5717. to that Work or Derivative Works thereof, that is intentionally
  5718. submitted to Licensor for inclusion in the Work by the copyright owner
  5719. or by an individual or Legal Entity authorized to submit on behalf of
  5720. the copyright owner. For the purposes of this definition, "submitted"
  5721. means any form of electronic, verbal, or written communication sent
  5722. to the Licensor or its representatives, including but not limited to
  5723. communication on electronic mailing lists, source code control systems,
  5724. and issue tracking systems that are managed by, or on behalf of, the
  5725. Licensor for the purpose of discussing and improving the Work, but
  5726. excluding communication that is conspicuously marked or otherwise
  5727. designated in writing by the copyright owner as "Not a Contribution."
  5728. "Contributor" shall mean Licensor and any individual or Legal Entity
  5729. on behalf of whom a Contribution has been received by Licensor and
  5730. subsequently incorporated within the Work.
  5731. 2. Grant of Copyright License. Subject to the terms and conditions of
  5732. this License, each Contributor hereby grants to You a perpetual,
  5733. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  5734. copyright license to reproduce, prepare Derivative Works of,
  5735. publicly display, publicly perform, sublicense, and distribute the
  5736. Work and such Derivative Works in Source or Object form.
  5737. 3. Grant of Patent License. Subject to the terms and conditions of
  5738. this License, each Contributor hereby grants to You a perpetual,
  5739. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  5740. (except as stated in this section) patent license to make, have made,
  5741. use, offer to sell, sell, import, and otherwise transfer the Work,
  5742. where such license applies only to those patent claims licensable
  5743. by such Contributor that are necessarily infringed by their
  5744. Contribution(s) alone or by combination of their Contribution(s)
  5745. with the Work to which such Contribution(s) was submitted. If You
  5746. institute patent litigation against any entity (including a
  5747. cross-claim or counterclaim in a lawsuit) alleging that the Work
  5748. or a Contribution incorporated within the Work constitutes direct
  5749. or contributory patent infringement, then any patent licenses
  5750. granted to You under this License for that Work shall terminate
  5751. as of the date such litigation is filed.
  5752. 4. Redistribution. You may reproduce and distribute copies of the
  5753. Work or Derivative Works thereof in any medium, with or without
  5754. modifications, and in Source or Object form, provided that You
  5755. meet the following conditions:
  5756. (a) You must give any other recipients of the Work or
  5757. Derivative Works a copy of this License; and
  5758. (b) You must cause any modified files to carry prominent notices
  5759. stating that You changed the files; and
  5760. (c) You must retain, in the Source form of any Derivative Works
  5761. that You distribute, all copyright, patent, trademark, and
  5762. attribution notices from the Source form of the Work,
  5763. excluding those notices that do not pertain to any part of
  5764. the Derivative Works; and
  5765. (d) If the Work includes a "NOTICE" text file as part of its
  5766. distribution, then any Derivative Works that You distribute must
  5767. include a readable copy of the attribution notices contained
  5768. within such NOTICE file, excluding those notices that do not
  5769. pertain to any part of the Derivative Works, in at least one
  5770. of the following places: within a NOTICE text file distributed
  5771. as part of the Derivative Works; within the Source form or
  5772. documentation, if provided along with the Derivative Works; or,
  5773. within a display generated by the Derivative Works, if and
  5774. wherever such third-party notices normally appear. The contents
  5775. of the NOTICE file are for informational purposes only and
  5776. do not modify the License. You may add Your own attribution
  5777. notices within Derivative Works that You distribute, alongside
  5778. or as an addendum to the NOTICE text from the Work, provided
  5779. that such additional attribution notices cannot be construed
  5780. as modifying the License.
  5781. You may add Your own copyright statement to Your modifications and
  5782. may provide additional or different license terms and conditions
  5783. for use, reproduction, or distribution of Your modifications, or
  5784. for any such Derivative Works as a whole, provided Your use,
  5785. reproduction, and distribution of the Work otherwise complies with
  5786. the conditions stated in this License.
  5787. 5. Submission of Contributions. Unless You explicitly state otherwise,
  5788. any Contribution intentionally submitted for inclusion in the Work
  5789. by You to the Licensor shall be under the terms and conditions of
  5790. this License, without any additional terms or conditions.
  5791. Notwithstanding the above, nothing herein shall supersede or modify
  5792. the terms of any separate license agreement you may have executed
  5793. with Licensor regarding such Contributions.
  5794. 6. Trademarks. This License does not grant permission to use the trade
  5795. names, trademarks, service marks, or product names of the Licensor,
  5796. except as required for reasonable and customary use in describing the
  5797. origin of the Work and reproducing the content of the NOTICE file.
  5798. 7. Disclaimer of Warranty. Unless required by applicable law or
  5799. agreed to in writing, Licensor provides the Work (and each
  5800. Contributor provides its Contributions) on an "AS IS" BASIS,
  5801. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  5802. implied, including, without limitation, any warranties or conditions
  5803. of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  5804. PARTICULAR PURPOSE. You are solely responsible for determining the
  5805. appropriateness of using or redistributing the Work and assume any
  5806. risks associated with Your exercise of permissions under this License.
  5807. 8. Limitation of Liability. In no event and under no legal theory,
  5808. whether in tort (including negligence), contract, or otherwise,
  5809. unless required by applicable law (such as deliberate and grossly
  5810. negligent acts) or agreed to in writing, shall any Contributor be
  5811. liable to You for damages, including any direct, indirect, special,
  5812. incidental, or consequential damages of any character arising as a
  5813. result of this License or out of the use or inability to use the
  5814. Work (including but not limited to damages for loss of goodwill,
  5815. work stoppage, computer failure or malfunction, or any and all
  5816. other commercial damages or losses), even if such Contributor
  5817. has been advised of the possibility of such damages.
  5818. 9. Accepting Warranty or Additional Liability. While redistributing
  5819. the Work or Derivative Works thereof, You may choose to offer,
  5820. and charge a fee for, acceptance of support, warranty, indemnity,
  5821. or other liability obligations and/or rights consistent with this
  5822. License. However, in accepting such obligations, You may act only
  5823. on Your own behalf and on Your sole responsibility, not on behalf
  5824. of any other Contributor, and only if You agree to indemnify,
  5825. defend, and hold each Contributor harmless for any liability
  5826. incurred by, or claims asserted against, such Contributor by reason
  5827. of your accepting any such warranty or additional liability.
  5828. END OF TERMS AND CONDITIONS
  5829. APPENDIX: How to apply the Apache License to your work.
  5830. To apply the Apache License to your work, attach the following
  5831. boilerplate notice, with the fields enclosed by brackets "{}"
  5832. replaced with your own identifying information. (Don't include
  5833. the brackets!) The text should be enclosed in the appropriate
  5834. comment syntax for the file format. We also recommend that a
  5835. file or class name and description of purpose be included on the
  5836. same "printed page" as the copyright notice for easier
  5837. identification within third-party archives.
  5838. Copyright {yyyy} {name of copyright owner}
  5839. Licensed under the Apache License, Version 2.0 (the "License");
  5840. you may not use this file except in compliance with the License.
  5841. You may obtain a copy of the License at
  5842. http://www.apache.org/licenses/LICENSE-2.0
  5843. Unless required by applicable law or agreed to in writing, software
  5844. distributed under the License is distributed on an "AS IS" BASIS,
  5845. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  5846. See the License for the specific language governing permissions and
  5847. limitations under the License.
  5848. --------------------------------------------------------------------------------
  5849. END LICENSE FOR third_party/mkl_dnn/LICENSE
  5850. --------------------------------------------------------------------------------
  5851. --------------------------------------------------------------------------------
  5852. BEGIN LICENSE FOR external/com_github_grpc_grpc/LICENSE
  5853. --------------------------------------------------------------------------------
  5854. Apache License
  5855. Version 2.0, January 2004
  5856. http://www.apache.org/licenses/
  5857. TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  5858. 1. Definitions.
  5859. "License" shall mean the terms and conditions for use, reproduction,
  5860. and distribution as defined by Sections 1 through 9 of this document.
  5861. "Licensor" shall mean the copyright owner or entity authorized by
  5862. the copyright owner that is granting the License.
  5863. "Legal Entity" shall mean the union of the acting entity and all
  5864. other entities that control, are controlled by, or are under common
  5865. control with that entity. For the purposes of this definition,
  5866. "control" means (i) the power, direct or indirect, to cause the
  5867. direction or management of such entity, whether by contract or
  5868. otherwise, or (ii) ownership of fifty percent (50%) or more of the
  5869. outstanding shares, or (iii) beneficial ownership of such entity.
  5870. "You" (or "Your") shall mean an individual or Legal Entity
  5871. exercising permissions granted by this License.
  5872. "Source" form shall mean the preferred form for making modifications,
  5873. including but not limited to software source code, documentation
  5874. source, and configuration files.
  5875. "Object" form shall mean any form resulting from mechanical
  5876. transformation or translation of a Source form, including but
  5877. not limited to compiled object code, generated documentation,
  5878. and conversions to other media types.
  5879. "Work" shall mean the work of authorship, whether in Source or
  5880. Object form, made available under the License, as indicated by a
  5881. copyright notice that is included in or attached to the work
  5882. (an example is provided in the Appendix below).
  5883. "Derivative Works" shall mean any work, whether in Source or Object
  5884. form, that is based on (or derived from) the Work and for which the
  5885. editorial revisions, annotations, elaborations, or other modifications
  5886. represent, as a whole, an original work of authorship. For the purposes
  5887. of this License, Derivative Works shall not include works that remain
  5888. separable from, or merely link (or bind by name) to the interfaces of,
  5889. the Work and Derivative Works thereof.
  5890. "Contribution" shall mean any work of authorship, including
  5891. the original version of the Work and any modifications or additions
  5892. to that Work or Derivative Works thereof, that is intentionally
  5893. submitted to Licensor for inclusion in the Work by the copyright owner
  5894. or by an individual or Legal Entity authorized to submit on behalf of
  5895. the copyright owner. For the purposes of this definition, "submitted"
  5896. means any form of electronic, verbal, or written communication sent
  5897. to the Licensor or its representatives, including but not limited to
  5898. communication on electronic mailing lists, source code control systems,
  5899. and issue tracking systems that are managed by, or on behalf of, the
  5900. Licensor for the purpose of discussing and improving the Work, but
  5901. excluding communication that is conspicuously marked or otherwise
  5902. designated in writing by the copyright owner as "Not a Contribution."
  5903. "Contributor" shall mean Licensor and any individual or Legal Entity
  5904. on behalf of whom a Contribution has been received by Licensor and
  5905. subsequently incorporated within the Work.
  5906. 2. Grant of Copyright License. Subject to the terms and conditions of
  5907. this License, each Contributor hereby grants to You a perpetual,
  5908. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  5909. copyright license to reproduce, prepare Derivative Works of,
  5910. publicly display, publicly perform, sublicense, and distribute the
  5911. Work and such Derivative Works in Source or Object form.
  5912. 3. Grant of Patent License. Subject to the terms and conditions of
  5913. this License, each Contributor hereby grants to You a perpetual,
  5914. worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  5915. (except as stated in this section) patent license to make, have made,
  5916. use, offer to sell, sell, import, and otherwise transfer the Work,
  5917. where such license applies only to those patent claims licensable
  5918. by such Contributor that are necessarily infringed by their
  5919. Contribution(s) alone or by combination of their Contribution(s)
  5920. with the Work to which such Contribution(s) was submitted. If You
  5921. institute patent litigation against any entity (including a
  5922. cross-claim or counterclaim in a lawsuit) alleging that the Work
  5923. or a Contribution incorporated within the Work constitutes direct
  5924. or contributory patent infringement, then any patent licenses
  5925. granted to You under this License for that Work shall terminate
  5926. as of the date such litigation is filed.
  5927. 4. Redistribution. You may reproduce and distribute copies of the
  5928. Work or Derivative Works thereof in any medium, with or without
  5929. modifications, and in Source or Object form, provided that You
  5930. meet the following conditions:
  5931. (a) You must give any other recipients of the Work or
  5932. Derivative Works a copy of this License; and
  5933. (b) You must cause any modified files to carry prominent notices
  5934. stating that You changed the files; and
  5935. (c) You must retain, in the Source form of any Derivative Works
  5936. that You distribute, all copyright, patent, trademark, and
  5937. attribution notices from the Source form of the Work,
  5938. excluding those notices that do not pertain to any part of
  5939. the Derivative Works; and
  5940. (d) If the Work includes a "NOTICE" text file as part of its
  5941. distribution, then any Derivative Works that You distribute must
  5942. include a readable copy of the attribution notices contained
  5943. within such NOTICE file, excluding those notices that do not
  5944. pertain to any part of the Derivative Works, in at least one
  5945. of the following places: within a NOTICE text file distributed
  5946. as part of the Derivative Works; within the Source form or
  5947. documentation, if provided along with the Derivative Works; or,
  5948. within a display generated by the Derivative Works, if and
  5949. wherever such third-party notices normally appear. The contents
  5950. of the NOTICE file are for informational purposes only and
  5951. do not modify the License. You may add Your own attribution
  5952. notices within Derivative Works that You distribute, alongside
  5953. or as an addendum to the NOTICE text from the Work, provided
  5954. that such additional attribution notices cannot be construed
  5955. as modifying the License.
  5956. You may add Your own copyright statement to Your modifications and
  5957. may provide additional or different license terms and conditions
  5958. for use, reproduction, or distribution of Your modifications, or
  5959. for any such Derivative Works as a whole, provided Your use,
  5960. reproduction, and distribution of the Work otherwise complies with
  5961. the conditions stated in this License.
  5962. 5. Submission of Contributions. Unless You explicitly state otherwise,
  5963. any Contribution intentionally submitted for inclusion in the Work
  5964. by You to the Licensor shall be under the terms and conditions of
  5965. this License, without any additional terms or conditions.
  5966. Notwithstanding the above, nothing herein shall supersede or modify
  5967. the terms of any separate license agreement you may have executed
  5968. with Licensor regarding such Contributions.
  5969. 6. Trademarks. This License does not grant permission to use the trade
  5970. names, trademarks, service marks, or product names of the Licensor,
  5971. except as required for reasonable and customary use in describing the
  5972. origin of the Work and reproducing the content of the NOTICE file.
  5973. 7. Disclaimer of Warranty. Unless required by applicable law or
  5974. agreed to in writing, Licensor provides the Work (and each
  5975. Contributor provides its Contributions) on an "AS IS" BASIS,
  5976. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  5977. implied, including, without limitation, any warranties or conditions
  5978. of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  5979. PARTICULAR PURPOSE. You are solely responsible for determining the
  5980. appropriateness of using or redistributing the Work and assume any
  5981. risks associated with Your exercise of permissions under this License.
  5982. 8. Limitation of Liability. In no event and under no legal theory,
  5983. whether in tort (including negligence), contract, or otherwise,
  5984. unless required by applicable law (such as deliberate and grossly
  5985. negligent acts) or agreed to in writing, shall any Contributor be
  5986. liable to You for damages, including any direct, indirect, special,
  5987. incidental, or consequential damages of any character arising as a
  5988. result of this License or out of the use or inability to use the
  5989. Work (including but not limited to damages for loss of goodwill,
  5990. work stoppage, computer failure or malfunction, or any and all
  5991. other commercial damages or losses), even if such Contributor
  5992. has been advised of the possibility of such damages.
  5993. 9. Accepting Warranty or Additional Liability. While redistributing
  5994. the Work or Derivative Works thereof, You may choose to offer,
  5995. and charge a fee for, acceptance of support, warranty, indemnity,
  5996. or other liability obligations and/or rights consistent with this
  5997. License. However, in accepting such obligations, You may act only
  5998. on Your own behalf and on Your sole responsibility, not on behalf
  5999. of any other Contributor, and only if You agree to indemnify,
  6000. defend, and hold each Contributor harmless for any liability
  6001. incurred by, or claims asserted against, such Contributor by reason
  6002. of your accepting any such warranty or additional liability.
  6003. END OF TERMS AND CONDITIONS
  6004. APPENDIX: How to apply the Apache License to your work.
  6005. To apply the Apache License to your work, attach the following
  6006. boilerplate notice, with the fields enclosed by brackets "[]"
  6007. replaced with your own identifying information. (Don't include
  6008. the brackets!) The text should be enclosed in the appropriate
  6009. comment syntax for the file format. We also recommend that a
  6010. file or class name and description of purpose be included on the
  6011. same "printed page" as the copyright notice for easier
  6012. identification within third-party archives.
  6013. Copyright [yyyy] [name of copyright owner]
  6014. Licensed under the Apache License, Version 2.0 (the "License");
  6015. you may not use this file except in compliance with the License.
  6016. You may obtain a copy of the License at
  6017. http://www.apache.org/licenses/LICENSE-2.0
  6018. Unless required by applicable law or agreed to in writing, software
  6019. distributed under the License is distributed on an "AS IS" BASIS,
  6020. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  6021. See the License for the specific language governing permissions and
  6022. limitations under the License.
  6023. --------------------------------------------------------------------------------
  6024. END LICENSE FOR external/com_github_grpc_grpc/LICENSE
  6025. --------------------------------------------------------------------------------
  6026. --------------------------------------------------------------------------------
  6027. BEGIN LICENSE FOR external/com_github_grpc_grpc/third_party/address_sorting/LICENSE
  6028. --------------------------------------------------------------------------------
  6029. Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
  6030. All rights reserved.
  6031. Redistribution and use in source and binary forms, with or without
  6032. modification, are permitted provided that the following conditions
  6033. are met:
  6034. 1. Redistributions of source code must retain the above copyright
  6035. notice, this list of conditions and the following disclaimer.
  6036. 2. Redistributions in binary form must reproduce the above copyright
  6037. notice, this list of conditions and the following disclaimer in the
  6038. documentation and/or other materials provided with the distribution.
  6039. 3. Neither the name of the project nor the names of its contributors
  6040. may be used to endorse or promote products derived from this software
  6041. without specific prior written permission.
  6042. THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
  6043. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  6044. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  6045. ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
  6046. FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  6047. DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  6048. OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  6049. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  6050. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  6051. OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  6052. SUCH DAMAGE.
  6053. --------------------------------------------------------------------------------
  6054. END LICENSE FOR external/com_github_grpc_grpc/third_party/address_sorting/LICENSE
  6055. --------------------------------------------------------------------------------
粤ICP备19079148号