muxajibi4 / libggpk Goto Github PK
View Code? Open in Web Editor NEWBeta version of https://code.google.com/p/libggpk/
Beta version of https://code.google.com/p/libggpk/
/Data/Words.dat
"Unknown0" field(enum):
1 - RareItemPrefix
2 - RareItemSuffix
3 - RareMonsterPrefix
4 - RareMonsterSuffix
5 - RareMonsterEpithet
6 - UniqueName
7 - RareChestPrefix
8 - RareChestSuffix
"Data0" field, it's relation link to /Data/Tags.dat
Example:
Rows | Unknown0 | Text | Data0 |
---|---|---|---|
0 | 1 | Dire | [3, 2, 26, 21, 8, 7, 62, 63, 64, 65, 66, 67, 68, 0] |
Rows | Type | Text | Tags |
---|---|---|---|
0 | RareItemPrefix | Dire | amulet, ring, belt, quiver, weapon, armour, beach, dungeon, cave, forest, swamp, mountain, temple, default |
You're missing a record for the AfflictionRewardTypeVisuals.dat
file.
Here it is:
<record file="AfflictionRewardTypeVisuals" length="12">
<field id="Key0" type="int"/>
<field id="Unknown0" type="ref|string"/>
<field id="Name" type="ref|string"/>
</record>
I want to add these capabilities:
C:\Users\Zaafar Ahmed\Desktop\development-work\libggpk\ExportGGPK\bin\Release>ExportGGPK.exe "C:\Program Files (x86)\Grinding Gear Games\Path of Exile\Content.ggpk" "C:\Users\Zaafar Ahmed\Desktop\development-work\libggpk\ExportGGPK\bin\Release\base_output_dir" "C:\Users\Zaafar Ahmed\Desktop\development-work\libggpk\ExportGGPK\bin\Release\data_dir"
Parsing GGPK...
Reading GGPK file records:
10.00%
20.00%
30.01%
40.01%
50.01%
60.01%
70.08%
80.10%
90.17%
100.00%
Building directory tree...
Found 30794 directories and 458698 files
Found 463 FREE records
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at ExportGGPK.Program.WalkNode(DirectoryTreeNode start, String subDirectory) in C:\Users\Zaafar Ahmed\Desktop\development-work\libggpk\ExportGGPK\Program.cs:line 67
at ExportGGPK.Program.GetDirectory(String path) in C:\Users\Zaafar Ahmed\Desktop\development-work\libggpk\ExportGGPK\Program.cs:line 57
at ExportGGPK.Program.Main(String[] args) in C:\Users\Zaafar Ahmed\Desktop\development-work\libggpk\ExportGGPK\Program.cs:line 36
Mby possible to update? :*
Details: Failed to read dat: Error: Row ID = 1393 Field Id=Unknown9, Field Type Name = ref|string,
Message:無法讀取資料流末端之外。
Stacktrace: at System.IO.BinaryReader.ReadChar()
at LibDat.Types.TypeFactory.<>c.<.cctor>b__12_8(BinaryReader s) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 36
at LibDat.Types.TypeFactory.Read[T](BinaryReader reader) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 68
at LibDat.Data.ValueData1..ctor(BaseDataType type, BinaryReader reader, Dictionary
2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Data\ValueData.cs: Line 28
at LibDat.Data.StringData..ctor(BaseDataType type, BinaryReader inStream, Dictionary2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Data\StringData.cs: Line 19 at LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 234
at LibDat.Data.PointerData..ctor(PointerDataType dataType, BinaryReader reader, Dictionary2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Data\PointerData.cs: Line 34 at LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 203
at LibDat.FieldData..ctor(FieldInfo fieldInfo, BinaryReader reader) at C:\Users\tpo\Downloads\libggpk3\LibDat\FieldData.cs: Line 27
at LibDat.RecordData..ctor(RecordInfo ri, BinaryReader inStream, Int32 index) at C:\Users\tpo\Downloads\libggpk3\LibDat\RecordData.cs: Line 36
Details: Failed to read dat: Error: Row ID = 128 Field Id=RestrictedAreaMessage, Field Type Name = ref|string,
Message:無法讀取資料流末端之外。
Stacktrace: at System.IO.BinaryReader.ReadChar()
at LibDat.Types.TypeFactory.<>c.<.cctor>b__12_8(BinaryReader s) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 36
at LibDat.Types.TypeFactory.Read[T](BinaryReader reader) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 68
at LibDat.Data.ValueData1..ctor(BaseDataType type, BinaryReader reader, Dictionary
2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Data\ValueData.cs: Line 28
at LibDat.Data.StringData..ctor(BaseDataType type, BinaryReader inStream, Dictionary2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Data\StringData.cs: Line 19 at LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 234
at LibDat.Data.PointerData..ctor(PointerDataType dataType, BinaryReader reader, Dictionary2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Data\PointerData.cs: Line 34 at LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 203
at LibDat.FieldData..ctor(FieldInfo fieldInfo, BinaryReader reader) at C:\Users\tpo\Downloads\libggpk3\LibDat\FieldData.cs: Line 27
at LibDat.RecordData..ctor(RecordInfo ri, BinaryReader inStream, Int32 index) at C:\Users\tpo\Downloads\libggpk3\LibDat\RecordData.cs: Line 36
Details: Failed to read dat: Error: Row ID = 0 Field Id=QuestFinished_OGGFile, Field Type Name = ref|string,
Message:Not found int(0) value at the end of the string
Stacktrace: at LibDat.Types.TypeFactory.<>c.<.cctor>b__12_8(BinaryReader s) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 39
at LibDat.Types.TypeFactory.Read[T](BinaryReader reader) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 68
at LibDat.Data.ValueData1..ctor(BaseDataType type, BinaryReader reader, Dictionary
2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Data\ValueData.cs: Line 28
at LibDat.Data.StringData..ctor(BaseDataType type, BinaryReader inStream, Dictionary2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Data\StringData.cs: Line 19 at LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 234
at LibDat.Data.PointerData..ctor(PointerDataType dataType, BinaryReader reader, Dictionary2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Data\PointerData.cs: Line 34 at LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) at C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: Line 203
at LibDat.FieldData..ctor(FieldInfo fieldInfo, BinaryReader reader) at C:\Users\tpo\Downloads\libggpk3\LibDat\FieldData.cs: Line 27
at LibDat.RecordData..ctor(RecordInfo ri, BinaryReader inStream, Int32 index) at C:\Users\tpo\Downloads\libggpk3\LibDat\RecordData.cs: Line 36
arsing GGPK...
Reading GGPK file records:
10.01%
20.01%
30.02%
40.02%
50.02%
60.02%
70.02%
80.02%
90.02%
100.00%
Building directory tree...
Found 13649 directories and 206211 files
Found 69332 FREE records
Failed to read CharacterPanelDescriptionModes.dat: Actual record length = 16 not equal length defined in XML: 8
Failed to read DexMissionMonsters.dat: Actual record length = 40 not equal length defined in XML: 32
Failed to read MiscBeams.dat: Actual record length = 28 not equal length defined in XML: 25
Failed to read BaseItemTypes.dat: Actual record length = 177 not equal length defined in XML: 169
Failed to read QuestRewards.dat: Actual record length = 69 not equal length defined in XML: 64
Failed to read MiscAnimated.dat: Actual record length = 20 not equal length defined in XML: 17
Failed to read NPCTalk.dat: Actual record length = 135 not equal length defined in XML: 127
Failed to read Quest.dat: Actual record length = 36 not equal length defined in XML: 34
Failed to read ShopPaymentPackage.dat: Actual record length = 60 not equal length defined in XML: 51
Failed to read Achievements.dat: Actual record length = 29 not equal length defined in XML: 28
Failed to read Mods.dat: Actual record length = 244 not equal length defined in XML: 220
Failed to read WorldAreas.dat: Actual record length = 376 not equal length defined in XML: 327
Failed to read ShopItem.dat: Actual record length = 65 not equal length defined in XML: 69
Failed to read Characters.dat: Actual record length = 120 not equal length defined in XML: 116
Failed to read GrantedEffectsPerLevel.dat: Actual record length = 149 not equal length defined in XML: 153
Failed to read QuestStates.dat: Actual record length = 86 not equal length defined in XML: 77
Failed to read CraftingBenchOptions.dat: Actual record length = 84 not equal length defined in XML: 80
Failed to read MiscObjects.dat: Actual record length = 24 not equal length defined in XML: 21
Failed to read NPCs.dat: Actual record length = 60 not equal length defined in XML: 100
Failed to read GrantedEffects.dat: Actual record length = 68 not equal length defined in XML: 51
Failed to read BloodTypes.dat: Actual record length = 72 not equal length defined in XML: 60
Failed to read ActiveSkills.dat: Error: Row ID = 1 Field Id=WebsiteImage, Field Type Name = ref|string,
Message:스트림의 끝을 넘어 읽을 수 없습니다.
Stacktrace: 위치: System.IO.BinaryReader.ReadChar()
위치: LibDat.Types.TypeFactory.<.cctor>b__a(BinaryReader s) 파일 c:\Users\SESA288124\Downloads\libggpk-beta\libggpk-beta\LibDat\Types\TypeFactory.cs:줄 35
위치: LibDat.Types.TypeFactory.Read[T](BinaryReader reader) 파일 c:\Users\SESA288124\Downloads\libggpk-beta\libggpk-beta\LibDat\Types\TypeFactory.cs:줄 66
위치: LibDat.Data.ValueData1..ctor(BaseDataType type, BinaryReader reader, Dictionary
2 options) 파일 c:\Users\SESA288124\Downloads\libggpk-beta\libggpk-beta\LibDat\Data\ValueData.cs:줄 28
위치: LibDat.Data.StringData..ctor(BaseDataType type, BinaryReader inStream, Dictionary2 options) 파일 c:\Users\SESA288124\Downloads\libggpk-beta\libggpk-beta\LibDat\Data\StringData.cs:줄 18 위치: LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 파일 c:\Users\SESA288124\Downloads\libggpk-beta\libggpk-beta\LibDat\Types\TypeFactory.cs:줄 228
위치: LibDat.Data.PointerData..ctor(PointerDataType dataType, BinaryReader reader, Dictionary2 options) 파일 c:\Users\SESA288124\Downloads\libggpk-beta\libggpk-beta\LibDat\Data\PointerData.cs:줄 38 위치: LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 파일 c:\Users\SESA288124\Downloads\libggpk-beta\libggpk-beta\LibDat\Types\TypeFactory.cs:줄 200
위치: LibDat.FieldData..ctor(FieldInfo fieldInfo, BinaryReader reader) 파일 c:\Users\SESA288124\Downloads\libggpk-beta\libggpk-beta\LibDat\FieldData.cs:줄 28
위치: LibDat.RecordData..ctor(RecordInfo ri, BinaryReader inStream, Int32 index) 파일 c:\Users\SESA288124\Downloads\libggpk-beta\libggpk-beta\LibDat\RecordData.cs:줄 36
Failed to read SoundEffects.dat: Actual record length = 13 not equal length defined in XML: 8
Failed to read CharacterAudioEvents.dat: Actual record length = 89 not equal length defined in XML: 88
Failed to read MapPins.dat: Actual record length = 104 not equal length defined in XML: 100
Failed to read Maps.dat: Actual record length = 88 not equal length defined in XML: 68
Failed to read CurrencyItems.dat: Actual record length = 81 not equal length defined in XML: 77
Failed to read MonsterVarieties.dat: Actual record length = 418 not equal length defined in XML: 402
Translations read: 897
We need to write readme file with project description
Hey I'm having some trouble since the 2015-06-15 patch. When I try to open Mods.dat with VisualGGPK I get the following error:
* Unable to view item, export it if you want to view it *
Details: Failed to read dat: Actual record length = 204 not equal length defined in XML: 196
Actual record length = 204 not equal length defined in XML: 196
It seems to be a problem with the introduction of the new mods. A fix would be appreciated, thanks.
Tried the latest 1.5version
Parsing GGPK...
Reading GGPK file records:
Failed to read file: Invalid tag: u
Failed to read PCBangRewardMicros.dat: Error: Row ID = 0 Field Id=Unknown0, Field Type Name = ref|string,
Message:無法讀取資料流末端之外。
Stacktrace: 於 System.IO.__Error.EndOfFile()
於 System.IO.BinaryReader.ReadChar()
於 LibDat.Types.TypeFactory.<>c.<.cctor>b__12_8(BinaryReader s) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 36
於 LibDat.Types.TypeFactory.Read[T](BinaryReader reader) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 68
於 LibDat.Data.ValueData1..ctor(BaseDataType type, BinaryReader reader, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\ValueData.cs: 行 28
於 LibDat.Data.StringData..ctor(BaseDataType type, BinaryReader inStream, Dictionary2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\StringData.cs: 行 21 於 LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 234
於 LibDat.Data.PointerData..ctor(PointerDataType dataType, BinaryReader reader, Dictionary2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\PointerData.cs: 行 34 於 LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 203
於 LibDat.FieldData..ctor(FieldInfo fieldInfo, BinaryReader reader) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\FieldData.cs: 行 27
於 LibDat.RecordData..ctor(RecordInfo ri, BinaryReader inStream, Int32 index) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\RecordData.cs: 行 37
Failed to read MapConnections.dat: Error: Row ID = 128 Field Id=RestrictedAreaMessage, Field Type Name = ref|string,
Message:無法讀取資料流末端之外。
Stacktrace: 於 System.IO.__Error.EndOfFile()
於 System.IO.BinaryReader.ReadChar()
於 LibDat.Types.TypeFactory.<>c.<.cctor>b__12_8(BinaryReader s) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 36
於 LibDat.Types.TypeFactory.Read[T](BinaryReader reader) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 68
於 LibDat.Data.ValueData1..ctor(BaseDataType type, BinaryReader reader, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\ValueData.cs: 行 28
於 LibDat.Data.StringData..ctor(BaseDataType type, BinaryReader inStream, Dictionary2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\StringData.cs: 行 21 於 LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 234
於 LibDat.Data.PointerData..ctor(PointerDataType dataType, BinaryReader reader, Dictionary2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\PointerData.cs: 行 34 於 LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 203
於 LibDat.FieldData..ctor(FieldInfo fieldInfo, BinaryReader reader) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\FieldData.cs: 行 27
於 LibDat.RecordData..ctor(RecordInfo ri, BinaryReader inStream, Int32 index) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\RecordData.cs: 行 37
Failed to read BuffDefinitions.dat: Error: Row ID = 1393 Field Id=Unknown9, Field Type Name = ref|string,
Message:無法讀取資料流末端之外。
Stacktrace: 於 System.IO.__Error.EndOfFile()
於 System.IO.BinaryReader.ReadChar()
於 LibDat.Types.TypeFactory.<>c.<.cctor>b__12_8(BinaryReader s) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 36
於 LibDat.Types.TypeFactory.Read[T](BinaryReader reader) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 68
於 LibDat.Data.ValueData1..ctor(BaseDataType type, BinaryReader reader, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\ValueData.cs: 行 28
於 LibDat.Data.StringData..ctor(BaseDataType type, BinaryReader inStream, Dictionary2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\StringData.cs: 行 21 於 LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 234
於 LibDat.Data.PointerData..ctor(PointerDataType dataType, BinaryReader reader, Dictionary2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\PointerData.cs: 行 34 於 LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 203
於 LibDat.FieldData..ctor(FieldInfo fieldInfo, BinaryReader reader) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\FieldData.cs: 行 27
於 LibDat.RecordData..ctor(RecordInfo ri, BinaryReader inStream, Int32 index) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\RecordData.cs: 行 37
Failed to read QuestStates.dat: Error: Row ID = 0 Field Id=QuestFinished_OGGFile, Field Type Name = ref|string,
Message:Not found int(0) value at the end of the string
Stacktrace: 於 LibDat.Types.TypeFactory.<>c.<.cctor>b__12_8(BinaryReader s) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 39
於 LibDat.Types.TypeFactory.Read[T](BinaryReader reader) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 68
於 LibDat.Data.ValueData1..ctor(BaseDataType type, BinaryReader reader, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\ValueData.cs: 行 28
於 LibDat.Data.StringData..ctor(BaseDataType type, BinaryReader inStream, Dictionary2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\StringData.cs: 行 21 於 LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 234
於 LibDat.Data.PointerData..ctor(PointerDataType dataType, BinaryReader reader, Dictionary2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Data\PointerData.cs: 行 34 於 LibDat.Types.TypeFactory.CreateData(BaseDataType type, BinaryReader inStream, Dictionary
2 options) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\Types\TypeFactory.cs: 行 203
於 LibDat.FieldData..ctor(FieldInfo fieldInfo, BinaryReader reader) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\FieldData.cs: 行 27
於 LibDat.RecordData..ctor(RecordInfo ri, BinaryReader inStream, Int32 index) 於 C:\Users\tpo\Downloads\libggpk3\LibDat\RecordData.cs: 行 37
Example: CharacterAudioEvents.dat
Field: SoundMaradeur [StrinIndex]
Int32 value at offset 294 contains pointer to offset 190, which is string
"A.u.d.i.o./.D.i.a.l.o.g.u.e./.C.h.a.r.a.c.t.e.r./.S.t.r./.E.v.e.n.t./.M.a.r.a.u.d.e.r._.0.1...o.g.g.."
But currenly this value is mistakenly considered as 1 character string "3/4"
Possible Solution:
field before SoundMaradeur [StrinIndex] and any field like it contain int value which can be:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.