1.It establishes a framework that helps enable cross-language integration, type safety, and high performance code execution
2.It provides an object-oriented model that supports the complete implementation of many programming languages
3.t defines rules that languages must follow, which helps ensure that objects written in different languages can interact with each other
4.All of the above