Copyright (c) 2017, 2018 Oracle and/or its affiliates. Copyright (c) 2018, 2019 Oracle and/or its affiliates.