diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e8bef83431e..5dc1c6dbfb0 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,3 +1,4 @@ + ### Purpose -(FILL ME IN) This section describes why this PR is here. Usually it would include a reference -to the tracking task that it is part or all of the solution for. +(FILL ME IN) This section describes why this PR is here. Usually it would include a reference to the tracking task that it is part or all of the solution for. ### Declarations @@ -24,16 +25,15 @@ Check these if you believe they are true - [ ] Snapshot of UI changes, if any. - [ ] Changes to the API follow [Semantic Versioning](https://github.com/DynamoDS/Dynamo/wiki/Dynamo-Versions) and are documented in the [API Changes](https://github.com/DynamoDS/Dynamo/wiki/API-Changes) document. - [ ] This PR modifies some build requirements and the readme is updated -- [ ] This PR contains no files larger than 50 MB +- [ ] This PR contains no files larger than 50 MB ### Release Notes -(FILL ME IN) Brief description of the fix / enhancement. **Mandatory section** - +(FILL ME IN) Brief description of the fix / enhancement. **Mandatory section** ### Reviewers -(FILL ME IN) Reviewer 1 (If possible, assign the Reviewer for the PR) +(FILL ME IN) Reviewer 1 (If possible, assign the Reviewer for the PR) (FILL ME IN, optional) Any additional notes to reviewers or testers. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000000..aaf2397626f --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: ".github/workflows" + schedule: + interval: "weekly" diff --git a/.github/workflows/Issues_workflow.yaml b/.github/workflows/Issues_workflow.yaml index 3c94be700f6..3300823ddfe 100644 --- a/.github/workflows/Issues_workflow.yaml +++ b/.github/workflows/Issues_workflow.yaml @@ -17,7 +17,7 @@ jobs: outputs: result: ${{env.content_analysis_response}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 #Detect if the issue_title follows the regex expression - name: Check Issue Title @@ -37,7 +37,7 @@ jobs: #Remove the " character in the issue title and replaced with - - name: Remove conflicting chars - uses: frabert/replace-string-action@v1.2 + uses: frabert/replace-string-action@v2.4 id: remove_quotations with: pattern: "\"" @@ -107,13 +107,13 @@ jobs: acceptable_missing_info: 1 steps: #Checkout the repo - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 #Removes conflicting characters before using the issue content as a script parameter - name: Remove conflicting chars env: ISSUE_BODY: ${{github.event.issue.body}} - uses: frabert/replace-string-action@v1.2 + uses: frabert/replace-string-action@v2.4 id: remove_quotations with: pattern: "\"" diff --git a/.github/workflows/PR_merged.yaml b/.github/workflows/PR_merged.yaml index 854a319c487..d3c38e9573f 100644 --- a/.github/workflows/PR_merged.yaml +++ b/.github/workflows/PR_merged.yaml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # Getting PR information from the commit SHA - name: Getting PR information diff --git a/.github/workflows/check_file_size.yml b/.github/workflows/check_file_size.yml index 337200fd61b..99ca5b6b734 100644 --- a/.github/workflows/check_file_size.yml +++ b/.github/workflows/check_file_size.yml @@ -7,10 +7,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Get changed files id: get_changed_files - uses: tj-actions/changed-files@v35 + uses: tj-actions/changed-files@v40 - name: Check file size run: | for file in ${{ steps.get_changed_files.outputs.all_changed_files }}; do diff --git a/.github/workflows/close_stale_issues.yaml b/.github/workflows/close_stale_issues.yaml deleted file mode 100644 index 2def1ec97b9..00000000000 --- a/.github/workflows/close_stale_issues.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: Close stale issues -on: - schedule: - - cron: '0 0 * * *' -jobs: - close-stale-issues: - runs-on: ubuntu-latest - steps: - - name: close stale issues - uses: actions/stale@v3 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - #By default the action will leave a message when marking the issue as stale and another-one when closing the issue. - #As we only want the message to be added when the issue is closed, the "skip-stale-issue-message" parameter was set to true - #but the action wont work if the "stale-issue-message" doesn't have a value. - stale-issue-message: "." - skip-stale-issue-message: true - close-issue-message: "Given that there has been no additional information added, - this issue will be closed for now. Please reopen and provide additional - information if you wish the Dynamo team to investigate further." - days-before-stale: 30 - days-before-close: 0 - only-labels: 'needs more info' diff --git a/.github/workflows/close_stale_issues.yml b/.github/workflows/close_stale_issues.yml new file mode 100644 index 00000000000..163881dbcb9 --- /dev/null +++ b/.github/workflows/close_stale_issues.yml @@ -0,0 +1,24 @@ +name: Close stale issues + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + close_stale_issues: + name: Close stale issues + runs-on: ubuntu-latest + steps: + - name: Close Issues + id: close_issues + uses: actions/stale@v8 + with: + days-before-stale: 30 + days-before-close: 0 + only-labels: needs more info + close-issue-message: Given that there has been no additional information added, this issue will be closed for now. Please reopen and provide additional information if you wish the Dynamo team to investigate further. + - name: Summary + run: | + echo "# Closed Issues" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "${{ steps.close_issues.outputs.closed-issues-prs }}" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index d3cc447c360..e56b89d23ef 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: Dynamo repository: DynamoDS/Dynamo diff --git a/.github/workflows/dynamoAllNet6.0_build.yml b/.github/workflows/dynamoAllNet6.0_build.yml index 2c9cf656b83..f8965faa87a 100644 --- a/.github/workflows/dynamoAllNet6.0_build.yml +++ b/.github/workflows/dynamoAllNet6.0_build.yml @@ -6,7 +6,7 @@ jobs: runs-on: windows-latest steps: - name: Checkout Dynamo Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: Dynamo repository: DynamoDS/Dynamo @@ -31,3 +31,10 @@ jobs: cd "$Env:GITHUB_WORKSPACE\Dynamo\bin\AnyCPU\Release" echo "***Locating DynamoCLI for Windows!***" test ".\DynamoCLI.exe" && echo "DynamoCLI exists!" + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: DynamoSandbox + path: ${{ github.workspace }}\Dynamo\bin\AnyCPU\Release + if-no-files-found: warn + retention-days: 3 diff --git a/.github/workflows/dynamoBinDiff.yml b/.github/workflows/dynamoBinDiff.yml index 44f36964f17..92108408997 100644 --- a/.github/workflows/dynamoBinDiff.yml +++ b/.github/workflows/dynamoBinDiff.yml @@ -6,7 +6,7 @@ jobs: runs-on: windows-latest steps: - name: Checkout Dynamo Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: net60_Win_Dynamo repository: DynamoDS/Dynamo @@ -40,7 +40,7 @@ jobs: runs-on: windows-latest steps: - name: Checkout Dynamo Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: ref: master path: master_net60_Win_Dynamo diff --git a/.github/workflows/dynamoNet6.0_build.yml b/.github/workflows/dynamoNet6.0_build.yml index a29d95e985c..034aa66856b 100644 --- a/.github/workflows/dynamoNet6.0_build.yml +++ b/.github/workflows/dynamoNet6.0_build.yml @@ -6,7 +6,7 @@ jobs: runs-on: windows-latest steps: - name: Checkout Dynamo Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: Dynamo repository: DynamoDS/Dynamo diff --git a/.github/workflows/dynamoNet6.0_linux_build.yml b/.github/workflows/dynamoNet6.0_linux_build.yml index 49dd4ae8c1a..b0e9c3bc355 100644 --- a/.github/workflows/dynamoNet6.0_linux_build.yml +++ b/.github/workflows/dynamoNet6.0_linux_build.yml @@ -6,7 +6,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Dynamo Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: Dynamo - name: Setup dotnet diff --git a/.github/workflows/generate_changelog.yml b/.github/workflows/generate_changelog.yml index 015c3c045f0..32b727affb8 100644 --- a/.github/workflows/generate_changelog.yml +++ b/.github/workflows/generate_changelog.yml @@ -18,11 +18,11 @@ jobs: steps: # To use this repository's private action, you must check out the repository - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Generate changelog id: changelog - uses: metcalfc/changelog-generator@v1.0.0 + uses: metcalfc/changelog-generator@v4.1.0 with: myToken: ${{ secrets.GITHUB_TOKEN }} head-ref: ${{ github.event.inputs.head-ref }} diff --git a/.github/workflows/issue_type_predicter.yaml b/.github/workflows/issue_type_predicter.yaml index a9150631c80..bf2a8ff6684 100644 --- a/.github/workflows/issue_type_predicter.yaml +++ b/.github/workflows/issue_type_predicter.yaml @@ -23,11 +23,11 @@ jobs: acceptable_missing_info: 1 steps: #Removes conflicting characters before using the issue content as a script parameter - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Remove conflicting chars env: ISSUE_BODY: ${{github.event.issue.body}} - uses: frabert/replace-string-action@v1.2 + uses: frabert/replace-string-action@v2.4 id: remove_quotations with: pattern: "\"" @@ -66,7 +66,7 @@ jobs: #Now checkout the IssuesTypePredicter source code from the repo https://github.com/DynamoDS/IssuesTypePredicter - name: Checkout IssuesTypePredicter if: env.analysis_response == 'Valid' - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: DynamoDS/IssuesTypePredicter path: IssuesTypePredicter diff --git a/.github/workflows/move_issue.yaml b/.github/workflows/move_issue.yaml index 898870b6f67..588ce33e39b 100644 --- a/.github/workflows/move_issue.yaml +++ b/.github/workflows/move_issue.yaml @@ -24,6 +24,7 @@ env: gh_organization: DynamoDS gh_token: ${{ secrets.DYNAMO_ISSUES_TOKEN }} project_id: 4 + project_name: 'Dynamo Issues' jobs: issue_labeled_as_revit: @@ -31,9 +32,11 @@ jobs: runs-on: ubuntu-latest if: github.event.label.name == 'Revit' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Transfer issue to DynamoRevit Repository - run: gh issue transfer ${{ github.event.issue.number }} DynamoDS/DynamoRevit + run: | + gh issue edit ${{ github.event.issue.number }} --remove-project "${{ env.project_name }}" + gh issue transfer ${{ github.event.issue.number }} DynamoDS/DynamoRevit env: GITHUB_TOKEN: ${{ env.gh_token }} issue_labeled_as_dynamo_advance_steel: @@ -41,9 +44,11 @@ jobs: runs-on: ubuntu-latest if: github.event.label.name == 'Advance-Steel' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Transfer issue to Dynamo-Advance-Steel Repository - run: gh issue transfer ${{ github.event.issue.number }} DynamoDS/Dynamo-Advance-Steel + run: | + gh issue edit ${{ github.event.issue.number }} --remove-project "${{ env.project_name }}" + gh issue transfer ${{ github.event.issue.number }} DynamoDS/Dynamo-Advance-Steel env: GITHUB_TOKEN: ${{ env.gh_token }} issue_labeled_as_wishlist: @@ -51,9 +56,11 @@ jobs: runs-on: ubuntu-latest if: github.event.label.name == 'Wishlist' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Transfer issue to DynamoWishlist Repository - run: gh issue transfer ${{ github.event.issue.number }} DynamoDS/DynamoWishlist + run: | + gh issue edit ${{ github.event.issue.number }} --remove-project "${{ env.project_name }}" + gh issue transfer ${{ github.event.issue.number }} DynamoDS/DynamoWishlist env: GITHUB_TOKEN: ${{ env.gh_token }} issue_labeled_as_tracked: @@ -62,7 +69,7 @@ jobs: if: github.event.label.name == 'tracked' steps: - name: Move tracked issue to Todo - uses: leonsteinhaeuser/project-beta-automations@v2.1.0 + uses: leonsteinhaeuser/project-beta-automations@v2.2.1 with: gh_token: ${{ env.gh_token }} organization: ${{ env.gh_organization }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000000..2ee2ee4b4a8 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,51 @@ +name: Test + +on: + workflow_run: + workflows: + - DynamoAllNet6.0-Build + types: + - completed + +env: + TEST_EXECUTE_DOWNLOAD_URL: https://downloads.smartbear.com/TestExecute1552SLM.exe + +jobs: + ui_smoke_tests: + name: UI Smoke Tests + timeout-minutes: 60 + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + repository: DynamoDS/DynamoTestCompleteTests + token: ${{ secrets.DYNAMO_TESTS_TOKEN }} + ref: master + - name: Download TestExecute + run: Invoke-WebRequest -Uri "${{ env.TEST_EXECUTE_DOWNLOAD_URL }}" -OutFile ".\TE.exe" + - name: Install TestExecute + shell: cmd + run: .\TE.exe -SilentInstall + - name: Download Artifact + uses: dawidd6/action-download-artifact@v2 + with: + name: DynamoSandbox + workflow: ${{ github.event.workflow_run.workflow_id }} + path: ${{ github.workspace }}\build + - name: Run Tests + shell: cmd + run: .github\scripts\run_tests.bat ${{ secrets.TEST_EXECUTE_ACCESS_KEY }} Dynamo\Dynamo.pjs DynamoSandbox SmokeTests + - name: UI Smoke Tests Report + uses: dorny/test-reporter@v1.7.0 + if: always() + with: + name: UI Smoke Test Report + path: reports/report.xml + reporter: java-junit + - name: Action Summary + if: always() + run: | + type summary.md | Out-File -FilePath $env:GITHUB_STEP_SUMMARY -Append + echo "" >> $GITHUB_STEP_SUMMARY + echo ":package: Trigerred by: [${{ github.event.workflow_run.name }}](${{ github.event.workflow_run.html_url }})" >> $env:GITHUB_STEP_SUMMARY diff --git a/LICENSE.txt b/LICENSE.txt index 5f3938059a0..0d35c2a6539 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -21,12 +21,12 @@ All other brand names, product names or trademarks belong to their respective ho Autodesk Cloud and Desktop Components This Product or Service may incorporate or use background Autodesk online and desktop technology components. For information about these components, see Autodesk Cloud Platform Components and Autodesk Desktop Platform Components. -LIBG, ProtoGeometry v.2.7.0, Analytics.NET, ADP, GRegRevitAuth, AGET, IDSDK, and IDSDK Wrapper are closed source files licensed by Autodesk under the license that can be found here https://github.com/DynamoDS/Dynamo/tree/master/doc/distrib/Autodesk.rtf +LIBG, ProtoGeometry v.2.7.0, DynamoVisualProgramming.Analytics, CER, ADP, GRegRevitAuth, AGET, IDSDK, IDSDK Wrapper, ForgeUnits.NET, ForgeUnits.Schemas, and Autodesk.GeometryPrimitive are closed source files licensed by Autodesk under the license that can be found here https://github.com/DynamoDS/Dynamo/tree/master/doc/distrib/Autodesk.rtf Third-Party Trademarks, Software Credits and Attributions -Greg v. 2.3.0.1646: +Greg v.2.5.0.5076: (The MIT License) Copyright (c) 2013 Peter Boyer peter.boyer@autodesk.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -63,7 +63,7 @@ Copyright © 2021 Alexe Zimarev Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -System.Collections.Immutable v.1.4.0: +System.Collections.Immutable v.5.0.0: Copyright (c) 2017 .NET Foundation and Contributors All rights reserved. @@ -92,7 +92,7 @@ Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com) In the Font Awesome Free download, the CC BY 4.0 license applies to all icons packaged as SVG and JS file types. -Cyotek.Drawing.BitmapFont v.1.3.4: +Cyotek.Drawing.BitmapFont v.2.0.0: https://github.com/cyotek/Cyotek.Drawing.BitmapFont https://github.com/cyotek/Cyotek.Drawing.BitmapFont/blob/master/LICENSE.txt The MIT License (MIT) @@ -104,7 +104,11 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Helix Toolkit v.2.11.0: +Helix Toolkit v.2.24.0: +HelixToolkit.Core.Wpf v.2.24.0: +HelixToolkit.SharpDX.Core v.2.24.0: +HelixToolkit.SharpDX.Core.Wpf v.2.24.0: + https://github.com/helix-toolkit/helix-toolkit https://github.com/helix-toolkit/helix-toolkit/blob/develop/LICENSE The MIT License (MIT) @@ -117,6 +121,14 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. SharpDX v.4.2.0: +SharpDX v.4.2.0: +SharpDX.D3DCompiler v.4.2.0: +SharpDX.Direct2D1 v.4.2.0: +SharpDX.Direct3D11 v.4.2.0: +SharpDX.Direct3D9 v.4.2.0: +SharpDX.DXGI v.4.2.0: +SharpDX.Mathematics v.4.2.0: + https://github.com/sharpdx/SharpDX/blob/master/LICENSE Copyright (c) 2010-2014 SharpDX - Alexandre Mutel @@ -143,7 +155,6 @@ OpenSans font from Google http://www.google.com/fonts/specimen/Open+Sans http://www.apache.org/licenses/LICENSE-2.0.html Copyright © [yyyy] Steve Matteson - Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. DocumentFormat.OpenXml v.2.12.3: @@ -230,7 +241,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Nunit v.2.6.3 +Nunit v.3.13.3 http://www.nunit.org/ Copyright © 2002-2013 Charlie Poole Copyright © 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov @@ -300,22 +311,6 @@ c. The above URL (www.autodesk.com/lgplsource) so that Autodesk may properly respond to your request. The offer to receive this libintl source code via the above URL (www.autodesk.com/lgplsource) or by written request to Autodesk is valid for a period of three (3) years from the date you purchased your license to this Autodesk software. You may modify, debug and relink libintl to this Autodesk software as provided under the terms of the GNU Lesser General Public License v.2.1. -DynamoServices: -Copyright © Autodesk, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - - -Ncalc v.1.3.8.0: -http://ncalc.codeplex.com/ -© 2011 Sebastien Ros - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - MIConvexHull.NET v.1.0.17.411 http://miconvexhull.codeplex.com/ http://miconvexhull.codeplex.com/license @@ -344,11 +339,6 @@ DiffPlex v.1.6.3: Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -DiffPlex.wpf v.1.1.1: -© 2020 mmanela - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - AngleSharp v.0.14.0: Copyright (c) 2013 - 2019 AngleSharp AngleSharp.CSS v.0.14.2: Copyright © 2013-2020 AngleSharp The MIT License (MIT) @@ -359,7 +349,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -HTMLSanitizer v.5.0.355: +HTMLSanitizer v.5.0.372: https://github.com/mganss/HtmlSanitizer https://github.com/mganss/HtmlSanitizer/blob/master/LICENSE.md The MIT License (MIT) @@ -385,19 +375,6 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -ILMerge v.3.0.41: -https://github.com/dotnet/ILMerge -https://github.com/dotnet/ILMerge/blob/master/LICENSE -MIT License -Copyright (c) .NET Foundation and Contributors -All Rights Reserved - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - System.Buffers v.4.5.1 The MIT License (MIT) Copyright (c) .NET Foundation and Contributors @@ -431,17 +408,6 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -System.Runtime.CompilerServices.Unsafe v.4.5.3 -The MIT License (MIT) -Copyright (c) .NET Foundation and Contributors -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - System.Text.Encoding.CodePages v.4.5.0 The MIT License (MIT) Copyright (c) .NET Foundation and Contributors @@ -471,7 +437,12 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -LaunchDarkly.Clientsdk v.2.0.1: +LaunchDarkly.Clientsdk v.2.0.1 +LaunchDarkly.CommonSdk v.5.5.0 +LaunchDarkly.EventSource v.4.1.3 +LaunchDarkly.InternalSdk v.2.3.2 +LaunchDarkly.JsonStream v.1.0.3 +LaunchDarkly.Logging v.1.0.1 Copyright 2018 Catamorphic, Co. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. @@ -508,23 +479,55 @@ https://github.com/DynamoDS/Dynamo/tree/master/tools/install/Extra/DirectX/Licen ImageMagick https://imagemagick.org/script/license.php -LiveCharts -https://github.com/Live-Charts/Live-Charts/blob/master/LICENSE.TXT +LiveChartsCore v.2.0.0-beta.855: +LiveChartsCore.SkiaSharpView v.2.0.0-beta.855: +LiveChartsCore.SkiaSharpView.WPF v.2.0.0-beta.855: +Copyright (c) 2021 Alberto Rodriguez Orozco -Magick.NET.Core +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Magick.NET.Core v7.0.1: +Copyright [2013] [dlemstra] https://github.com/dlemstra/Magick.NET/blob/main/License.txt -Microsoft 2015 C Runtime DLLs, msvcp140.dll, msvcr140.dll -https://docs.microsoft.com/en-us/visualstudio/productinfo/2015-redistribution-vs +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Magick.NET-Q8-AnyCPU v7.24.1: +https://imagemagick.org/script/license.php +Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available. Open XML SDK https://github.com/OfficeDev/Open-XML-SDK https://github.com/OfficeDev/Open-XML-SDK/blob/main/LICENSE -Prism -http://msdn.microsoft.com/en-us/library/gg406140.aspx -http://msdn.microsoft.com/en-us/library/gg405489(PandP.40).aspx - Python Standard Library https://docs.python.org/2.7/library/ https://docs.python.org/2.7/license.html @@ -537,14 +540,11 @@ https://pypi.org/project/openpyxl/ License: MIT License (MIT) https://matplotlib.org/ License: Matplotlib only uses BSD compatible code, and its license is based on the PSF license https://pypi.org/project/Pillow/ License: Historical Permission Notice and Disclaimer (HPND) -SimplexNoise -https://unlicense.org/ - -Xceed Extended WPF Toolkit +Xceed Extended WPF Toolkit v.5.0.103: Microsoft Public License https://github.com/xceedsoftware/wpftoolkit/blob/0ed4ed84152d6a3e2a627f2ef05f82627fdaf3fc/license.md -Microsoft.Web.WebView2 v.1.0.1264.42 +Microsoft.Web.WebView2 v.1.0.2045.28 Copyright (C) Microsoft Corporation. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -573,7 +573,12 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Lucene.Net +Lucene.Net v.4.8.0-beta00016 +Lucene.Net.Analysis.Common v.4.8.0-beta00016 +Lucene.Net.Queries v.4.8.0-beta00016 +Lucene.Net.QueryParser v.4.8.0-beta00016 +Lucene.Net.Sandbox v.4.8.0-beta00016 + https://lucenenet.apache.org/ https://github.com/apache/lucenenet/blob/master/LICENSE.txt Copyright 2022 Apache Lucene.NET @@ -596,7 +601,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI CsvHelper v30.0.1 Apache 2.0 https://github.com/JoshClose/CsvHelper/blob/master/LICENSE.txt - Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Prism.Core v8.1.97 @@ -635,4 +639,154 @@ The terms "reproduce," "reproduction," "derivative works," and "distribution" ha (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. \ No newline at end of file +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. + +CastleCore v.5.1.1 +APACHE 2.0 +Copyright 2004-2021 Castle Project - http://www.castleproject.org/ + +https://github.com/castleproject/Core/blob/master/LICENSE + +DynamicLanguageRuntime v.1.2.2 +APACHE 2.0 +https://github.com/IronLanguages/dlr/blob/master/LICENSE + +Copyright (c) .NET Foundation and Contributors + All Rights Reserved + +Licensed under the Apache License, Version 2.0 (the ""License""); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an ""AS IS"" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +HarfBuzzSharp v.2.8.2.4-preview.84 +HarfBuzzSharp.NativeAssets.macOS v.2.8.2.4-preview.84 +HarfBuzzSharp.NativeAssets.Win32 v.2.8.2.4-preview.84 +Copyright (c) 2015-2016 Xamarin, Inc. +Copyright (c) 2017-2018 Microsoft Corporation. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +SkiaSharp v.2.88.4-preview.84 +SkiaSharp.HarfBuzz v.2.88.4-preview.84 +SkiaSharp.NativeAssets.macOS v.2.88.4-preview.84 +SkiaSharp.NativeAssets.Win32 v.2.88.4-preview.84 +SkiaSharp.Views.Desktop.Common v.2.88.4-preview.84 +SkiaSharp.Views.WPF v.2.88.4-preview.84 +Copyright (c) 2015-2016 Xamarin, Inc. +Copyright (c) 2017-2018 Microsoft Corporation. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +SoapFormatter v1.0.11 +https://github.com/novotnyllc/SoapFormatter/blob/main/LICENSE + +In general, the runtime and its class libraries are licensed under the +terms of the MIT license, and some third party code is licensed under +the 3-clause BSD license. See the file "PATENTS.TXT" for Microsoft's +patent grant on the Mono codebase. + +coverlet.collector v.3.1.2 +The MIT License (MIT) +https://github.com/coverlet-coverage/coverlet/blob/master/LICENSE + +Copyright (c) 2018 Toni Solarin-Sodara + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +J2N v.2.0.0 +APACHE 2.0 +https://github.com/NightOwl888/J2N/blob/main/LICENSE.txt + +JUnitTestLogger v.1.1.0 +MIT License +https://github.com/syncromatics/JUnitTestLogger/blob/master/LICENSE + +Copyright (c) 2017 GMV Syncromatics Engineering + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +JunitXml.TestLogger v.3.0.124 +MIT License +https://github.com/spekt/junit.testlogger/blob/master/LICENSE.md + +Copyright (c) 2017-2018 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NUnit.Analyzers v.3.3.0 +https://github.com/nunit/nunit.analyzers/blob/master/license.txt + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +NUnit3TestAdapter v.4.2.1 +MIT License diff --git a/README.md b/README.md index e550b0376da..c462edb2c4c 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,12 @@ [![Nuget](https://img.shields.io/nuget/v/DynamoVisualProgramming.Core?logo=nuget)](https://www.nuget.org/packages/DynamoVisualProgramming.Core) [![DynamoVisualProgramming.Core on fuget.org](https://www.fuget.org/packages/DynamoVisualProgramming.Core/badge.svg)](https://www.fuget.org/packages/DynamoVisualProgramming.Core) -![Image](https://raw.github.com/ikeough/Dynamo/master/doc/distrib/Images/dynamo_logo_dark.png) + + + + Dynamo Logo + + Dynamo is a visual programming tool that aims to be accessible to both non-programmers and programmers alike. It gives users the ability to visually script behavior, define custom pieces of logic, and script using various textual programming languages. ## Get Dynamo @@ -33,21 +38,23 @@ You can learn more about developing libraries for Dynamo on the [Dynamo wiki](ht You will need the following to build the latest Dynamo on Windows: - [Microsoft Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) (any edition) -- Microsoft .NET Framework 4.8 (included with Visual Studio 2022) -- Node.js v16 and npm v8 -- - [Download](https://nodejs.org/en/download/) and install the latest LTS version of Node.js -- - Open up your Command Prompt and check you have successfully installed Node by inputting `node -v`. If you have Node installed, it will tell you the version. -- [GitHub for Windows](https://windows.github.com/) -- For runnning Dynamo tests within Visual Studio -[NUnit Test Adapter 2](https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnitTestAdapter) +- [Microsoft .NET Framework 6](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) (included with Visual Studio 2022) +- [Node.js LTS](https://nodejs.org/en/download/) and npm +- [NUnit Test Adapter 2](https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnitTestAdapter) (For runnning Dynamo tests within Visual Studio) If you are working on legacy branches, you may need to install legacy .NET Framework versions through Visual Studio `Tools > Get Tools and Features...` or downloading from [the archive here](https://www.microsoft.com/net/download/archives). -The Dynamo user interface is Windows-only, but with some extra effort the Dynamo engine can be built for other platforms. [Directions for building Dynamo on Linux or OS X can be found here](https://github.com/DynamoDS/Dynamo/wiki/Dynamo-on-Linux,-Mac). -Find more about how to build Dynamo at our [wiki](https://github.com/DynamoDS/Dynamo/wiki) and [Dynamo Developer Resources](https://developer.dynamobim.org/) +The Dynamo user interface is Windows-only, but the Dynamo engine can be built for other platforms. [Directions for building Dynamo on Linux or OS X can be found here](https://github.com/DynamoDS/Dynamo/wiki/Dynamo-on-Linux,-Mac). +Find more about how to build Dynamo at our [wiki](https://github.com/DynamoDS/Dynamo/wiki) and [Dynamo Developer Resources](https://developer.dynamobim.org/). ## Contribute -Dynamo is an open-source project and would be nothing without its community. You can make suggestions or track and submit bugs via [Github issues](https://github.com/DynamoDS/Dynamo/issues). You can submit your own code to the Dynamo project via a Github [pull request](https://github.com/DynamoDS/Dynamo/blob/master/CONTRIBUTING.md). +Dynamo is an open source project and would be nothing without its community. + +- You can make suggestions or improvement requests via [Dynamo Wishlist](https://github.com/DynamoDS/DynamoWishlist/issues/new/choose). +- You can submit and track bugs via [Dynamo Issues](https://github.com/DynamoDS/Dynamo/issues/new/choose). +- You can submit your own code to via a [pull request](https://github.com/DynamoDS/Dynamo/pulls). For more info read [CONTRIBUTING.md](CONTRIBUTING.md). +- If you have any questions, ideas or have something to share with the community, please visit us at [Dynamo Forum](https://forum.dynamobim.com). ## Releases diff --git a/doc/distrib/Images/dynamo_logo_light.png b/doc/distrib/Images/dynamo_logo_light.png new file mode 100644 index 00000000000..9f2b9635009 Binary files /dev/null and b/doc/distrib/Images/dynamo_logo_light.png differ diff --git a/doc/distrib/License.rtf b/doc/distrib/License.rtf index ec9bca10cf5..e02b574379e 100644 --- a/doc/distrib/License.rtf +++ b/doc/distrib/License.rtf @@ -62,10 +62,12 @@ Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpad \levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative \levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext \'01\u-3929 ?;}{\levelnumbers;}\f10\fs20\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid404035829}}{\*\listoverridetable{\listoverride\listid404035829\listoverridecount0\ls1}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0 -\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid262518\rsid411363\rsid1784394\rsid2959855\rsid3092893\rsid3225273\rsid3346706 -\rsid3998130\rsid4484117\rsid4611777\rsid9377761\rsid9460105\rsid9635992\rsid9658238\rsid9731339\rsid10299691\rsid11167982\rsid12335516\rsid12653622\rsid14298549\rsid14628192\rsid14700233\rsid15019625\rsid15220234\rsid16659309}{\mmathPr\mmathFont34 -\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator Tiberiu Pinzariu}{\creatim\yr2023\mo5\dy24\hr14\min10}{\revtim\yr2023\mo8\dy4\hr12\min37}{\version20}{\edmins33}{\nofpages24} -{\nofwords11894}{\nofchars67800}{\nofcharsws79535}{\vern75}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect +\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid262518\rsid411363\rsid868937\rsid1060736\rsid1784394\rsid2829184\rsid2959855 +\rsid3092893\rsid3225273\rsid3346706\rsid3998130\rsid4197417\rsid4265300\rsid4352418\rsid4484117\rsid4611777\rsid4933710\rsid5534482\rsid6512127\rsid6759865\rsid6955063\rsid7303292\rsid7632792\rsid7959640\rsid8078116\rsid8279958\rsid9377761\rsid9460105 +\rsid9635992\rsid9658238\rsid9731339\rsid10299691\rsid10497410\rsid11167982\rsid12335516\rsid12339523\rsid12538758\rsid12653622\rsid12931539\rsid13390354\rsid13906562\rsid14187697\rsid14298549\rsid14628192\rsid14700233\rsid14892156\rsid15019625 +\rsid15220234\rsid15758779\rsid16075008\rsid16089027\rsid16215368\rsid16401238\rsid16455092\rsid16659309}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info +{\operator Tiberiu Pinzariu}{\creatim\yr2023\mo5\dy24\hr14\min10}{\revtim\yr2023\mo10\dy20\hr13\min53}{\version50}{\edmins51}{\nofpages28}{\nofwords12773}{\nofchars72811}{\nofcharsws85414}{\vern79}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office +/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120 \dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot1784394 \nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1 \pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5 @@ -95,28 +97,28 @@ om%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0 003100370039003400370035003200300031003200300035003100310025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a005100 49006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0068004d003400530045004300520058 006c004900330059003300620068005700640030006e00370061005600460045005300380070005900660045003300740066006400690049006600620053007300640049006f002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006b -005b00007000000072360000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apach\hich\af4\dbch\af31505\loch\f4 e.org/licenses/LICENSE-2.0}}}\sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 -\hich\af4\dbch\af31505\loch\f4 -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for -\hich\af4\dbch\af31505\loch\f4 the specific language governing permissions and limitations under the License.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 +005b000070000000723600000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apac\hich\af4\dbch\af31505\loch\f4 he.org/licenses/LICENSE-2.0}}} +\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License fo +\hich\af4\dbch\af31505\loch\f4 r the specific language governing permissions and limitations under the License.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \par }{\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\f40\fs20\lang2057\langfe2052\langnp2057\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sb240\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Privacy \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 To learn more about Autodesk\hich\f4 \rquote \loch\f4 s online and offline privacy practices, please see the }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "http://www.autodesk.com/company/legal-notices-trademarks/privacy-stateme\hich\af4\dbch\af31505\loch\f4 nt"}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield +HYPERLINK "http://www.autodesk.com/company/legal-notices-trademarks/privacy-statem\hich\af4\dbch\af31505\loch\f4 ent"}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bae00000068007400740070003a002f002f007700770077002e006100750074006f006400650073006b002e0063006f006d002f0063006f006d00700061006e0079002f006c006500670061006c002d006e006f007400 -69006300650073002d00740072006100640065006d00610072006b0073002f0070007200690076006100630079002d00730074006100740065006d0065006e0074000000795881f43b1d7f48af2c825dc485276300000000a5ab000300590073002000000000006d0000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 +69006300650073002d00740072006100640065006d00610072006b0073002f0070007200690076006100630079002d00730074006100740065006d0065006e0074000000795881f43b1d7f48af2c825dc485276300000000a5ab000300590073002000000000006d00000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Autodesk Privacy Statement}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 .}{\rtlch\fcs1 \af40\afs16 \ltrch\fcs0 \f40\fs16\lang2057\langfe2052\langnp2057\insrsid9658238 \par \par }\pard \ltrpar\ql \li0\ri0\sb240\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Autodesk Trademarks \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The trademarks on the }{\field{\*\fldinst {\rtlch\fcs1 -\af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://www.aut\hich\af4\dbch\af31505\loch\f4 odesk.com/company/legal-notices-trademarks/intellectual-property/trademarks"}{ +\af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://www.au\hich\af4\dbch\af31505\loch\f4 todesk.com/company/legal-notices-trademarks/intellectual-property/trademarks"}{ \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bce000000680074007400700073003a002f002f007700770077002e006100750074006f006400650073006b002e0063006f006d002f0063006f006d00700061006e0079002f006c006500670061006c002d006e006f00 740069006300650073002d00740072006100640065006d00610072006b0073002f0069006e00740065006c006c00650063007400750061006c002d00700072006f00700065007200740079002f00740072006100640065006d00610072006b0073000000795881f43b1d7f48af2c825dc485276300000000a5ab0003007300 -6f00750000000001650000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Autodesk Trademarks page}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 +6f007500000000016500000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Autodesk Trademarks page}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. \par @@ -129,21 +131,23 @@ This Product or Service may incorporate or use background Autodesk online and de \hich\af4\dbch\af31505\loch\f4 ks/autodesk-cloud-platform-components"}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bd2000000680074007400700073003a002f002f007700770077002e006100750074006f006400650073006b002e0063006f006d002f0063006f006d00700061006e0079002f006c006500670061006c002d006e006f00 740069006300650073002d00740072006100640065006d00610072006b0073002f006100750074006f006400650073006b002d0063006c006f00750064002d0070006c006100740066006f0072006d002d0063006f006d0070006f006e0065006e00740073000000795881f43b1d7f48af2c825dc485276300000000a5ab00 -0300461a34ff6d01340000004e0061}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Autodesk Cloud Platform Components}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { -\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f0\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -and }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERL\hich\af4\dbch\af31505\loch\f4 -INK "https://www.autodesk.com/company/legal-notices-trademarks/autodesk-desktop-platform-components"}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield +0300461a34ff6d01340000004e00610000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Autodesk Cloud Platform Components}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj +{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f0\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +and }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPER\hich\af4\dbch\af31505\loch\f4 +LINK "https://www.autodesk.com/company/legal-notices-trademarks/autodesk-desktop-platform-components"}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bd6000000680074007400700073003a002f002f007700770077002e006100750074006f006400650073006b002e0063006f006d002f0063006f006d00700061006e0079002f006c006500670061006c002d006e006f00 740069006300650073002d00740072006100640065006d00610072006b0073002f006100750074006f006400650073006b002d006400650073006b0074006f0070002d0070006c006100740066006f0072006d002d0063006f006d0070006f006e0065006e00740073000000795881f43b1d7f48af2c825dc4852763000000 -00a5ab00030073096f004f005d0000017b0069}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Autodesk Desktop Platform Components}}}\sectd \ltrsect +00a5ab00030073096f004f005d0000017b00690030}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Autodesk Desktop Platform Components}}}\sectd \ltrsect \linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 . \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\lang2057\langfe2052\langnp2057\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sb168\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -LIBG, ProtoGeometry v.2.7.0, Analytics.NET, ADP, GRegRevitAuth, AGET, IDSDK, and IDSDK Wrapper}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 - are closed source files licensed by Autodesk under the license that can be found here }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK https://github.com/DynamoDS/Dynamo/tree/master/doc/distrib/Autodesk.rtf }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\sb168\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 LIBG,\hich\af4\dbch\af31505\loch\f4 + ProtoGeometry v.2.7.0, }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid7303292\charrsid7303292 \hich\af4\dbch\af31505\loch\f4 +DynamoVisualProgramming.Analytics, CER, ADP, GRegRevitAuth, AGET, IDSDK, IDSDK Wrapper, ForgeUnits.NET, ForgeUnits.Schemas,}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +, and Autodesk.GeometryPrimitive}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 are closed source files licensed by Autodesk under the license that can be found here } +{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://github.com/DynamoDS/Dynamo/tree/ma\hich\af4\dbch\af31505\loch\f4 ster/doc/distrib/Autodesk.rtf }{ +\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90ba8000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f00440079006e0061006d006f00440053002f00440079006e0061006d006f002f0074007200650065002f006d00 -610073007400650072002f0064006f0063002f0064006900730074007200690062002f004100750074006f006400650073006b002e007200740066000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006f806ff0000071000050730061}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +610073007400650072002f0064006f0063002f0064006900730074007200690062002f004100750074006f006400650073006b002e007200740066000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006f806ff00000710000507300610065}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/DynamoDS/Dynamo/tree/master/doc/distrib/Autodesk.rtf}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\lang2057\langfe2052\langnp2057\insrsid9658238 @@ -151,13 +155,14 @@ HYPERLINK https://github.com/DynamoDS/Dynamo/tree/master/doc/distrib/Autodesk.rt \par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Third-Party Trademarks, Software Credits and Attributions \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\lang2057\langfe2052\langnp2057\insrsid9658238 \par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Greg v.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af0\dbch\af31505\loch\f0 }{ -\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 2.3.0.1646: +\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid6512127\charrsid6512127 \hich\af4\dbch\af31505\loch\f4 v.2.5.0.5076}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 +\hich\af4\dbch\af31505\loch\f4 : \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 (The MIT License) \par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2013 Peter Boyer }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \f0\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af0\dbch\af31505\loch\f0 HYPERLINK "mailto:peter.boyer@autodesk.com" }{ \rtlch\fcs1 \af0 \ltrch\fcs0 \f0\ul\cf26\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b580000006d00610069006c0074006f003a00700065007400650072002e0062006f0079006500720040006100750074006f006400650073006b002e0063006f006d000000795881f43b1d7f48af2c825dc48527630000 -0000a5ab00030073006100000046000000700069}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 peter.boyer@autodesk.com}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { -\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +0000a5ab000300730061000000460000007000690035}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 peter.boyer@autodesk.com}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj +{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, \hich\af4\dbch\af31505\loch\f4 m\hich\af4\dbch\af31505\loch\f4 erge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par @@ -196,12 +201,12 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit 003100370039003400370035003200300034003100390032003000300025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a005100 49006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0068007600520034006d005900670056 0068004d005000700051006800340075004c0043004a00330050005900390059007700720038006d004d0030007600710058004600390038006100630038006d005000580041002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030075 -000010e436ad00f8006c4569}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/JamesNK/Newtonsoft.Json}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { -\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 +000010e436ad00f8006c45690066}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/JamesNK/Newtonsoft.Json}}}\sectd \ltrsect +\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FJamesNK%2FNewtonsoft.Json%2Fblob%2Fmaster%2FLICENSE.md&data=04%7C01%7CJames.Conner%40autod\hich\af4\dbch\af31505\loch\f4 -esk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520429148%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=OuX0yvu%2F0kVS7X5KARjQ3p9Ycg8qvk67fFAaKNEWxb -\hich\af4\dbch\af31505\loch\f4 M\hich\af4\dbch\af31505\loch\f4 %3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FJamesNK%2FNewtonsoft.Json%2Fblob%2Fmaster%2FLICENSE.md&data=04%7C01%7CJames.Conner%40auto\hich\af4\dbch\af31505\loch\f4 +desk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520429148%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=OuX0yvu%2F0kVS7X5KARjQ3p9Ycg8qvk67fFAaKNEWx +\hich\af4\dbch\af31505\loch\f4 b\hich\af4\dbch\af31505\loch\f4 M%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b88030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d002500320046004a0061006d00650073004e004b002500320046004e006500770074006f006e0073006f00660074002e004a0073006f006e0025 003200460062006c006f0062002500320046006d00610073007400650072002500320046004c004900430045004e00530045002e006d006400260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f00 @@ -209,7 +214,7 @@ esk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C 00650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300034003200390031003400380025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a00 73006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a0058005600430049 0036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d004f0075005800300079007600750025003200460030006b00560053003700580035004b00410052006a0051003300700039005900630067003800710076006b003600370066004600410061004b004e0045005700 -780062004d002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030064002c002e00790000005c1668}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +780062004d002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030064002c002e00790000005c16687b22}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) @@ -238,21 +243,22 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. 003100370039003400370035003200300034003700380039003400370025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a005100 49006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0066006f0055006f0044005500500079 00790038004f007200300072006b004e004a0074006c004c006a0049003900580066004a004f003700670065006d004f004c0046006e0075004b0049006b0066006c00480055002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030e49 -6354000048740000006d3d69}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { -\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 +6354000048740000006d3d69002d}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect +\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang2057\langfe2052\langnp2057\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 \hich\f4 Copyright \'a9\loch\f4 2021 Alexe Zimarev \par -\par \hich\af4\dbch\af31505\loch\f4 Licensed under\hich\af4\dbch\af31505\loch\f4 the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at }{\field{\*\fldinst { +\par \hich\af4\dbch\af31505\loch\f4 Licensed unde\hich\af4\dbch\af31505\loch\f4 r the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at }{\field{\*\fldinst { \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang2057\langfe2052\langnp2057\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f004c004900430045004e00530045002d0032002e00 -30000000795881f43b1d7f48af2c825dc485276300000000a5ab0003126e000000220074000000c71220}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +30000000795881f43b1d7f48af2c825dc485276300000000a5ab0003126e000000220074000000c712200033}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 - Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITH\hich\af4\dbch\af31505\loch\f4 -OUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, W\hich\af4\dbch\af31505\loch\f4 +ITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\lang2057\langfe2052\langnp2057\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\kerning1\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -System.Collections.Immutable v.1.4.0: +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\kerning1\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 System.Collections.Immutable +}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang2057\langfe2052\kerning1\langnp2057\insrsid8078116\charrsid8078116 \hich\af4\dbch\af31505\loch\f4 v.5.0.0}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 +\b\fs22\cf25\lang2057\langfe2052\kerning1\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 : \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang2057\langfe2052\langnp2057\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2017 .NET Foundation and Contributors \par \hich\af4\dbch\af31505\loch\f4 All rights reserved. \par @@ -278,7 +284,8 @@ ERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVEN S OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF O \hich\af4\dbch\af31505\loch\f4 R\hich\af4\dbch\af31505\loch\f4 IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Cyotek.Drawing.BitmapFont v.1.3.4: +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Cyotek.Drawing.BitmapFont }{\rtlch\fcs1 \ab\af4\afs22 +\ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid6955063\charrsid6955063 \hich\af4\dbch\af31505\loch\f4 v.2.0.0}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 : \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLI\hich\af4\dbch\af31505\loch\f4 NK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcyotek%2FCyotek.Drawing.BitmapFont&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C63761794752016 0\hich\af4\dbch\af31505\loch\f4 343%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=kvdO%2FPPgz3PuASG6zv93DwNJ4gPkL6T6islWBwoI9Xk%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 @@ -290,12 +297,12 @@ NK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com 004300300025003700430036003300370036003100370039003400370035003200300031003600300033003400330025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a004100 77004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061 003d006b00760064004f002500320046005000500067007a0033005000750041005300470036007a00760039003300440077004e004a003400670050006b004c00360054003600690073006c005700420077006f004900390058006b002500330044002600720065007300650072007600650064003d0030000000795881f4 -3b1d7f48af2c825dc485276300000000a5ab00030053002000000000000000c41f6d}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/cyotek/Cyotek.Drawing.BitmapFont}}}\sectd \ltrsect +3b1d7f48af2c825dc485276300000000a5ab00030053002000000000000000c41f6d0000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/cyotek/Cyotek.Drawing.BitmapFont}}}\sectd \ltrsect \linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcyotek%2FCyotek.Drawing.BitmapFont%2Fblob%2Fmaster%2FLICENSE.txt&data=04%7C01%7CJames.Conner%40autodesk.com%7Cd\hich\af4\dbch\af31505\loch\f4 -aecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520170297%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=WjEf%2FyE1koklbovxfFzHrScckILOiAOQlGkhPLaZ%2FL8%3D&rese -\hich\af4\dbch\af31505\loch\f4 r\hich\af4\dbch\af31505\loch\f4 ved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection\hich\af4\dbch\af31505\loch\f4 +.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcyotek%2FCyotek.Drawing.BitmapFont%2Fblob%2Fmaster%2FLICENSE.txt&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520170297%7CU +\hich\af4\dbch\af31505\loch\f4 n\hich\af4\dbch\af31505\loch\f4 known%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=WjEf%2FyE1koklbovxfFzHrScckILOiAOQlGkhPLaZ%2FL8%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90ba0030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d00250032004600630079006f00740065006b00250032004600430079006f00740065006b002e00440072006100770069006e0067002e00420069 0074006d006100700046006f006e00740025003200460062006c006f0062002500320046006d00610073007400650072002500320046004c004900430045004e00530045002e00740078007400260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e00 @@ -303,26 +310,31 @@ aecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637 003700660039003100340034003300330061003800650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300031003700300032003900370025003700430055006e006b006e006f0077006e00 2500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061 005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0057006a00450066002500320046007900450031006b006f006b006c0062006f0076007800660046007a00480072005300630063006b0049004c004f0069004100 -4f0051006c0047006b00680050004c0061005a002500320046004c0038002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030073000000000000000000690000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/cyotek/Cyotek.Drawing.BitmapFont/blob/master/LICENSE.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +4f0051006c0047006b00680050004c0061005a002500320046004c0038002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab000300730000000000000000006900000001}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/cyotek/Cyotek.Drawing.BitmapFont/blob/master/LICENSE.tx\hich\af4\dbch\af31505\loch\f4 t}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) \par \hich\af4\dbch\af31505\loch\f4 \hich\f4 Copyright \'a9\loch\f4 2012-2021 Cyotek Ltd. \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software a\hich\af4\dbch\af31505\loch\f4 -nd associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit person -\hich\af4\dbch\af31505\loch\f4 s\hich\af4\dbch\af31505\loch\f4 to whom the Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, m +\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 rge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all\hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WAR\hich\af4\dbch\af31505\loch\f4 -RANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABI -\hich\af4\dbch\af31505\loch\f4 L\hich\af4\dbch\af31505\loch\f4 ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN N +\hich\af4\dbch\af31505\loch\f4 +O EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Helix Toolkit v.2.11.0: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A\hich\af4\dbch\af31505\loch\f4 -%2F%2Fgithub.com%2Fhelix-toolkit%2Fhelix-toolkit&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520210113%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB -\hich\af4\dbch\af31505\loch\f4 T\hich\af4\dbch\af31505\loch\f4 iI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=dfWqblB8VdDL63AyawNfgrFG2TD08PCrheqsu%2B7K0Us%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6759865 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid6759865\charrsid6759865 \hich\af4\dbch\af31505\loch\f4 Helix Toolkit v.2.24.0: +\par \hich\af4\dbch\af31505\loch\f4 HelixToolkit.Core.Wpf v.2.24.0: +\par \hich\af4\dbch\af31505\loch\f4 HelixToolkit.SharpDX.Core v.2.24.0: +\par \hich\af4\dbch\af31505\loch\f4 HelixT\hich\af4\dbch\af31505\loch\f4 oolkit.SharpDX.Core.Wpf v.2.24.0:}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid6759865 +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhelix-toolkit%2Fhelix-toolkit&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d +\hich\af4\dbch\af31505\loch\f4 %7C0%7C0%7C637617947520210113%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=dfWqblB8VdDL63AyawNfgrFG2TD08PCrheqsu%2B7K0Us%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b56030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d00250032004600680065006c00690078002d0074006f006f006c006b0069007400250032004600680065006c00690078002d0074006f006f006c 006b0069007400260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d0025003700430064006100650063006400360035003700380031003900340034006200 @@ -330,12 +342,12 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A\hich\af4 0036003300370036003100370039003400370035003200300032003100300031003100330025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d00440041006900 4c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0064006600570071 0062006c00420038005600640044004c003600330041007900610077004e0066006700720046004700320054004400300038005000430072006800650071007300750025003200420037004b003000550073002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485 -276300000000a5ab0003000000330000f22e000064640050}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/helix-toolkit/helix-toolkit}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { +276300000000a5ab0003000000330000f22e000064640050000b}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/helix-toolkit/helix-toolkit}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhelix-toolkit%2Fhelix-toolkit%2Fblob -\hich\af4\dbch\af31505\loch\f4 -%2Fdevelop%2FLICENSE&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520210113%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7 -\hich\af4\dbch\af31505\loch\f4 C\hich\af4\dbch\af31505\loch\f4 1000&sdata=qUPlp6EXAxHOk9eACY7DopacUlVCn355KLenUznV%2Ft0%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safe\hich\af4\dbch\af31505\loch\f4 +links.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhelix-toolkit%2Fhelix-toolkit%2Fblob%2Fdevelop%2FLICENSE&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C63761794752021 +0\hich\af4\dbch\af31505\loch\f4 113%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=qUPlp6EXAxHOk9eACY7DopacUlVCn355KLenUznV%2Ft0%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b8c030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d00250032004600680065006c00690078002d0074006f006f006c006b0069007400250032004600680065006c00690078002d0074006f006f006c 006b006900740025003200460062006c006f00620025003200460064006500760065006c006f0070002500320046004c004900430045004e0053004500260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e006500720025003400300061007500 @@ -343,26 +355,32 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A\hich\af4 0061003800650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300032003100300031003100330025003700430055006e006b006e006f0077006e0025003700430054005700460070006200 47005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056 004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d007100550050006c0070003600450058004100780048004f006b0039006500410043005900370044006f0070006100630055006c00560043006e003300350035004b004c0065006e0055007a006e005600 -250032004600740030002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003005365d400000000000000500061}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +250032004600740030002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003005365d40000000000000050006100a8}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/helix-toolkit/helix-toolkit/blob/develop/LICENSE}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT\hich\af4\dbch\af31505\loch\f4 License (MIT) \par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2019 Helix Toolkit contributors \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of\hich\af4\dbch\af31505\loch\f4 - charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense -,\hich\af4\dbch\af31505\loch\f4 and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, in +\hich\af4\dbch\af31505\loch\f4 +cluding without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of th\hich\af4\dbch\af31505\loch\f4 e Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyri\hich\af4\dbch\af31505\loch\f4 ght notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGH -\hich\af4\dbch\af31505\loch\f4 T HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI\hich\af4\dbch\af31505\loch\f4 +TY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WI +\hich\af4\dbch\af31505\loch\f4 T\hich\af4\dbch\af31505\loch\f4 H THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 SharpDX v.4.2.0: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://n\hich\af4\dbch\af31505\loch\f4 -am11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsharpdx%2FSharpDX%2Fblob%2Fmaster%2FLICENSE&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520488895 -\hich\af4\dbch\af31505\loch\f4 %\hich\af4\dbch\af31505\loch\f4 7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=VOYhb2IAZGG0jx%2FwQxJ2Q9HXN2t6XKVVP6AiBEdD%2F3E%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid8279958 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid8279958\charrsid8279958 \hich\af4\dbch\af31505\loch\f4 SharpDX v.4.2.0: +\par \hich\af4\dbch\af31505\loch\f4 SharpDX.D3DCompiler v.4.2.0: +\par \hich\af4\dbch\af31505\loch\f4 SharpDX.Direct2D1 v.4.2.0: +\par \hich\af4\dbch\af31505\loch\f4 SharpDX.Direct3D11 v.4.2.0: +\par \hich\af4\dbch\af31505\loch\f4 SharpDX.Direct3D9 v.4.2.0: +\par \hich\af4\dbch\af31505\loch\f4 SharpDX.DXGI v.4.2.0: +\par \hich\af4\dbch\af31505\loch\f4 SharpDX.Mathematics v.4.2.0}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 : +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsharpdx%2FSharpDX%2Fblob%2Fmaster%2FLICENSE&data=04%7C01%7CJames.Conner%40autodesk.com%\hich\af4\dbch\af31505\loch\f4 +7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520488895%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=VOYhb2IAZGG0jx%2FwQxJ2Q9HXN2t6XKVVP6AiBEdD%2F3E%3D&r +\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 served=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b76030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d002500320046007300680061007200700064007800250032004600530068006100720070004400580025003200460062006c006f006200250032 0046006d00610073007400650072002500320046004c004900430045004e0053004500260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d00250037004300 @@ -370,19 +388,19 @@ am11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsharpdx%2F 006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300034003800380038003900350025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a00 6f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031 003000300030002600730064006100740061003d0056004f005900680062003200490041005a004700470030006a0078002500320046007700510078004a00320051003900480058004e0032007400360058004b00560056005000360041006900420045006400440025003200460033004500250033004400260072006500 -7300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003002d00000000240000ff00320076}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +7300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003002d00000000240000ff003200760000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/sharpdx/SharpDX/blob/master/LICENSE}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2010-2014 SharpDX - \hich\af4\dbch\af31505\loch\f4 Alexandre Mutel +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2010-2014 SharpDX - Alexandre Mutel \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\hich\af4\dbch\af31505\loch\f4 - documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the -\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Softw\hich\af4\dbch\af31505\loch\f4 +are"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 subject to the following conditions: \par \par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY \hich\af4\dbch\af31505\loch\f4 -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES \hich\af4\dbch\af31505\loch\f4 +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +\hich\af4\dbch\af31505\loch\f4 I\hich\af4\dbch\af31505\loch\f4 N CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid14628192 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid14628192\charrsid14628192 \hich\af4\dbch\af31505\loch\f4 @@ -392,22 +410,22 @@ ICSharpCode.AvalonEdit v.6.3.0.90: \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid14628192\charrsid14628192 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14628192\charrsid14628192 \hich\af4\dbch\af31505\loch\f4 MIT License \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without l -\hich\af4\dbch\af31505\loch\f4 imitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - +\par \hich\af4\dbch\af31505\loch\f4 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, m +\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 rge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and th\hich\af4\dbch\af31505\loch\f4 is permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice (including the next para\hich\af4\dbch\af31505\loch\f4 graph) shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\hich\af4\dbch\af31505\loch\f4 - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238\charrsid14628192 +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PU\hich\af4\dbch\af31505\loch\f4 +RPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR O +\hich\af4\dbch\af31505\loch\f4 T\hich\af4\dbch\af31505\loch\f4 HER DEALINGS IN THE SOFTWARE}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238\charrsid14628192 \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid14628192 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Google OpenSans: \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 OpenSans font from Google -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.google.com%2Ffonts%2Fspecimen%2FOpen%2BSans&data=04%7C01%7 -\hich\af4\dbch\af31505\loch\f4 -CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520439110%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=uwmtTlbBUjq%2B1z%2FvJsb -\hich\af4\dbch\af31505\loch\f4 9\hich\af4\dbch\af31505\loch\f4 jSJ7i6M8hIMll1qnznB0mDw%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.google.com%2Ffonts%2Fspecimen%2FOpen%2BSans&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b\hich\af4\dbch\af31505\loch\f4 +855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520439110%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=uwmtTlbBUjq%2B1z%2FvJsb9jSJ7i6M8hIMll1qnznB0mDw%3D&reserved=0" }{ +\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b62030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d0068007400740070002500330041002500320046002500320046007700770077002e0067006f006f0067006c0065002e0063006f006d0025003200460066006f006e0074007300250032004600730070006500630069006d0065006e002500320046004f00700065006e 00250032004200530061006e007300260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d002500370043006400610065006300640036003500370038003100 @@ -415,12 +433,12 @@ CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f9144 00300025003700430036003300370036003100370039003400370035003200300034003300390031003100300025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a0041007700 4d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d 00750077006d00740054006c006200420055006a00710025003200420031007a0025003200460076004a007300620039006a0053004a003700690036004d003800680049004d006c006c00310071006e007a006e00420030006d00440077002500330044002600720065007300650072007600650064003d00300000007958 -81f43b1d7f48af2c825dc485276300000000a5ab000300730061006e002b650000730001}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.google.com/fonts/specimen/Open+Sans}}}\sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +81f43b1d7f48af2c825dc485276300000000a5ab000300730061006e002b6500007300010076}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.google.c\hich\af4\dbch\af31505\loch\f4 +om/fonts/specimen/Open+Sans}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache.org%2Flicenses%2FLICENSE-2.0.html&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b\hich\af4\dbch\af31505\loch\f4 -855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520449066%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=u4S07VDF20%2BhKswWuPxfNxdMvEV6u6kUxVXid57TMkQ%3D&reserved=0" }{ -\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apache.org%2Flicenses%2FLICENSE-2.0.html&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c925 +\hich\af4\dbch\af31505\loch\f4 2d2ddc1d%7C0%7C0%7C637617947520449066%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=u4S07VDF20%2BhKswWuPxfNxdMvEV6u6kUxVXid57TMkQ%3D&reserved=0" }{\rtlch\fcs1 +\af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b58030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d0068007400740070002500330041002500320046002500320046007700770077002e006100700061006300680065002e006f00720067002500320046006c006900630065006e007300650073002500320046004c004900430045004e00530045002d0032002e0030002e 00680074006d006c00260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d002500370043006400610065006300640036003500370038003100390034003400 @@ -428,18 +446,17 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. 00430036003300370036003100370039003400370035003200300034003400390030003600360025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d0044004100 69004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d007500340053 00300037005600440046003200300025003200420068004b0073007700570075005000780066004e00780064004d007600450056003600750036006b005500780056005800690064003500370054004d006b0051002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825d -c485276300000000a5ab000300468069007f006c00000000004d}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0.html}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj -{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 \hich\f4 Copyright \'a9\loch\f4 [yyyy] Steve Matteson +c485276300000000a5ab000300468069007f006c00000000004d007d}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0.html}}}\sectd \ltrsect +\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 \hich\f4 Copyright \'a9\loch\f4 [yyyy] \hich\af4\dbch\af31505\loch\f4 Steve Matteson \par \par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 H\hich\af4\dbch\af31505\loch\f4 YPERLINK http://www.apache.org/licenses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield +\ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f004c004900430045004e00530045002d0032002e00 -30000000795881f43b1d7f48af2c825dc485276300000000a5ab000300740069007f01c10000003a0000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect +30000000795881f43b1d7f48af2c825dc485276300000000a5ab000300740069007f01c10000003a00000065}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect \linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f0\fs22\ul\cf26\insrsid9658238 \hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -Unless required by applicable law or a\hich\af4\dbch\af31505\loch\f4 -greed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under -\hich\af4\dbch\af31505\loch\f4 t\hich\af4\dbch\af31505\loch\f4 he License.}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f0\fs22\ul\cf26\insrsid9658238 +Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language govern +\hich\af4\dbch\af31505\loch\f4 i\hich\af4\dbch\af31505\loch\f4 ng permissions and limitations under the License.}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f0\fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 DocumentFormat.OpenXml v.2.12.3: \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) @@ -482,27 +499,27 @@ SF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 2.7.18 FOR ANY I \par \hich\af4\dbch\af31505\loch\f4 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture betw\hich\af4\dbch\af31505\loch\f4 een PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. \par -\par \hich\af4\dbch\af31505\loch\f4 8. By copying, installing or otherwise using Python 2.7.18, Licensee agrees to be bound by the terms and conditions of this License Agreement. +\par \hich\af4\dbch\af31505\loch\f4 8. By copying, installing or otherwise using Pytho\hich\af4\dbch\af31505\loch\f4 n 2.7.18, Licensee agrees to be bound by the terms and conditions of this License Agreement. \par \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 IronPython v.2.7.9 \par \hich\af4\dbch\af31505\loch\f4 DynamicLanguageRuntime v.1.2.2 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Iron Python, Dynamic Language Runtime -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11\hich\af4\dbch\af31505\loch\f4 -.safelinks.protection.outlook.com/?url=http%3A%2F%2Fironpython.net%2F&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520230026%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDA -\hich\af4\dbch\af31505\loch\f4 i\hich\af4\dbch\af31505\loch\f4 LCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=imRCR5wnzORiO%2BHcoAs4qY%2FUsg2F3%2BvpQsquG4pLPbc%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 -{\*\datafield +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fironpython.net%2F&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520230026%7CUnknown%7CTWFpbGZ +\hich\af4\dbch\af31505\loch\f4 s\hich\af4\dbch\af31505\loch\f4 b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=imRCR5wnzORiO%2BHcoAs4qY%2FUsg2F3%2BvpQsquG4pLPbc%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b2a030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d006800740074007000250033004100250032004600250032004600690072006f006e0070007900740068006f006e002e006e0065007400250032004600260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043 006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d002500370043006400610065006300640036003500370038003100390034003400620038003500350065003700380030003800640039003400360032003500310066006600360025003700430036003700620066006600 3700390065003700660039003100340034003300330061003800650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300032003300300030003200360025003700430055006e006b006e006f 0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b00 3100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0069006d00520043005200350077006e007a004f00520069004f00250032004200480063006f00410073003400710059002500320046005500730067 -003200460033002500320042007600700051007300710075004700340070004c005000620063002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030d50000095e417f40200277200b8}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 +003200460033002500320042007600700051007300710075004700340070004c005000620063002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030d50000095e417f40200277200b80000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://ironpython.net/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fopensource.org%2Flicenses%2Fapache2.0.php&data=04%7C01%7CJames.Conner%\hich\af4\dbch\af31505\loch\f4 -40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520339551%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=GqzN3ywkegHn8Xwxmkje5HuJNO7iecwBGZU3L -\hich\af4\dbch\af31505\loch\f4 O\hich\af4\dbch\af31505\loch\f4 oNIus%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fopensource.org%2Flicenses%2Fapache2.0.php&dat +\hich\af4\dbch\af31505\loch\f4 +a=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520339551%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=GqzN3ywkegHn +\hich\af4\dbch\af31505\loch\f4 8\hich\af4\dbch\af31505\loch\f4 Xwxmkje5HuJNO7iecwBGZU3LOoNIus%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4e030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d0068007400740070002500330041002500320046002500320046006f00700065006e0073006f0075007200630065002e006f00720067002500320046006c006900630065006e0073006500730025003200460061007000610063006800650032002e0030002e00700068 007000260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d002500370043006400610065006300640036003500370038003100390034003400620038003500 @@ -510,67 +527,66 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fopen 00370036003100370039003400370035003200300033003300390035003500310025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c004300 4a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d00470071007a004e00330079 0077006b006500670048006e0038005800770078006d006b006a0065003500480075004a004e004f0037006900650063007700420047005a00550033004c004f006f004e004900750073002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab -000300380074000000b0003c004d0063}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://opensource.org/licenses/apache2.0.php}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 +000300380074000000b0003c004d00631400}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://opensource.org/licenses/apache2.0.php}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 \hich\f4 Copyright \'a9\loch\f4 2018 Iron Python Community \par -\par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\hich\af4\dbch\af31505\loch\f4 }{\field{\*\fldinst { +\par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a\hich\af4\dbch\af31505\loch\f4 copy of the License at }{\field{\*\fldinst { \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f004c004900430045004e00530045002d0032002e00 -30000000795881f43b1d7f48af2c825dc485276300000000a5ab00034401006900710061006400610030}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Unless required by applicable law or\hich\af4\dbch\af31505\loch\f4 - agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations unde -\hich\af4\dbch\af31505\loch\f4 r\hich\af4\dbch\af31505\loch\f4 the License. +30000000795881f43b1d7f48af2c825dc485276300000000a5ab000344010069007100610064006100300000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect +\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Unless requ\hich\af4\dbch\af31505\loch\f4 +ired by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permiss +\hich\af4\dbch\af31505\loch\f4 i\hich\af4\dbch\af31505\loch\f4 ons and limitations under the License. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Python.Runtime.NETStandard v.3.7.0: \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2006-2021 the contributors of the Python.NET project \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "So\hich\af4\dbch\af31505\loch\f4 -ftware"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do -\hich\af4\dbch\af31505\loch\f4 s\hich\af4\dbch\af31505\loch\f4 o, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated doc\hich\af4\dbch\af31505\loch\f4 +umentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Sof +\hich\af4\dbch\af31505\loch\f4 t\hich\af4\dbch\af31505\loch\f4 ware is furnished to do so, subject to the following conditions: \par \par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INC\hich\af4\dbch\af31505\loch\f4 -LUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TOR -\hich\af4\dbch\af31505\loch\f4 T\hich\af4\dbch\af31505\loch\f4 OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND\hich\af4\dbch\af31505\loch\f4 +, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN A +\hich\af4\dbch\af31505\loch\f4 N\hich\af4\dbch\af31505\loch\f4 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Python.Included v.3.7.3.4 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 PSF LICENSE AGREEMENT FOR PYTHON 3.10.4 \par -\par \hich\af4\dbch\af31505\loch\f4 1. This LICENSE AGREEMENT is between the Python Software Foundation ("P\hich\af4\dbch\af31505\loch\f4 -SF"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 3.7.3.4 software in source or binary form and its associated documentation. +\par \hich\af4\dbch\af31505\loch\f4 1. This LICENSE AGREEMENT is between the Pytho\hich\af4\dbch\af31505\loch\f4 +n Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 3.7.3.4 software in source or binary form and its associated documentation. \par -\par \hich\af4\dbch\af31505\loch\f4 2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Lice\hich\af4\dbch\af31505\loch\f4 -nsee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 3.7.3.4 alone or in any derivative version, provided, however, that PSF's Li -\hich\af4\dbch\af31505\loch\f4 c\hich\af4\dbch\af31505\loch\f4 \hich\f4 ense Agreement and PSF's notice of copyright, i.e., "Copyright \'a9\loch\f4 +\par \hich\af4\dbch\af31505\loch\f4 2. Subject to the terms and conditions of this License Agreemen\hich\af4\dbch\af31505\loch\f4 +t, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 3.7.3.4 alone or in any derivative version, provide +\hich\af4\dbch\af31505\loch\f4 d\hich\af4\dbch\af31505\loch\f4 \hich\f4 , however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright \'a9\loch\f4 2001-2022 Python Software Foundation; All Rights Reserved" are retained in Python 3.7.3.4 alone or in any derivative version prepared by Licensee. \par -\par \hich\af4\dbch\af31505\loch\f4 3. In the event Licensee prepares a derivat\hich\af4\dbch\af31505\loch\f4 -ive work that is based on or incorporates Python 3.7.3.4 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Pyth -\hich\af4\dbch\af31505\loch\f4 o\hich\af4\dbch\af31505\loch\f4 n 3.7.3.4. +\par \hich\af4\dbch\af31505\loch\f4 3. In the event Li\hich\af4\dbch\af31505\loch\f4 +censee prepares a derivative work that is based on or incorporates Python 3.7.3.4 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of +\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 the changes made to Python 3.7.3.4. \par \par \hich\af4\dbch\af31505\loch\f4 4. PSF is making Python 3.7.3.4 available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid15220234 -\hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY -\hich\af4\dbch\af31505\loch\f4 OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 3.7.3.4 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. +\hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 EXAMPLE, BUT NOT LIM\hich\af4\dbch\af31505\loch\f4 +ITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 3.7.3.4 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. \par -\par \hich\af4\dbch\af31505\loch\f4 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 3.7.3.4 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS \hich\af4\dbch\af31505\loch\f4 -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 3.7.3.4, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. +\par \hich\af4\dbch\af31505\loch\f4 +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 3.7.3.4 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 3.7.3.4, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED +\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 OF THE POSSIBILITY THEREOF. \par \par \hich\af4\dbch\af31505\loch\f4 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. \par -\par \hich\af4\dbch\af31505\loch\f4 7. N\hich\af4\dbch\af31505\loch\f4 -othing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to end -\hich\af4\dbch\af31505\loch\f4 o\hich\af4\dbch\af31505\loch\f4 rse or promote products or services of Licensee, or any third party. +\par \hich\af4\dbch\af31505\loch\f4 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint ventur\hich\af4\dbch\af31505\loch\f4 +e between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. \par -\par \hich\af4\dbch\af31505\loch\f4 8. By copying, installing or otherwise using Python 3.7.3.4, Licensee agrees to be bound by the terms and conditions of this License Agreement. +\par \hich\af4\dbch\af31505\loch\f4 8. By copying, installing or otherwise using \hich\af4\dbch\af31505\loch\f4 Python 3.7.3.4, Licensee agrees to be bound by the terms and conditions of this License Agreement. \par \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 IPython (autoreload.py) v.7.24.1: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLI\hich\af4\dbch\af31505\loch\f4 -NK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fipython%2Fipython%2Fblob%2Fmaster%2FIPython%2Fextensions%2Fautoreload.py&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e -\hich\af4\dbch\af31505\loch\f4 5\hich\af4\dbch\af31505\loch\f4 -c9252d2ddc1d%7C0%7C0%7C637617947520359465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7AtWEHhH3h2E0eDlvyhqM0OyREJugNDsYai4S5egwXc%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fipython%2Fipython%2Fblob%2Fmaste\hich\af4\dbch\af31505\loch\f4 +r%2FIPython%2Fextensions%2Fautoreload.py&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520359465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1h +\hich\af4\dbch\af31505\loch\f4 a\hich\af4\dbch\af31505\loch\f4 WwiLCJXVCI6Mn0%3D%7C1000&sdata=7AtWEHhH3h2E0eDlvyhqM0OyREJugNDsYai4S5egwXc%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90ba8030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d00250032004600690070007900740068006f006e00250032004600690070007900740068006f006e0025003200460062006c006f006200250032 0046006d0061007300740065007200250032004600490050007900740068006f006e0025003200460065007800740065006e00730069006f006e0073002500320046006100750074006f00720065006c006f00610064002e0070007900260064006100740061003d0030003400250037004300300031002500370043004a00 @@ -578,13 +594,13 @@ c9252d2ddc1d%7C0%7C0%7C637617947520359465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLj 00360037006200660066003700390065003700660039003100340034003300330061003800650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300033003500390034003600350025003700 430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a00420054 0069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d003700410074005700450048006800480033006800320045003000650044006c0076007900680071004d0030004f007900 -520045004a00750067004e0044007300590061006900340053003500650067007700580063002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00035444650000200000009a0044005b}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/ipython/ip\hich\af4\dbch\af31505\loch\f4 ython/blob/master/IPython/extensions/autoreload.py}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fipython%2Fipython%2Fblob%2Fmaster%2FLICENSE&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d\hich\af4\dbch\af31505\loch\f4 -946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520359465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Pilk0qSjYqpb4gwsh9CFaG42mk5wngBXOSykgiBj1EQ%3D&reserved=0" }{\rtlch\fcs1 -\af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +520045004a00750067004e0044007300590061006900340053003500650067007700580063002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00035444650000200000009a0044005b0001}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/ipython/ipython/blob/master/IPython/extensions/autoreload.py}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\insrsid9658238 +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?ur\hich\af4\dbch\af31505\loch\f4 +l=https%3A%2F%2Fgithub.com%2Fipython%2Fipython%2Fblob%2Fmaster%2FLICENSE&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520359465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAw +\hich\af4\dbch\af31505\loch\f4 M\hich\af4\dbch\af31505\loch\f4 DAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Pilk0qSjYqpb4gwsh9CFaG42mk5wngBXOSykgiBj1EQ%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 +{\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d00250032004600690070007900740068006f006e00250032004600690070007900740068006f006e0025003200460062006c006f006200250032 0046006d00610073007400650072002500320046004c004900430045004e0053004500260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d00250037004300 @@ -592,31 +608,31 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit 006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300033003500390034003600350025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a00 6f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031 003000300030002600730064006100740061003d00500069006c006b003000710053006a0059007100700062003400670077007300680039004300460061004700340032006d006b00350077006e006700420058004f00530079006b006700690042006a003100450051002500330044002600720065007300650072007600 -650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003124300380022006300000052006c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/ipython -\hich\af4\dbch\af31505\loch\f4 /ipython/blob/master/LICENSE}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003124300380022006300000052006c00ba}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +https://github.com/ipython/ipython/blob/master/LICENSE}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 BSD 3-Clause License \par \hich\af4\dbch\af31505\loch\f4 - Copyright (c) 2008-Present, IPython Development Team -\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 - Copyright (c) 2001-2007, Fernando Perez +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 - Copyr\hich\af4\dbch\af31505\loch\f4 ight (c) 2001-2007, Fernando Perez \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 - Copyright (c) 2001, Janko Hauser \par \hich\af4\dbch\af31505\loch\f4 - Copyright (c) 2001, Nathaniel Gray \par \hich\af4\dbch\af31505\loch\f4 All rights reserved. \par -\par \hich\af4\dbch\af31505\loch\f4 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the followin\hich\af4\dbch\af31505\loch\f4 g conditions are met: +\par \hich\af4\dbch\af31505\loch\f4 Redistribution and use in source and binary forms, with \hich\af4\dbch\af31505\loch\f4 or without modification, are permitted provided that the following conditions are met: \par \par \hich\af4\dbch\af31505\loch\f4 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -\par \hich\af4\dbch\af31505\loch\f4 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and th\hich\af4\dbch\af31505\loch\f4 -e following disclaimer in the documentation and/or other materials provided with the distribution. -\par \hich\af4\dbch\af31505\loch\f4 * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without sp\hich\af4\dbch\af31505\loch\f4 ecific prior written permission. +\par \hich\af4\dbch\af31505\loch\f4 * Redistributions in binary form must rep\hich\af4\dbch\af31505\loch\f4 +roduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +\par \hich\af4\dbch\af31505\loch\f4 * Neither the name of the copyright holder nor the names of its contributors may be used to \hich\af4\dbch\af31505\loch\f4 endorse or promote products derived from this software without specific prior written permission. \par -\par \hich\af4\dbch\af31505\loch\f4 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPO -\hich\af4\dbch\af31505\loch\f4 -SE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE -,\hich\af4\dbch\af31505\loch\f4 - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSI -\hich\af4\dbch\af31505\loch\f4 B\hich\af4\dbch\af31505\loch\f4 ILITY OF SUCH DAMAGE. +\par \hich\af4\dbch\af31505\loch\f4 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\hich\af4\dbch\af31505\loch\f4 + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIM +\hich\af4\dbch\af31505\loch\f4 I\hich\af4\dbch\af31505\loch\f4 +TED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +\hich\af4\dbch\af31505\loch\f4 W\hich\af4\dbch\af31505\loch\f4 AY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Nunit v.2.6.3 +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Nunit }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 +\b\fs22\cf25\kerning1\insrsid12339523\charrsid12339523 \hich\af4\dbch\af31505\loch\f4 v.3.13.3}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.nunit.org%2F&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520429148%7CUnknown%7CTWFpbGZs \hich\af4\dbch\af31505\loch\f4 b\hich\af4\dbch\af31505\loch\f4 3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=BUfNk%2Flw%2BcIf69w2%2FUf0Rq%2FiDdxtlm4UOrklWu1jBco%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 @@ -627,50 +643,50 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. 390065003700660039003100340034003300330061003800650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300034003200390031003400380025003700430055006e006b006e006f0077 006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100 680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d004200550066004e006b002500320046006c0077002500320042006300490066003600390077003200250032004600550066003000520071002500320046 -00690044006400780074006c006d00340055004f0072006b006c005700750031006a00420063006f002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000004e0020002c009a01720074}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.nunit.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +00690044006400780074006c006d00340055004f0072006b006c005700750031006a00420063006f002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000004e0020002c009a017200740000}}}{\fldrslt {\rtlch\fcs1 +\af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.nunit.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 \hich\f4 Copyright \'a9\loch\f4 2002-2013 Charlie Poole\line \hich\f4 Copyright \'a9\loch\f4 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov -\line Copyright \loch\af4\dbch\af31505\hich\f4 \'a9\loch\f4 2000-2002 Philip A. Craig +\line Copyright\hich\af4\dbch\af31505\loch\f4 \hich\f4 \'a9\loch\f4 2000-2002 Philip A. Craig \par \par \hich\af4\dbch\af31505\loch\f4 This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -\par \hich\af4\dbch\af31505\loch\f4 Permission is granted to anyone to use this software\hich\af4\dbch\af31505\loch\f4 for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is granted to anyone to use this softwar\hich\af4\dbch\af31505\loch\f4 e for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: \par -\par \hich\af4\dbch\af31505\loch\f4 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If \hich\af4\dbch\af31505\loch\f4 \hich\f4 -you use this software in a product, an acknowledgment (see the following) in the product documentation is required. Portions Copyright \'a9\loch\f4 2002-2009 Charlie Poole or Copyright\~\hich\f4 \'a9\loch\f4 - 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright\~\hich\f4 \'a9\loch\f4 \hich\af4\dbch\af31505\loch\f4 2\hich\af4\dbch\af31505\loch\f4 000-2002 Philip A. Craig\~ +\par \hich\af4\dbch\af31505\loch\f4 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If\hich\af4\dbch\af31505\loch\f4 \hich\f4 + you use this software in a product, an acknowledgment (see the following) in the product documentation is required. Portions Copyright \'a9\loch\f4 2002-2009 Charlie Poole or Copyright\~\hich\f4 \'a9\loch\f4 + 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright\~\hich\f4 \'a9\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 2000-2002 Philip A. Craig\~ \par \hich\af4\dbch\af31505\loch\f4 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.\~ \par \hich\af4\dbch\af31505\loch\f4 3. This notice may not be removed or altered from any source distribution. \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \par }\pard\plain \ltrpar\s4\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel3\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License Note \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 This license is ba\hich\af4\dbch\af31505\loch\f4 sed on\~}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 This license is b\hich\af4\dbch\af31505\loch\f4 ased on\~}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://www.opensource.org/licenses/zlib-license.html" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b8200000068007400740070003a002f002f007700770077002e006f00700065006e0073006f0075007200630065002e006f00720067002f006c006900630065006e007300650073002f007a006c00690062002d006c00 -6900630065006e00730065002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006400769871016e00f800720080}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf2\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +6900630065006e00730065002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006400769871016e00f8007200800032}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf2\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 the open source zlib/libpng license}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 (}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 -\hich\af4\dbch\af31505\loch\f4 HYPERLINK http\hich\af4\dbch\af31505\loch\f4 s://opensource.org/licenses/zlib-license.html }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield +\hich\af4\dbch\af31505\loch\f4 HYPERLINK https://opensource.org/licenses/zlib-license.html }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b7c000000680074007400700073003a002f002f006f00700065006e0073006f0075007200630065002e006f00720067002f006c006900630065006e007300650073002f007a006c00690062002d006c00690063006500 -6e00730065002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0003ea6c00450000002c0000006d0000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -https://opensource.org/licenses/zlib-license.html}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ). The idea was to keep the lic\hich\af4\dbch\af31505\loch\f4 -ense as simple as possible to encourage use of NUnit in free and commercial applications and libraries, but to keep the source code together and to give credit to the NUnit contributors for their efforts. While this license allows shipping NUnit in source -\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 and binary form, if shipping a NUnit variant is the sole purpose of your product, please\~}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 +6e00730065002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0003ea6c00450000002c0000006d00000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +https://opensource.org/licenses/zlib-license.html}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ). The idea was \hich\af4\dbch\af31505\loch\f4 +to keep the license as simple as possible to encourage use of NUnit in free and commercial applications and libraries, but to keep the source code together and to give credit to the NUnit contributors for their efforts. While this license allows shipping +\hich\af4\dbch\af31505\loch\f4 N\hich\af4\dbch\af31505\loch\f4 Unit in source and binary form, if shipping a NUnit variant is the sole purpose of your product, please\~}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "mailto:cpoole@pooleconsulting.com" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5c0000006d00610069006c0074006f003a00630070006f006f006c006500400070006f006f006c00650063006f006e00730075006c00740069006e0067002e0063006f006d000000795881f43b1d7f48af2c825dc485 -276300000000a5ab0003126300650000006c0000006e1259}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf2\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 let us know}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +276300000000a5ab0003126300650000006c0000006e1259006a}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf2\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 let us know}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 (}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "mailto:cpoole@pooleconsulting.com" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5c0000006d00610069006c0074006f003a00630070006f006f006c006500400070006f006f006c00650063006f006e00730075006c00740069006e0067002e0063006f006d000000795881f43b1d7f48af2c825dc485 -276300000000a5ab0003006e00040000006e000070680059}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf2\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 cpoole@pooleconsulting.com}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ). +276300000000a5ab0003006e00040000006e00007068005900fc}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf2\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 cpoole@pooleconsulting.com}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 +\af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ). \par \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang3082\langfe2052\kerning1\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Moq v.4.18.4: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.saf \hich\af4\dbch\af31505\loch\f4 -protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmoq%2Fmoq4%2Fblob%2Fmaster%2FLicense.txt&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520409253%7CUnknown%7CTWFpb -\hich\af4\dbch\af31505\loch\f4 G\hich\af4\dbch\af31505\loch\f4 Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=H%2FwNgy%2FpMYIgd%2FFlP1IU1dbvTUCauizIJKCAU6ISQZI%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid1784394 {\*\datafield +elinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmoq%2Fmoq4%2Fblob%2Fmaster%2FLicense.txt&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520409253%7CUnknown% +\hich\af4\dbch\af31505\loch\f4 7\hich\af4\dbch\af31505\loch\f4 CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=H%2FwNgy%2FpMYIgd%2FFlP1IU1dbvTUCauizIJKCAU6ISQZI%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b74030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d002500320046006d006f0071002500320046006d006f007100340025003200460062006c006f0062002500320046006d00610073007400650072 002500320046004c006900630065006e00730065002e00740078007400260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d00250037004300640061006500 @@ -678,31 +694,32 @@ protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmoq%2Fmoq4%2Fblob%2Fmaste 002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300034003000390032003500330025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d00 4300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030 002600730064006100740061003d00480025003200460077004e006700790025003200460070004d00590049006700640025003200460046006c00500031004900550031006400620076005400550043006100750069007a0049004a004b0043004100550036004900530051005a0049002500330044002600720065007300 -650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab000300540000009700008b7348501200}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab000300540000009700008b73485012000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/moq/moq4/blob/master/License.txt/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 BSD 3-Clause License -\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2007, Clarius Cons\hich\af4\dbch\af31505\loch\f4 ulting, Manas Technology Solutions, InSTEDD, and Contributors. All rights reserved. +\par \hich\af4\dbch\af31505\loch\f4 Copyright \hich\af4\dbch\af31505\loch\f4 (c) 2007, Clarius Consulting, Manas Technology Solutions, InSTEDD, and Contributors. All rights reserved. \par \par \hich\af4\dbch\af31505\loch\f4 Redistribution and use in source and binary forms, with or without \par \hich\af4\dbch\af31505\loch\f4 modification, are permitted provided that the following conditions are met: \par -\par \hich\af4\dbch\af31505\loch\f4 * Redistributions of source\hich\af4\dbch\af31505\loch\f4 code must retain the above copyright notice, this list of conditions and the following disclaimer. -\par \hich\af4\dbch\af31505\loch\f4 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or\hich\af4\dbch\af31505\loch\f4 - other materials provided with the distribution. -\par \hich\af4\dbch\af31505\loch\f4 * Neither the names of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +\par \hich\af4\dbch\af31505\loch\f4 * Red\hich\af4\dbch\af31505\loch\f4 istributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +\par \hich\af4\dbch\af31505\loch\f4 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in th\hich\af4\dbch\af31505\loch\f4 +e documentation and/or other materials provided with the distribution. +\par \hich\af4\dbch\af31505\loch\f4 * Neither the names of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permi\hich\af4\dbch\af31505\loch\f4 ssion. + \par \par \hich\af4\dbch\af31505\loch\f4 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SH -\hich\af4\dbch\af31505\loch\f4 A\hich\af4\dbch\af31505\loch\f4 -LL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INT -\hich\af4\dbch\af31505\loch\f4 E\hich\af4\dbch\af31505\loch\f4 -RRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO E +\hich\af4\dbch\af31505\loch\f4 +VENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSI +\hich\af4\dbch\af31505\loch\f4 N\hich\af4\dbch\af31505\loch\f4 +ESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang3082\langfe2052\kerning1\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Libiconv v.1 -\hich\af4\dbch\af31505\loch\f4 .14.0.1: +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang3082\langfe2052\kerning1\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Libiconv v.1.14.0.1: \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Flibiconv%2F&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C6376179475 -\hich\af4\dbch\af31505\loch\f4 20369420%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=fyvQ8axd0727ARcscr232iqeW1sGK6FTq%2FP7s1ZtC6s%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Flibiconv%2F&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0% +\hich\af4\dbch\af31505\loch\f4 7C637617947520369420%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=fyvQ8axd0727ARcscr232iqeW1sGK6FTq%2FP7s1ZtC6s%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4a030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046007700770077002e0067006e0075002e006f007200670025003200460073006f006600740077006100720065002500320046006c0069006200690063006f006e0076002500320046002600640061 @@ -711,13 +728,12 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww 0039003400370035003200300033003600390034003200300025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a00 6f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0066007900760051003800610078006400300037 003200370041005200630073006300720032003300320069007100650057003100730047004b00360046005400710025003200460050003700730031005a0074004300360073002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003cd73 -470000711700000059610000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://www.gnu.org/software/libiconv/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { +470000711700000059610000005c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://www.gnu.org/software/libiconv/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Fgettext%2Fmanual%2Fhtml_node%2FGNU-LGPL.html%23GNU-LGPL&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a -\hich\af4\dbch\af31505\loch\f4 8\hich\af4\dbch\af31505\loch\f4 -e5c9252d2ddc1d%7C0%7C0%7C637617947520369420%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=NZT9tNyZbyPw1WOLz%2BE6ShwxQDWHBJ9uLSyHhKPHWHk%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid1784394 {\*\datafield +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook\hich\af4\dbch\af31505\loch\f4 +.com/?url=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Fgettext%2Fmanual%2Fhtml_node%2FGNU-LGPL.html%23GNU-LGPL&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520369420%7CUnknow +\hich\af4\dbch\af31505\loch\f4 n\hich\af4\dbch\af31505\loch\f4 %7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=NZT9tNyZbyPw1WOLz%2BE6ShwxQDWHBJ9uLSyHhKPHWHk%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90ba2030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046007700770077002e0067006e0075002e006f007200670025003200460073006f0066007400770061007200650025003200460067006500740074006500780074002500320046006d0061006e0075 0061006c00250032004600680074006d006c005f006e006f006400650025003200460047004e0055002d004c00470050004c002e00680074006d006c0025003200330047004e0055002d004c00470050004c00260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e00 @@ -725,20 +741,20 @@ e5c9252d2ddc1d%7C0%7C0%7C637617947520369420%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4w 003700390065003700660039003100340034003300330061003800650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300033003600390034003200300025003700430055006e006b006e00 6f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b 003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d004e005a005400390074004e0079005a006200790050007700310057004f004c007a00250032004200450036005300680077007800510044005700 -480042004a00390075004c0053007900480068004b0050004800570048006b002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00031265000000fa00000000006fff00}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://www.gnu.org/software\hich\af4\dbch\af31505\loch\f4 /gettext/manual/html_node/GNU-LGPL.html#GNU-LGPL}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { -\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 -\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \loch\af4\dbch\af31505\hich\f4 \'a9\loch\f4 1998, 2013 Free Software Foundation, Inc. +480042004a00390075004c0053007900480068004b0050004800570048006b002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00031265000000fa00000000006fff000001}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://www.gnu.org/software/gettext/manual/html_node/GNU-LGPL.html#GNU-LGPL}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \loch\af4\dbch\af31505\hich\f4 \'a9\hich\af4\dbch\af31505\loch\f4 1998, 2013 Free Software Foundation, Inc. \par \par \hich\af4\dbch\af31505\loch\f4 This Autodesk software contains libiconv v. 1.14.0.1. libiconv is licensed under the GNU Lesser General Public License v.2.1, which can be found at }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLIN\hich\af4\dbch\af31505\loch\f4 K http://www.gnu.org/licenses/oldlicenses/lgpl-2.1.txt }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield +\fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.gnu.org/licenses/oldlicenses/lgpl-2.1.tx\hich\af4\dbch\af31505\loch\f4 t }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b8200000068007400740070003a002f002f007700770077002e0067006e0075002e006f00720067002f006c006900630065006e007300650073002f006f006c0064006c006900630065006e007300650073002f006c00 -670070006c002d0032002e0031002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab0003005c00000000003300615c6500c8}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -http://www.gnu.org/licenses/oldlicenses/lgpl-2.1.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 . A text copy o\hich\af4\dbch\af31505\loch\f4 -f this license is included on the media or with the download of this Autodesk software. You may obtain a copy of the source code for libiconv from }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://www.autodesk.com/lgplsource" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +670070006c002d0032002e0031002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab0003005c00000000003300615c6500c84300}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +http://www.gnu.org/licenses/oldlicenses/lgpl-2.1.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +. A text copy of this license is included on the media or with the d\hich\af4\dbch\af31505\loch\f4 ownload of this Autodesk software. You may obtain a copy of the source code for libiconv from }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://www.autodesk.com/lgplsource" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5e00000068007400740070003a002f002f007700770077002e006100750074006f006400650073006b002e0063006f006d002f006c00670070006c0073006f0075007200630065000000795881f43b1d7f48af2c825d -c485276300000000a5ab000300492f0000020035006e00740060}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 +c485276300000000a5ab000300492f0000020035006e0074006000fc}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 or by sending a written request to: \par \par \hich\af4\dbch\af31505\loch\f4 Autodesk, Inc. @@ -748,27 +764,27 @@ c485276300000000a5ab000300492f0000020035006e00740060}}}{\fldrslt {\rtlch\fcs1 \a \par \hich\af4\dbch\af31505\loch\f4 San Rafael, CA 94903 \par \hich\af4\dbch\af31505\loch\f4 Your written request must: \par -\par \hich\af4\dbch\af31505\loch\f4 Contai\hich\af4\dbch\af31505\loch\f4 -n a self-addressed CD/DVD mailer (or envelope sufficiently large to hold a DVD) with postage sufficient to cover the amount of the current U.S. Post Office First Class postage rate for CD/DVD mailers (or the envelope you have chosen) weighing 5 ounces fr -\hich\af4\dbch\af31505\loch\f4 o\hich\af4\dbch\af31505\loch\f4 m San Rafael, California USA to your indicated address; and Identify: +\par \hich\af4\dbch\af31505\loch\f4 Contain a self-addressed CD/DVD mailer (or envelope suffic\hich\af4\dbch\af31505\loch\f4 +iently large to hold a DVD) with postage sufficient to cover the amount of the current U.S. Post Office First Class postage rate for CD/DVD mailers (or the envelope you have chosen) weighing 5 ounces from San Rafael, California USA to your indicated a +\hich\af4\dbch\af31505\loch\f4 d\hich\af4\dbch\af31505\loch\f4 dress; and Identify: \par \par \hich\af4\dbch\af31505\loch\f4 This Autodesk software name and release number; That you are requesting the source code for libiconvv .1.14.0.1; and The above URL (}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://www.autodesk.com/lgplsource" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5e00000068007400740070003a002f002f007700770077002e006100750074006f006400650073006b002e0063006f006d002f006c00670070006c0073006f0075007200630065000000795881f43b1d7f48af2c825d -c485276300000000a5ab00030069000000f00036ff63003a0000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 +c485276300000000a5ab00030069000000f00036ff63003a00000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ) so that Autodesk may properly respond to your request. The offer to receive this libiconv source code via the above URL (}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://www.autodesk.com/lgplsource" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://www.autodesk.com/lgplsour\hich\af4\dbch\af31505\loch\f4 ce" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5e00000068007400740070003a002f002f007700770077002e006100750074006f006400650073006b002e0063006f006d002f006c00670070006c0073006f0075007200630065000000795881f43b1d7f48af2c825d -c485276300000000a5ab0003006f000000000064006500001546}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 -\af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -) or by written request to Autodesk is valid for a period of three (3) years from the date you purchased your license to this Autodesk software. You may modify, debug and relink libiconv to this A\hich\af4\dbch\af31505\loch\f4 -utodesk software as provided under the terms of the GNU Lesser General Public License v.2.1. +c485276300000000a5ab0003006f0000000000640065000015460000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 +\af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ) or by written request to Autodesk is valid for a period of three (3) years from the date you purchased you\hich\af4\dbch\af31505\loch\f4 +r license to this Autodesk software. You may modify, debug and relink libiconv to this Autodesk software as provided under the terms of the GNU Lesser General Public License v.2.1. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 GNU gettext (libintl) v.0.19.8.3: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Fgettext%2F&data=04%7C01%7C\hich\af4\dbch\af31505\loch\f4 -James.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520200164%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Nf21XpKiL0wk%2Fv5o95n6NH -\hich\af4\dbch\af31505\loch\f4 U\hich\af4\dbch\af31505\loch\f4 9yBTsVWmKLfq1AJGQ1bM%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.prot +\hich\af4\dbch\af31505\loch\f4 +ection.outlook.com/?url=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Fgettext%2F&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520200164%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjA +\hich\af4\dbch\af31505\loch\f4 w\hich\af4\dbch\af31505\loch\f4 MDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Nf21XpKiL0wk%2Fv5o95n6NHU9yBTsVWmKLfq1AJGQ1bM%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 +{\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b48030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046007700770077002e0067006e0075002e006f007200670025003200460073006f00660074007700610072006500250032004600670065007400740065007800740025003200460026006400610074 0061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d00250037004300640061006500630064003600350037003800310039003400340062003800350035006500370038003000 @@ -776,12 +792,12 @@ James.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f91443 003400370035003200300032003000300031003600340025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f00 6900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d004e00660032003100580070004b0069004c00300077 006b00250032004600760035006f00390035006e0036004e004800550039007900420054007300560057006d004b004c0066007100310041004a0047005100310062004d002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab000301330b90 -00d02c582c4e00424c31}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://www.gnu.org/software/gettext/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +00d02c582c4e00424c310050}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://www.gnu.org/software/gettext/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Fgettext%2Fmanual%2Fhtml_node%2FGNU-LGPL.html%23GNU-LGPL&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdae\hich\af4\dbch\af31505\loch\f4 -cd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520210113%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=fm4crd4P%2By6SL%2F0glLKwxCwV9NjLZs7f2LAoNHfi2QE%3D&reserv -\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 d=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Fgettext%2Fman +\hich\af4\dbch\af31505\loch\f4 +ual%2Fhtml_node%2FGNU-LGPL.html%23GNU-LGPL&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520210113%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik +\hich\af4\dbch\af31505\loch\f4 1\hich\af4\dbch\af31505\loch\f4 haWwiLCJXVCI6Mn0%3D%7C1000&sdata=fm4crd4P%2By6SL%2F0glLKwxCwV9NjLZs7f2LAoNHfi2QE%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90ba6030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046007700770077002e0067006e0075002e006f007200670025003200460073006f0066007400770061007200650025003200460067006500740074006500780074002500320046006d0061006e0075 0061006c00250032004600680074006d006c005f006e006f006400650025003200460047004e0055002d004c00470050004c002e00680074006d006c0025003200330047004e0055002d004c00470050004c00260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e00 @@ -789,20 +805,21 @@ cd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C63761 003700390065003700660039003100340034003300330061003800650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300032003100300031003100330025003700430055006e006b006e00 6f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b 003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0066006d003400630072006400340050002500320042007900360053004c00250032004600300067006c004c004b00770078004300770056003900 -4e006a004c005a0073003700660032004c0041006f004e004800660069003200510045002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030242000000fa000000fb0043005c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 +4e006a004c005a0073003700660032004c0041006f004e004800660069003200510045002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030242000000fa000000fb0043005c43eb}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://www.gnu.org/software/gettext/manual/html_node/GNU-LGPL.html#GNU-LGPL}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \loch\af4\dbch\af31505\hich\f4 \'a9\loch\f4 \hich\f4 Copyright \'a9\loch\f4 1991, 1999 Free Software Foundation, Inc. \par -\par \hich\af4\dbch\af31505\loch\f4 This Autodesk software contains libintl v.0.19.8.3. libintl is licensed under the GNU Lesser\hich\af4\dbch\af31505\loch\f4 General Public License v.2.1 , which can be found at }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 +\par \hich\af4\dbch\af31505\loch\f4 Th\hich\af4\dbch\af31505\loch\f4 is Autodesk software contains libintl v.0.19.8.3. libintl is licensed under the GNU Lesser General Public License v.2.1 , which can be found at }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.gnu.org/licenses/oldlicenses/lgpl-2.1.txt }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b8200000068007400740070003a002f002f007700770077002e0067006e0075002e006f00720067002f006c006900630065006e007300650073002f006f006c0064006c006900630065006e007300650073002f006c00 -670070006c002d0032002e0031002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab000300640000000072ff00ff00430000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://w -\hich\af4\dbch\af31505\loch\f4 ww.gnu.org/licenses/oldlicenses/lgpl-2.1.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 . }{\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 A text copy of this license is included on the media or with the download of this Autodesk software. You may obtain a copy of the source code for libintl v.0.19.8.3 from } -{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://www.autodesk.com/lgplsource" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +670070006c002d0032002e0031002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab000300640000000072ff00ff004300000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +http://www.gnu.org/licenses/oldlicenses/lgpl-2.1.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 . }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 A \hich\af4\dbch\af31505\loch\f4 +text copy of this license is included on the media or with the download of this Autodesk software. You may obtain a copy of the source code for libintl v.0.19.8.3 from }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +\hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://www.autodesk.com/lgplsource" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5e00000068007400740070003a002f002f007700770077002e006100750074006f006400650073006b002e0063006f006d002f006c00670070006c0073006f0075007200630065000000795881f43b1d7f48af2c825d -c485276300000000a5ab0003006d000000200007000001770020}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 +c485276300000000a5ab0003006d0000002000070000017700200065}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 or by sending a written request to: \par \par \hich\af4\dbch\af31505\loch\f4 Autodesk, Inc. @@ -820,32 +837,21 @@ c485276300000000a5ab0003006d000000200007000001770020}}}{\fldrslt {\rtlch\fcs1 \a \par \hich\af4\dbch\af31505\loch\f4 c.\hich\af4\dbch\af31505\loch\f4 The above URL (}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK www.autodesk.com/lgplsource }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000001000000e0c9ea79f9bace118c8200aa004ba90b500000007700770077002e006100750074006f006400650073006b002e0063006f006d002f006c00670070006c0073006f0075007200630065000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006c -00d4000000ff000000410049}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +00d4000000ff0000004100490063}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ) -\par \hich\af4\dbch\af31505\loch\f4 so that Autodesk may properly respond to your request. The offer\hich\af4\dbch\af31505\loch\f4 to receive this libintl source code via the above URL (}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\par \hich\af4\dbch\af31505\loch\f4 so that Autodesk may properly respond to your request. The offe\hich\af4\dbch\af31505\loch\f4 r to receive this libintl source code via the above URL (}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK www.autodesk.com/lgplsource }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000001000000e0c9ea79f9bace118c8200aa004ba90b500000007700770077002e006100750074006f006400650073006b002e0063006f006d002f006c00670070006c0073006f0075007200630065000000795881f43b1d7f48af2c825dc485276300000000a5ab00030073 -000000000000000000200065}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ) or by written request to \hich\af4\dbch\af31505\loch\f4 Autodesk is valid for a period of three (3) years from the date you purchased your license to this Autodesk software. -\par \hich\af4\dbch\af31505\loch\f4 You may modify, debug and relink libintl to this Autodesk software as provided under the terms of the GNU Lesser General Public License v\hich\af4\dbch\af31505\loch\f4 .2.1. +000000000000000000200065bac0}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 www.autodesk.com/lgplsource}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ) or by written request \hich\af4\dbch\af31505\loch\f4 to Autodesk is valid for a period of three (3) years from the date you purchased your license to this Autodesk software. +\par \hich\af4\dbch\af31505\loch\f4 You may modify, debug and relink libintl to this Autodesk software as provided under the terms of the GNU Lesser General Public Licens\hich\af4\dbch\af31505\loch\f4 e v.2.1. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 DynamoServices: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 \hich\f4 Copyright \'a9\loch\f4 Autodesk, Inc. \par -\par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.apache.org/lice\hich\af4\dbch\af31505\loch\f4 nses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f004c004900430045004e00530045002d0032002e00 -30000000795881f43b1d7f48af2c825dc485276300000000a5ab0003004300000000720000000072006f}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -Unless required by applicable law or agreed to in writing, software dist\hich\af4\dbch\af31505\loch\f4 -ributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.}{\rtlch\fcs1 -\af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238\charrsid3092893 -\par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang3082\langfe2052\kerning1\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Ncalc v.1.3.8.0:}{ \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fncalc.codeplex.com%2F&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520409253%7CUnknown%7CTWF -\hich\af4\dbch\af31505\loch\f4 p\hich\af4\dbch\af31505\loch\f4 bGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=MXJNaR69ECgPJDJYPSnyLqGx9AGSwz%2FQZR55FnDPv5U%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fncalc.codeplex.com%2F&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520409253 +\hich\af4\dbch\af31505\loch\f4 %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=MXJNaR69ECgPJDJYPSnyLqGx9AGSwz%2FQZR55FnDPv5U%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b2a030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d0068007400740070002500330041002500320046002500320046006e00630061006c0063002e0063006f006400650070006c00650078002e0063006f006d00250032004600260064006100740061003d0030003400250037004300300031002500370043004a0061006d @@ -853,20 +859,20 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fncal 37006200660066003700390065003700660039003100340034003300330061003800650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300034003000390032003500330025003700430055 006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a00420054006900 4900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d004d0058004a004e00610052003600390045004300670050004a0044004a005900500053006e0079004c00710047007800390041 -004700530077007a0025003200460051005a0052003500350046006e00440050007600350055002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003005c141a000017f4021a0c009f18}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 +004700530077007a0025003200460051005a0052003500350046006e00440050007600350055002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003005c141a000017f4021a0c009f18cf93}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://ncalc.codeplex.com/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang3082\langfe2052\langnp3082\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \loch\af4\dbch\af31505\hich\f4 \'a9\loch\f4 2011 Sebastien Ros \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software an\hich\af4\dbch\af31505\loch\f4 -d associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons -\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 to whom the Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of\hich\af4\dbch\af31505\loch\f4 + this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and +\hich\af4\dbch\af31505\loch\f4 t\hich\af4\dbch\af31505\loch\f4 o permit persons to whom the Software is furnished to do so, subject to the following conditions: \par \par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARR\hich\af4\dbch\af31505\loch\f4 -ANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL -\hich\af4\dbch\af31505\loch\f4 I\hich\af4\dbch\af31505\loch\f4 TY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS \hich\af4\dbch\af31505\loch\f4 +IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGE +\hich\af4\dbch\af31505\loch\f4 S\hich\af4\dbch\af31505\loch\f4 OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 MIConvexHull.NET v.1.0.17.411 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 @@ -880,11 +886,11 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdes 003300370036003100370039003400370035003200300033003800390033003200350025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c00 43004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d004e0059003100700047 007000340052007500730031004900680058006f004c004500410067006500510067006300460033006700730051004b00350068006800700064004200590031004b00470078007400530059002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000 -a5ab0003007314650000003a00000090006c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://miconvexhull.codeplex.com/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 +a5ab0003007314650000003a00000090006c006f}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://miconvexhull.codeplex.com/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%\hich\af4\dbch\af31505\loch\f4 -2Fmiconvexhull.codeplex.com%2Flicense&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520389325%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWw -\hich\af4\dbch\af31505\loch\f4 i\hich\af4\dbch\af31505\loch\f4 LCJXVCI6Mn0%3D%7C1000&sdata=hNSoZ7QXpdD4Fhf0DlaIzm2xF9XGsksCYNlWnpXQ%2BiM%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F\hich\af4\dbch\af31505\loch\f4 +%2Fmiconvexhull.codeplex.com%2Flicense&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520389325%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haW +\hich\af4\dbch\af31505\loch\f4 w\hich\af4\dbch\af31505\loch\f4 iLCJXVCI6Mn0%3D%7C1000&sdata=hNSoZ7QXpdD4Fhf0DlaIzm2xF9XGsksCYNlWnpXQ%2BiM%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b46030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d0068007400740070002500330041002500320046002500320046006d00690063006f006e00760065007800680075006c006c002e0063006f006400650070006c00650078002e0063006f006d002500320046006c006900630065006e0073006500260064006100740061 003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d002500370043006400610065006300640036003500370038003100390034003400620038003500350065003700380030003800 @@ -892,26 +898,26 @@ a5ab0003007314650000003a00000090006c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\ 00370035003200300033003800390033003200350025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900 560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0068004e0053006f005a0037005100580070006400440034 00460068006600300044006c00610049007a006d0032007800460039005800470073006b007300430059004e006c0057006e0070005800510025003200420069004d002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003007200000003 -00ea000000520020}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://miconvexhull.codeplex.com/license}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +00ea0000005200200000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://miconvexhull.codeplex.com/license}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2010 David Sehnal, Matthew Campbell \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and a\hich\af4\dbch\af31505\loch\f4 -ssociated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to -\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 whom the Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, t\hich\af4\dbch\af31505\loch\f4 +o any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or s +\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 ll copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par \par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANT\hich\af4\dbch\af31505\loch\f4 -Y OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY -,\hich\af4\dbch\af31505\loch\f4 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +\hich\af4\dbch\af31505\loch\f4 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 StarMath v.2.0.1}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid16659309 \hich\af4\dbch\af31505\loch\f4 7}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 : -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FDesignEngrLab%2FStarMath%2Fblob%2Fmaster%2FLICENSE&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7 -\hich\af4\dbch\af31505\loch\f4 C\hich\af4\dbch\af31505\loch\f4 0%7C0%7C637617947520488895%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=QlLJQ5zjjCkV03%2BrjgrcdUTiz9O6pTyzKdtSv5xpHsg%3D&reserved=0" -}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.sa\hich\af4\dbch\af31505\loch\f4 +felinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FDesignEngrLab%2FStarMath%2Fblob%2Fmaster%2FLICENSE&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520488895 +\hich\af4\dbch\af31505\loch\f4 %\hich\af4\dbch\af31505\loch\f4 7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=QlLJQ5zjjCkV03%2BrjgrcdUTiz9O6pTyzKdtSv5xpHsg%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b80030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d00250032004600440065007300690067006e0045006e00670072004c006100620025003200460053007400610072004d00610074006800250032 00460062006c006f0062002500320046006d00610073007400650072002500320046004c004900430045004e0053004500260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b00 @@ -919,76 +925,68 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit 0032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300034003800380038003900350025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a007300620033006400 3800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e0030 0025003300440025003700430031003000300030002600730064006100740061003d0051006c004c004a00510035007a006a006a0043006b0056003000330025003200420072006a0067007200630064005500540069007a0039004f0036007000540079007a004b0064007400530076003500780070004800730067002500 -330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003005000a68e0000313d00006f0065}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003005000a68e0000313d00006f00650000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/DesignEngrLab/StarMath/blob/master/LICENSE}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) -\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2015 DesignEngrLab +\par \hich\af4\dbch\af31505\loch\f4 C\hich\af4\dbch\af31505\loch\f4 opyright (c) 2015 DesignEngrLab \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, includ -\hich\af4\dbch\af31505\loch\f4 -ing without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation th +\hich\af4\dbch\af31505\loch\f4 e rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright \hich\af4\dbch\af31505\loch\f4 notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permissio\hich\af4\dbch\af31505\loch\f4 n notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, \hich\af4\dbch\af31505\loch\f4 -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH T -\hich\af4\dbch\af31505\loch\f4 H\hich\af4\dbch\af31505\loch\f4 E SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR \hich\af4\dbch\af31505\loch\f4 +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 OTHER DEALINGS IN THE SOFTWARE. \par \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 DiffPlex v.1.6.3: \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \loch\af4\dbch\af31505\hich\f4 \'a9\loch\f4 2020 mmanela \par -\par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the Licens\hich\af4\dbch\af31505\loch\f4 e at -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield +\par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www\hich\af4\dbch\af31505\loch\f4 .apache.org/licenses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 +{\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f004c004900430045004e00530045002d0032002e00 -30000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006e0a619800f7aa0064004d0075}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Unless required by applicable la -\hich\af4\dbch\af31505\loch\f4 -w or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations -\hich\af4\dbch\af31505\loch\f4 u\hich\af4\dbch\af31505\loch\f4 nder the License.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +30000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006e0a619800f7aa0064004d00751300}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect +\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +Unless required by applicable law or agreed to in writi\hich\af4\dbch\af31505\loch\f4 +ng, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.}{ +\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 DiffPlex.wpf v.1.1.1: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \loch\af4\dbch\af31505\hich\f4 \'a9\loch\f4 2020 mmanela \par -\par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this f\hich\af4\dbch\af31505\loch\f4 ile except in compliance with the License. You may obtain a copy of the License at }{\field{\*\fldinst { -\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f004c004900430045004e00530045002d0032002e00 -30000000795881f43b1d7f48af2c825dc485276300000000a5ab0003005a2c6f0069006a00367f6f4c72}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 - Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See\hich\af4\dbch\af31505\loch\f4 - the License for the specific language governing permissions and limitations under the License. -\par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid262518 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning2\insrsid262518 \hich\af4\dbch\af31505\loch\f4 FontAwesome v.5.15.4: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid262518 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid262518 \hich\af4\dbch\af31505\loch\f4 https://github.com/FortAwesome/Font-Awesome/blob/5. -\hich\af4\dbch\af31505\loch\f4 x/LICENSE.txt}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1031\langfe2052\kerning2\langnp1031\insrsid262518 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid262518 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid262518 \hich\af4\dbch\af31505\loch\f4 https://github.com/FortAwesome/Font-Awesome/blob/5.x/LICENSE.txt}{ +\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1031\langfe2052\kerning2\langnp1031\insrsid262518 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid262518 \hich\af4\dbch\af31505\loch\f4 CC BY 4.0 License}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1031\langfe2052\kerning2\langnp1031\insrsid262518 \hich\af4\dbch\af31505\loch\f4 (}{ \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid262518 \hich\af4\dbch\af31505\loch\f4 https://creativecommons.org/licenses/by/4.0/}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1031\langfe2052\kerning2\langnp1031\insrsid262518 \hich\af4\dbch\af31505\loch\f4 ) \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid262518 \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2022 Fonticons, Inc.}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1031\langfe2052\kerning2\langnp1031\insrsid262518 -\hich\af4\dbch\af31505\loch\f4 (}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid262518 \hich\af4\dbch\af31505\loch\f4 https://fontawesome.com}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 +\hich\af4\dbch\af31505\loch\f4 (}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid262518 \hich\af4\dbch\af31505\loch\f4 https://fontawes\hich\af4\dbch\af31505\loch\f4 ome.com}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1031\langfe2052\kerning2\langnp1031\insrsid262518 \hich\af4\dbch\af31505\loch\f4 ) \par \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid262518 \hich\af4\dbch\af31505\loch\f4 In the Font Awesome Free download, the CC BY 4.0 license applies to all icons packaged as SVG and JS file types. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid2959855 \line \line }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 An\hich\af4\dbch\af31505\loch\f4 -gleSharp v.0.14.0: Copyright (c) 2013 - 2019 AngleSharp +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 AngleSharp v.0.14.0: Copyright (c) 2013 - 2019 AngleSharp + \par \hich\af4\dbch\af31505\loch\f4 \hich\f4 AngleSharp.CSS v.0.14.2: Copyright \'a9\loch\f4 2013-2020 AngleSharp -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT Licens\hich\af4\dbch\af31505\loch\f4 e (MIT) \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentat\hich\af4\dbch\af31505\loch\f4 -ion files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software i -\hich\af4\dbch\af31505\loch\f4 s\hich\af4\dbch\af31505\loch\f4 furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, m +\hich\af4\dbch\af31505\loch\f4 odify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be includ\hich\af4\dbch\af31505\loch\f4 ed in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRE\hich\af4\dbch\af31505\loch\f4 -SS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTI -\hich\af4\dbch\af31505\loch\f4 O\hich\af4\dbch\af31505\loch\f4 N OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEM +\hich\af4\dbch\af31505\loch\f4 +ENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE S +\hich\af4\dbch\af31505\loch\f4 O\hich\af4\dbch\af31505\loch\f4 FTWARE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HTMLSanitizer v.5.0.355: +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HTMLSanitizer }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 +\b\fs22\cf25\kerning1\insrsid4197417\charrsid4197417 \hich\af4\dbch\af31505\loch\f4 v.\hich\af4\dbch\af31505\loch\f4 5.0.372}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 : \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmganss%2FHtmlSanitizer&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520220149% -\hich\af4\dbch\af31505\loch\f4 7\hich\af4\dbch\af31505\loch\f4 CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=t7WD0mko%2B%2FF%2FdpKKLHyM93UCXrX%2BXwo3yUYVGPZQcGs%3D&reserved=0" }{\rtlch\fcs1 -\af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmganss%2FHtmlSanitizer&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2dd\hich\af4\dbch\af31505\loch\f4 +c1d%7C0%7C0%7C637617947520220149%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=t7WD0mko%2B%2FF%2FdpKKLHyM93UCXrX%2BXwo3yUYVGPZQcGs%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b54030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d002500320046006d00670061006e0073007300250032004600480074006d006c00530061006e006900740069007a006500720026006400610074 0061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d00250037004300640061006500630064003600350037003800310039003400340062003800350035006500370038003000 @@ -996,8 +994,8 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit 003400370035003200300032003200300031003400390025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f00 6900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d00740037005700440030006d006b006f002500320042 002500320046004600250032004600640070004b004b004c00480079004d003900330055004300580072005800250032004200580077006f0033007900550059005600470050005a0051006300470073002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc4852763 -00000000a5ab0003003b1707467feb61000157720063}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/mganss/HtmlSanitizer}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 -\af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +00000000a5ab0003003b1707467feb610001577200630072}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/mganss/HtmlSanitizer}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj { +\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmganss%2FHtmlSanitizer%2Fblob%2Fmaster%2FLICENSE.md&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d% \hich\af4\dbch\af31505\loch\f4 7\hich\af4\dbch\af31505\loch\f4 @@ -1010,26 +1008,27 @@ C0%7C0%7C637617947520220149%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoi 00390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300032003200300031003400390025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a00730062003300 64003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e 00300025003300440025003700430031003000300030002600730064006100740061003d00700068004c0047006e006c006f005400250032004600430067006c00610062006500620068002500320046007300550053006300360069006900440079007400360044003300760053004d00500050004b004100250032004600 -67004f004a0051002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030039006552fb2d00ff01805c00b1}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\hich\af4\dbch\af31505\loch\f4 https://github.com/mganss/HtmlSanitizer/blob/master/\hich\af4\dbch\af31505\loch\f4 LICENSE.md}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +67004f004a0051002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030039006552fb2d00ff01805c00b10022}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 +\hich\af4\dbch\af31505\loch\f4 https://github.com/mganss/HtmlSanitizer/blob/master\hich\af4\dbch\af31505\loch\f4 /LICENSE.md}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) \par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2013-2016 Michael Ganss and HtmlSanitizer contributors \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to \hich\af4\dbch\af31505\loch\f4 -deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject t -\hich\af4\dbch\af31505\loch\f4 o\hich\af4\dbch\af31505\loch\f4 the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, m +\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 rge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all\hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NO\hich\af4\dbch\af31505\loch\f4 -T LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWI -\hich\af4\dbch\af31505\loch\f4 S\hich\af4\dbch\af31505\loch\f4 E, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN N +\hich\af4\dbch\af31505\loch\f4 +O EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + \par \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1031\langfe2052\kerning1\langnp1031\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Markdig v.0.22.0: \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flunet-io%2Fmarkdig&data=04%7C01%7CJames.Co\hich\af4\dbch\af31505\loch\f4 -nner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520379375%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=IkaWjqj6UwIqoUB8EQOeZKYMz4qbWg8k -\hich\af4\dbch\af31505\loch\f4 b\hich\af4\dbch\af31505\loch\f4 bCcZ0Qa%2Fhg%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid1784394 {\*\datafield +HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flunet-io%2Fmarkdig&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617 +\hich\af4\dbch\af31505\loch\f4 947520379375%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=IkaWjqj6UwIqoUB8EQOeZKYMz4qbWg8kbbCcZ0Qa%2Fhg%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b40030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d002500320046006c0075006e00650074002d0069006f002500320046006d00610072006b00640069006700260064006100740061003d00300034 00250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d002500370043006400610065006300640036003500370038003100390034003400620038003500350065003700380030003800640039003400 @@ -1037,12 +1036,12 @@ nner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c92 00300033003700390033003700350025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c00 75004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0049006b00610057006a0071006a00360055007700490071006f00550042 003800450051004f0065005a004b0059004d007a003400710062005700670038006b0062006200430063005a00300051006100250032004600680067002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab000300620052006e727800000046 -0000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 htt\hich\af4\dbch\af31505\loch\f4 ps://github.com/lunet-io/markdig}}}\sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flunet-io%2Fmarkdig%2Fblob%2Fmaster%2Flicense.txt&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C6\hich\af4\dbch\af31505\loch\f4 -7bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520379375%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=eIL37c9G%2B11uq1htX8ARhSCvefpQIOMXjVAqMh1aceU%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid1784394 {\*\datafield +00000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/lunet-io/markdig}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%\hich\af4\dbch\af31505\loch\f4 +3A%2F%2Fgithub.com%2Flunet-io%2Fmarkdig%2Fblob%2Fmaster%2Flicense.txt&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520379375%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDA +\hich\af4\dbch\af31505\loch\f4 i\hich\af4\dbch\af31505\loch\f4 LCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=eIL37c9G%2B11uq1htX8ARhSCvefpQIOMXjVAqMh1aceU%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b7c030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d002500320046006c0075006e00650074002d0069006f002500320046006d00610072006b0064006900670025003200460062006c006f00620025 00320046006d00610073007400650072002500320046006c006900630065006e00730065002e00740078007400260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e006300 @@ -1050,217 +1049,168 @@ HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit 00320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300033003700390033003700350025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a00730062003300640038006500 79004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e003000250033 00440025003700430031003000300030002600730064006100740061003d00650049004c0033003700630039004700250032004200310031007500710031006800740058003800410052006800530043007600650066007000510049004f004d0058006a005600410071004d00680031006100630065005500250033004400 -2600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab000300440000003af76e006400650030}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 -\hich\af4\dbch\af31505\loch\f4 https://github.com/lunet-io/mar\hich\af4\dbch\af31505\loch\f4 kdig/blob/master/license.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 +2600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab000300440000003af76e0064006500300000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 +\hich\af4\dbch\af31505\loch\f4 https://github.com/lunet-io/markdig/blob/master/license.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1031\langfe2052\langnp1031\insrsid9658238 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2018-2019, Alexandre Mutel \par \hich\af4\dbch\af31505\loch\f4 All rights reserved. \par -\par \hich\af4\dbch\af31505\loch\f4 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +\par \hich\af4\dbch\af31505\loch\f4 Redistri\hich\af4\dbch\af31505\loch\f4 bution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: \par -\par \hich\af4\dbch\af31505\loch\f4 1. Redistribution\hich\af4\dbch\af31505\loch\f4 s of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +\par \hich\af4\dbch\af31505\loch\f4 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disc\hich\af4\dbch\af31505\loch\f4 laimer. \par -\par \hich\af4\dbch\af31505\loch\f4 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documen\hich\af4\dbch\af31505\loch\f4 -tation and/or other materials provided with the distribution. +\par \hich\af4\dbch\af31505\loch\f4 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. \par -\par \hich\af4\dbch\af31505\loch\f4 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\hich\af4\dbch\af31505\loch\f4 - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITU -\hich\af4\dbch\af31505\loch\f4 T\hich\af4\dbch\af31505\loch\f4 -E GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SO -\hich\af4\dbch\af31505\loch\f4 F\hich\af4\dbch\af31505\loch\f4 TWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\par \hich\af4\dbch\af31505\loch\f4 THIS SOFTWARE IS PROVIDED BY THE COPYRIG\hich\af4\dbch\af31505\loch\f4 +HT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUT +\hich\af4\dbch\af31505\loch\f4 O\hich\af4\dbch\af31505\loch\f4 +RS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +\hich\af4\dbch\af31505\loch\f4 A\hich\af4\dbch\af31505\loch\f4 +NY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1036\langfe2052\kerning1\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 -ILMerge v.3.0.41: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.ou\hich\af4\dbch\af31505\loch\f4 -tlook.com/?url=https%3A%2F%2Fgithub.com%2Fdotnet%2FILMerge&data=04%7C01%7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520349504%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2 -\hich\af4\dbch\af31505\loch\f4 l\hich\af4\dbch\af31505\loch\f4 uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=d8RTLDvFmnAX0wzlDMSok0CEEbjsHzpPM9m8e4kXlaA%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b38030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 -6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d0025003200460064006f0074006e006500740025003200460049004c004d006500720067006500260064006100740061003d0030003400250037 -004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d00250037004300640061006500630064003600350037003800310039003400340062003800350035006500370038003000380064003900340036003200 -35003100660066003600250037004300360037006200660066003700390065003700660039003100340034003300330061003800650035006300390032003500320064003200640064006300310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300033 -003400390035003000340025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f0069004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d00 -7a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e00300025003300440025003700430031003000300030002600730064006100740061003d0064003800520054004c004400760046006d006e0041005800300077007a006c0044 -004d0053006f006b00300043004500450062006a00730048007a00700050004d0039006d003800650034006b0058006c00610041002500330044002600720065007300650072007600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab0003cd6f006398490000ff0500791936}}}{\fldrslt -{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 https://github.com/dotnet/ILMerge}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\ul\cf26\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdotnet%2FILMerge%2Fblob%2Fmaster%2FLICENSE&data=04%7C01%\hich\af4\dbch\af31505\loch\f4 -7CJames.Conner%40autodesk.com%7Cdaecd65781944b855e7808d946251ff6%7C67bff79e7f914433a8e5c9252d2ddc1d%7C0%7C0%7C637617947520349504%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=73ySd49h5gcqiGS1xohabF -\hich\af4\dbch\af31505\loch\f4 n\hich\af4\dbch\af31505\loch\f4 woH42CB8523UdKE%2B6dsw%3D&reserved=0" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b70030000680074007400700073003a002f002f006e0061006d00310031002e0073006100660065006c0069006e006b0073002e00700072006f00740065006300740069006f006e002e006f00750074006c006f006f00 -6b002e0063006f006d002f003f00750072006c003d00680074007400700073002500330041002500320046002500320046006700690074006800750062002e0063006f006d0025003200460064006f0074006e006500740025003200460049004c004d00650072006700650025003200460062006c006f0062002500320046 -006d00610073007400650072002500320046004c004900430045004e0053004500260064006100740061003d0030003400250037004300300031002500370043004a0061006d00650073002e0043006f006e006e00650072002500340030006100750074006f006400650073006b002e0063006f006d002500370043006400 -61006500630064003600350037003800310039003400340062003800350035006500370038003000380064003900340036003200350031006600660036002500370043003600370062006600660037003900650037006600390031003400340033003300610038006500350063003900320035003200640032006400640063 -00310064002500370043003000250037004300300025003700430036003300370036003100370039003400370035003200300033003400390035003000340025003700430055006e006b006e006f0077006e002500370043005400570046007000620047005a0073006200330064003800650079004a00570049006a006f00 -69004d004300340077004c006a00410077004d004400410069004c0043004a00510049006a006f006900560032006c0075004d007a00490069004c0043004a004200540069004900360049006b003100680061005700770069004c0043004a00580056004300490036004d006e003000250033004400250037004300310030 -00300030002600730064006100740061003d00370033007900530064003400390068003500670063007100690047005300310078006f0068006100620046006e0077006f00480034003200430042003800350032003300550064004b0045002500320042003600640073007700250033004400260072006500730065007200 -7600650064003d0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00030043006f9800002d000000300022}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 -\hich\af4\dbch\af31505\loch\f4 https://github.com/dotnet/ILMerge/blob/master/LICENSE}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 -\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 MIT License -\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) .NET Foundation and Contributors -\par \hich\af4\dbch\af31505\loch\f4 All Rights Reserved -\par -\par \hich\af4\dbch\af31505\loch\f4 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, m -\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 rge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -\par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all\hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN N -\hich\af4\dbch\af31505\loch\f4 -O EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -\par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 System.Buffers v.4.5.1 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) \par \hich\af4\dbch\af31505\loch\f4 Copyright (c) .NET Foundation and Contributors \par \hich\af4\dbch\af31505\loch\f4 All rights reserved. \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Softwar\hich\af4\dbch\af31505\loch\f4 -e"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, s -\hich\af4\dbch\af31505\loch\f4 u\hich\af4\dbch\af31505\loch\f4 bject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obta\hich\af4\dbch\af31505\loch\f4 +ining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par \par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDIN\hich\af4\dbch\af31505\loch\f4 -G BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE I\hich\af4\dbch\af31505\loch\f4 +S PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR AN +\hich\af4\dbch\af31505\loch\f4 Y\hich\af4\dbch\af31505\loch\f4 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 System.Memory v.4.5.4 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) -\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) .NET Foundation and Contributors +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) .NET F\hich\af4\dbch\af31505\loch\f4 oundation and Contributors \par \hich\af4\dbch\af31505\loch\f4 All rights reserved. \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted,\hich\af4\dbch\af31505\loch\f4 - free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, su -\hich\af4\dbch\af31505\loch\f4 b\hich\af4\dbch\af31505\loch\f4 license, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including witho +\hich\af4\dbch\af31505\loch\f4 +ut limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyr\hich\af4\dbch\af31505\loch\f4 ight notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice an\hich\af4\dbch\af31505\loch\f4 d this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL\hich\af4\dbch\af31505\loch\f4 -ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION W -\hich\af4\dbch\af31505\loch\f4 I\hich\af4\dbch\af31505\loch\f4 TH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS F\hich\af4\dbch\af31505\loch\f4 +OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWA +\hich\af4\dbch\af31505\loch\f4 R\hich\af4\dbch\af31505\loch\f4 E OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 System.Numerics.Vectors v.4.5.0 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) \par \hich\af4\dbch\af31505\loch\f4 Copyright (c) .NET Foundation and Contributors \par \hich\af4\dbch\af31505\loch\f4 All rights reserved. \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining \hich\af4\dbch\af31505\loch\f4 -a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Softw -\hich\af4\dbch\af31505\loch\f4 a\hich\af4\dbch\af31505\loch\f4 re, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, m +\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 rge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all\hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROV\hich\af4\dbch\af31505\loch\f4 -IDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAI -\hich\af4\dbch\af31505\loch\f4 M\hich\af4\dbch\af31505\loch\f4 , DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN N +\hich\af4\dbch\af31505\loch\f4 +O EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 System.Runtime.CompilerServices.Unsafe v.4.5.3 -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) -\par \hich\af4\dbch\af31505\loch\f4 C\hich\af4\dbch\af31505\loch\f4 opyright (c) .NET Foundation and Contributors -\par \hich\af4\dbch\af31505\loch\f4 All rights reserved. -\par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restricti\hich\af4\dbch\af31505\loch\f4 -on, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -\par -\par \hich\af4\dbch\af31505\loch\f4 The above \hich\af4\dbch\af31505\loch\f4 copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHAN\hich\af4\dbch\af31505\loch\f4 -TABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECT -\hich\af4\dbch\af31505\loch\f4 I\hich\af4\dbch\af31505\loch\f4 ON WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -\par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 System.Text.Encoding.CodePages v.4.5.0 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) \par \hich\af4\dbch\af31505\loch\f4 Copyright (c) .NET Foundation and Contributors -\par \hich\af4\dbch\af31505\loch\f4 All rights reserved. +\par \hich\af4\dbch\af31505\loch\f4 All right\hich\af4\dbch\af31505\loch\f4 s reserved. \par \par \hich\af4\dbch\af31505\loch\f4 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, m -\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 rge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, cop +\hich\af4\dbch\af31505\loch\f4 y, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all\hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN N -\hich\af4\dbch\af31505\loch\f4 -O EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES \hich\af4\dbch\af31505\loch\f4 +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +\hich\af4\dbch\af31505\loch\f4 I\hich\af4\dbch\af31505\loch\f4 N CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs18 \ltrch\fcs0 \f40\fs18\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Rapidjson v.1.1.0: \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 \hich\f4 Copyright \'a9\loch\f4 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), \hich\af4\dbch\af31505\loch\f4 -to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subjec -\hich\af4\dbch\af31505\loch\f4 t\hich\af4\dbch\af31505\loch\f4 to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining\hich\af4\dbch\af31505\loch\f4 + a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Soft +\hich\af4\dbch\af31505\loch\f4 w\hich\af4\dbch\af31505\loch\f4 +are, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT \hich\af4\dbch\af31505\loch\f4 -NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHER -\hich\af4\dbch\af31505\loch\f4 W\hich\af4\dbch\af31505\loch\f4 ISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROV\hich\af4\dbch\af31505\loch\f4 +IDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAI +\hich\af4\dbch\af31505\loch\f4 M\hich\af4\dbch\af31505\loch\f4 , DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Mono.Cecil v.0.11.4: \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2008 - 2015 Jb Evain -\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2008 - 2011 Novell, Inc. +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c)\hich\af4\dbch\af31505\loch\f4 2008 - 2011 Novell, Inc. \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to an\hich\af4\dbch\af31505\loch\f4 -y person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -\hich\af4\dbch\af31505\loch\f4 c\hich\af4\dbch\af31505\loch\f4 opies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the righ +\hich\af4\dbch\af31505\loch\f4 ts to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission noti\hich\af4\dbch\af31505\loch\f4 ce shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 T\hich\af4\dbch\af31505\loch\f4 HE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -\par \hich\af4\dbch\af31505\loch\f4 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE L\hich\af4\dbch\af31505\loch\f4 -IABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +\par \hich\af4\dbch\af31505\loch\f4 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOS\hich\af4\dbch\af31505\loch\f4 +E AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 LaunchDarkly.Clientsdk v.2.0.1: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Copyright 2018 Catamorphic, Co. -\par -\par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid868937 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid868937\charrsid868937 \hich\af4\dbch\af31505\loch\f4 LaunchDarkly.Clientsdk v.2.0.1 +\par \hich\af4\dbch\af31505\loch\f4 LaunchDarkly.CommonSdk v.5.5.0 +\par \hich\af4\dbch\af31505\loch\f4 LaunchDarkly.EventSource v.4.1.3 +\par \hich\af4\dbch\af31505\loch\f4 LaunchDarkly.InternalSdk v.2.3.2 +\par \hich\af4\dbch\af31505\loch\f4 LaunchDarkly.JsonStream v.1.0.3 +\par \hich\af4\dbch\af31505\loch\f4 LaunchDarkly.Logging v.1.0.1}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid868937 \line }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid868937\charrsid868937 +\hich\af4\dbch\af31505\loch\f4 Copyright 2018 Catamorphic, Co.}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4352418 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 +\hich\af4\dbch\af31505\loch\f4 HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f004c004900430045004e00530045002d0032002e00 -30000000795881f43b1d7f48af2c825dc485276300000000a5ab000312452f6300220065000601350036}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Unless required by applicable law or agreed to in writing, software distributed under the \hich\af4\dbch\af31505\loch\f4 -License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +30000000795881f43b1d7f48af2c825dc485276300000000a5ab000312452f63002200650006013500360000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect +\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS +\hich\af4\dbch\af31505\loch\f4 IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. \par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 CommandLineParser v.2.8.0: -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT Lice\hich\af4\dbch\af31505\loch\f4 nse (MIT) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) \par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2005 - 2015 Giacomo Stelluti Scala & Contributors \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without re\hich\af4\dbch\af31505\loch\f4 -striction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,\hich\af4\dbch\af31505\loch\f4 + including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The\hich\af4\dbch\af31505\loch\f4 above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above cop\hich\af4\dbch\af31505\loch\f4 yright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF \hich\af4\dbch\af31505\loch\f4 -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -\hich\af4\dbch\af31505\loch\f4 C\hich\af4\dbch\af31505\loch\f4 ONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTAB\hich\af4\dbch\af31505\loch\f4 +ILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Nlohmann.json v.3.7.3 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 \hich\f4 Copyright \'a9\loch\f4 2013-2022 Niels Lohmann \par -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation\hich\af4\dbch\af31505\loch\f4 - files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - -\par \hich\af4\dbch\af31505\loch\f4 fu\hich\af4\dbch\af31505\loch\f4 rnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (th\hich\af4\dbch\af31505\loch\f4 +e "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is +\par \hich\af4\dbch\af31505\loch\f4 furnished to\hich\af4\dbch\af31505\loch\f4 do so, subject to the following conditions: \par \par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS \hich\af4\dbch\af31505\loch\f4 -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -\hich\af4\dbch\af31505\loch\f4 O\hich\af4\dbch\af31505\loch\f4 F CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED\hich\af4\dbch\af31505\loch\f4 +, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRAC +\hich\af4\dbch\af31505\loch\f4 T\hich\af4\dbch\af31505\loch\f4 , TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Autodesk Artifakt Fonts \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 \hich\f4 Licensing information: \'a9\loch\f4 Autodesk, Inc. All Rights Reserved. \par -\par \hich\af4\dbch\af31505\loch\f4 The Artifakt font software is Autode\hich\af4\dbch\af31505\loch\f4 -sk proprietary and confidential, and may be used only by authorized users and only for Autodesk business purposes. Any use not authorized by Autodesk is not permitted and is an infringement of Autodesk's intellectual property rights as well as a breach of -\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 your agreement with Autodesk. Go to }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +\par \hich\af4\dbch\af31505\loch\f4 The Artifakt font software is Autodesk proprie\hich\af4\dbch\af31505\loch\f4 +tary and confidential, and may be used only by authorized users and only for Autodesk business purposes. Any use not authorized by Autodesk is not permitted and is an infringement of Autodesk's intellectual property rights as well as a breach of your agre +\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 ment with Autodesk. Go to }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://brand.autodesk.com/brand-system/typography }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b7e000000680074007400700073003a002f002f006200720061006e0064002e006100750074006f006400650073006b002e0063006f006d002f006200720061006e0064002d00730079007300740065006d002f007400 -790070006f006700720061007000680079000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006f1454008e005c8f1701660020}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://brand.autodesk.com/bra -\hich\af4\dbch\af31505\loch\f4 nd-system/typography}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +790070006f006700720061007000680079000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006f1454008e005c8f17016600200000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +https://brand.autodesk.com/brand-system\hich\af4\dbch\af31505\loch\f4 /typography}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 for detailed usage guidelines on when and how to use the Artifakt designer collection. \par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 DirectX @@ -1268,188 +1218,207 @@ HYPERLINK https://brand.autodesk.com/brand-system/typography }{\rtlch\fcs1 \af4\ \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bfe000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f00440079006e0061006d006f00440053002f00440079006e0061006d006f002f0074007200650065002f006d00 610073007400650072002f0074006f006f006c0073002f0069006e007300740061006c006c002f00450078007400720061002f0044006900720065006300740058002f004c006900630065006e00730065002000410067007200650065006d0065006e00740073002f0044006900720065006300740058002000530044004b -002000450055004c0041002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab00030041006502780039001301730000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -https://github.com/DynamoDS/Dynamo/tree/master/tools/install/Extra/DirectX/License Agreements/DirectX SDK EULA.txt +002000450055004c0041002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab000300410065027800390013017300001800}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +https://github.com/DynamoDS/Dynamo/tree/master/tools/install/Extra/DirectX/\hich\af4\dbch\af31505\loch\f4 License Agreements/DirectX SDK EULA.txt \par }}}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://github.com/DynamoDS/Dynamo/tree/master/tools/inst\hich\af4\dbch\af31505\loch\f4 -all/Extra/DirectX/License%20Agreements/directx%20redist.txt" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield +\linex0\sectdefaultcl\sftnbj {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +HYPERLINK "https://github.com/DynamoDS/Dynamo/tree/master/tools/install/Extra/DirectX/License%20Agreements/directx%20redist.txt" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bfa000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f00440079006e0061006d006f00440053002f00440079006e0061006d006f002f0074007200650065002f006d00 610073007400650072002f0074006f006f006c0073002f0069006e007300740061006c006c002f00450078007400720061002f0044006900720065006300740058002f004c006900630065006e00730065002000410067007200650065006d0065006e00740073002f00640069007200650063007400780020007200650064 -006900730074002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab0003126d002e00002a3a00a22a7300ec}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http\hich\af4\dbch\af31505\loch\f4 -s://github.com/DynamoDS/Dynamo/tree/master/tools/install/Extra/DirectX/License Agreements/directx redist.txt +006900730074002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab0003126d002e00002a3a00a22a7300ec0000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +https://github.com/DynamoDS/Dynamo/tree/master/tools/install/Extra/DirectX/License Agreements/directx redist.txt \par }}}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect \linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab\af4 \ltrch\fcs0 \b\kerning1\insrsid9658238 \par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 ImageMagick \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://imagemagick.org/script/license.php }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e000000680074007400700073003a002f002f0069006d006100670065006d0061006700690063006b002e006f00720067002f007300630072006900700074002f006c006900630065006e00730065002e0070006800 -70000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006500650003493500724b53006e}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://imagemagick.org/script/license.php}}}\sectd \ltrsect +70000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006500650003493500724b53006e1400}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://imagemagick.org/script/license.php}}}\sectd \ltrsect \linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \par -\par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 LiveCharts -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4 \ltrch\fcs0 \insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://v0.lvcharts.com/ }{\rtlch\fcs1 \af4 \ltrch\fcs0 \insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4a000000680074007400700073003a002f002f00760030002e006c0076006300680061007200740073002e0063006f006d002f000000795881f43b1d7f48af2c825dc485276300000000a5ab00032c6b007300455600 -00cf57740065}}}{\fldrslt {\rtlch\fcs1 \af4 \ltrch\fcs0 \insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://v0.lvcharts.com/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 -\par \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) -\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2016 Alberto Rodriguez & LiveCharts contributors -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4 \ltrch\fcs0 \insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://github.com/Live-Charts/Live-Charts/blob/master/LICENSE.TXT }{\rtlch\fcs1 \af4 \ltrch\fcs0 \insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b9e000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f004c006900760065002d004300680061007200740073002f004c006900760065002d0043006800610072007400 -73002f0062006c006f0062002f006d00610073007400650072002f004c004900430045004e00530045002e005400580054000000795881f43b1d7f48af2c825dc485276300000000a5ab00036838007200008e00003b8e140068}}}{\fldrslt {\rtlch\fcs1 \af4 \ltrch\fcs0 \insrsid9658238 -\hich\af4\dbch\af31505\loch\f4 https://github.com/Live-Charts/Live-Charts/blob/master/LICENSE.TXT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4 \ltrch\fcs0 \insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\lang1053\langfe2052\langnp1053\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1053\langfe2052\kerning1\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Magick.NET.Core -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://github.com/dl\hich\af4\dbch\af31505\loch\f4 emstra/Magick.NET/blob/main/License.txt }{\rtlch\fcs1 -\af4\afs22 \ltrch\fcs0 \fs22\lang1053\langfe2052\langnp1053\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid16089027 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid16089027\charrsid16089027 \hich\af4\dbch\af31505\loch\f4 LiveChartsCore v.2.0.0-beta.855: +\par \hich\af4\dbch\af31505\loch\f4 LiveChartsCore.SkiaSharpView v.2.0.0-beta.855: +\par \hich\af4\dbch\af31505\loch\f4 LiveChartsCore.SkiaSharpView.WPF \hich\af4\dbch\af31505\loch\f4 v.2.0.0-beta.855: +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2021 Alberto Rodriguez Orozco +\par +\par \hich\af4\dbch\af31505\loch\f4 MIT License +\par +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid16089027\charrsid16089027 \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy +\par \hich\af4\dbch\af31505\loch\f4 of this software and associated documentation files (the "Software"), to deal +\par \hich\af4\dbch\af31505\loch\f4 in the Software without restriction, including without limitation the rights +\par \hich\af4\dbch\af31505\loch\f4 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +\par \hich\af4\dbch\af31505\loch\f4 copies of the Software, and\hich\af4\dbch\af31505\loch\f4 to permit persons to whom the Software is +\par \hich\af4\dbch\af31505\loch\f4 furnished to do so, subject to the following conditions: +\par +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all +\par \hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. +\par +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "A\hich\af4\dbch\af31505\loch\f4 S IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +\par \hich\af4\dbch\af31505\loch\f4 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +\par \hich\af4\dbch\af31505\loch\f4 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +\par \hich\af4\dbch\af31505\loch\f4 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAG\hich\af4\dbch\af31505\loch\f4 ES OR OTHER +\par \hich\af4\dbch\af31505\loch\f4 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +\par \hich\af4\dbch\af31505\loch\f4 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid16089027 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\cf25\insrsid16089027\charrsid16089027 \hich\af4\dbch\af31505\loch\f4 SOFTWARE.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238\charrsid16089027 +\par }{\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\lang1053\langfe2052\langnp1053\insrsid16089027 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid10497410 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1053\langfe2052\kerning1\langnp1053\insrsid10497410\charrsid10497410 \hich\af4\dbch\af31505\loch\f4 +Magick.NET.Core v7.0.1: +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid10497410 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1053\langfe2052\kerning1\langnp1053\insrsid10497410\charrsid10497410 +\hich\af4\dbch\af31505\loch\f4 Copyright [2013] [dlemstra]}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1053\langfe2052\kerning1\langnp1053\insrsid10497410 +\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://github.com/dlemstra/Magick.NET/blob/main/License.txt }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\lang1053\langfe2052\langnp1053\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b92000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0064006c0065006d0073007400720061002f004d0061006700690063006b002e004e00450054002f0062006c00 -6f0062002f006d00610069006e002f004c006900630065006e00730065002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab00034c538c73007100d3001843090061}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/dlemstra/Magick.NET/blob/main/License.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\lang1053\langfe2052\langnp1053\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Microsoft 2015 C Runtime DLLs, msvcp140.dll, msvcr140.dll - -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://docs.microsoft.com/en-us/visualstudio/productinfo/2015-redistribution-vs" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90bba000000680074007400700073003a002f002f0064006f00630073002e006d006900630072006f0073006f00660074002e0063006f006d002f0065006e002d00750073002f00760069007300750061006c0073007400 -7500640069006f002f00700072006f00640075006300740069006e0066006f002f0032003000310035002d007200650064006900730074007200690062007500740069006f006e002d00760073000000795881f43b1d7f48af2c825dc485276300000000a5ab000379432f2e004a00040063433500bc}}}{\fldrslt { -\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://docs.microsoft.com/en-us/visualstudio/productinfo/2015-redistribution-vs -\par }}}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4 \ltrch\fcs0 \insrsid9658238 -\par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Open XML SDK -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://github.com/OfficeDev/Open-XML-SDK }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield +6f0062002f006d00610069006e002f004c006900630065006e00730065002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab00034c538c73007100d30018430900614300}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/\hich\af4\dbch\af31505\loch\f4 dlemstra/Magick.NET/blob/main/License.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\lang1053\langfe2052\langnp1053\insrsid9658238 +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid7632792 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7632792 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid7632792\charrsid7632792 \hich\af4\dbch\af31505\loch\f4 Licensed under the Apach\hich\af4\dbch\af31505\loch\f4 +e License, Version 2.0 (the "License"); +\par \hich\af4\dbch\af31505\loch\f4 you may not use this file except in compliance with the License. +\par \hich\af4\dbch\af31505\loch\f4 You may obtain a copy of the License at +\par +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid2829184 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid7632792\charrsid2829184 \hich\af4\dbch\af31505\loch\f4 +http://www.apache.org/licenses/LICENSE-2.0 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7632792 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid7632792\charrsid7632792 +\par \hich\af4\dbch\af31505\loch\f4 Unless required by applicable law or agreed to in writing, softwar\hich\af4\dbch\af31505\loch\f4 e +\par \hich\af4\dbch\af31505\loch\f4 distributed under the License is distributed on an "AS IS" BASIS, +\par \hich\af4\dbch\af31505\loch\f4 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +\par \hich\af4\dbch\af31505\loch\f4 See the License for the specific language governing permissions and +\par \hich\af4\dbch\af31505\loch\f4 limitations under the License. +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7632792 {\rtlch\fcs1 \af4 \ltrch\fcs0 \lang1053\langfe2052\langnp1053\insrsid7632792\charrsid7632792 +\par \hich\af4\dbch\af31505\loch\f4 Magick.NET-Q8-AnyCPU v7.24.1: +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid7632792\charrsid2829184 \hich\af4\dbch\af31505\loch\f4 https://imagemagick.org/script/license.php +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid2829184 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid7632792\charrsid2829184 \hich\af4\dbch\af31505\loch\f4 +Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization dedicated to \hich\af4\dbch\af31505\loch\f4 making software imaging solutions freely available.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238\charrsid2829184 +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7632792 {\rtlch\fcs1 \af4 \ltrch\fcs0 \lang1053\langfe2052\langnp1053\insrsid7632792\charrsid16075008 +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Open XML SDK +\par }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238\charrsid2829184 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://github.com/OfficeDev/Open-XML-SDK }{\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid1784394\charrsid2829184 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6c000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f004f00660066006900630065004400650076002f004f00700065006e002d0058004d004c002d00530044004b00 -0000795881f43b1d7f48af2c825dc485276300000000a5ab00032274004c98000000000d00040032}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://github.com/OfficeDev/Open-XML-SDK}}}\sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://github.com/OfficeDev/Open-XML-SDK/blob/main/LICENSE }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield +0000795881f43b1d7f48af2c825dc485276300000000a5ab00032274004c98000000000d000400320000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238\charrsid2829184 \hich\af4\dbch\af31505\loch\f4 +https://github.com/OfficeDev/Open-XML-SDK}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238\charrsid2829184 +\par }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238\charrsid2829184 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://github.com/OfficeDev/Open-XML-SDK/blob/main/LICENSE }{ +\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid1784394\charrsid2829184 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b90000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f004f00660066006900630065004400650076002f004f00700065006e002d0058004d004c002d00530044004b00 -2f0062006c006f0062002f006d00610069006e002f004c004900430045004e00530045000000795881f43b1d7f48af2c825dc485276300000000a5ab0003024f0072001c0068005e000000a5}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 -https://github.com/OfficeDev/Open-XML-SDK/blob/main/LICENSE}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af40\afs20 \ltrch\fcs0 \f40\fs20\lang1053\langfe2052\langnp1053\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1053\langfe2052\kerning1\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Prism -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://msdn.microsoft.com/en-us/library/gg406140.aspx" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b8400000068007400740070003a002f002f006d00730064006e002e006d006900630072006f0073006f00660074002e0063006f006d002f0065006e002d00750073002f006c006900620072006100720079002f006700 -67003400300036003100340030002e0061007300700078000000795881f43b1d7f48af2c825dc485276300000000a5ab00032072009400550030005200355a73}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 -\hich\af4\dbch\af31505\loch\f4 http://msdn.microsoft.com/en-us/library/gg406140.aspx -\par }}}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "http://msdn.microsoft.com/en-us/library/gg405489(PandP.40).aspx" }{ -\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b9800000068007400740070003a002f002f006d00730064006e002e006d006900630072006f0073006f00660074002e0063006f006d002f0065006e002d00750073002f006c006900620072006100720079002f006700 -67003400300035003400380039002800500061006e00640050002e003400300029002e0061007300700078000000795881f43b1d7f48af2c825dc485276300000000a5ab00033a6f0034010000c8001a00194faa}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 http://msdn.microsoft.com/en-us/library\hich\af4\dbch\af31505\loch\f4 /gg405489(PandP.40).aspx -\par }}}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab\af4 \ltrch\fcs0 \b\lang1053\langfe2052\kerning1\langnp1053\insrsid9658238 +2f0062006c006f0062002f006d00610069006e002f004c004900430045004e00530045000000795881f43b1d7f48af2c825dc485276300000000a5ab0003024f0072001c0068005e000000a50000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238\charrsid2829184 \hich\af4\dbch\af31505\loch\f4 https://github.com/OfficeDev/Open-XML-SDK/blob/main/LICENSE}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238\charrsid2829184 +\par }{\rtlch\fcs1 \ab\af4 \ltrch\fcs0 \b\lang1053\langfe2052\kerning1\langnp1053\insrsid9658238 \par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1053\langfe2052\kerning1\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Python Standard Library \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://docs.python.org/2.7/library/" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b62000000680074007400700073003a002f002f0064006f00630073002e0070007900740068006f006e002e006f00720067002f0032002e0037002f006c006900620072006100720079002f000000795881f43b1d7f48 -af2c825dc485276300000000a5ab00032c6200430000002200b600006f48}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://docs.python.org/2.7/library/ +af2c825dc485276300000000a5ab00032c6200430000002200b600006f480000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://docs.python.org/2.7/library/ \par }}}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://docs.python.org/2.7/license.html" }{\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid1784394 {\*\datafield +\linex0\sectdefaultcl\sftnbj {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://docs.pyt\hich\af4\dbch\af31505\loch\f4 +hon.org/2.7/license.html" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6a000000680074007400700073003a002f002f0064006f00630073002e0070007900740068006f006e002e006f00720067002f0032002e0037002f006c006900630065006e00730065002e00680074006d006c000000 -795881f43b1d7f48af2c825dc485276300000000a5ab00032050006100710121007200004e5c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +795881f43b1d7f48af2c825dc485276300000000a5ab00032050006100710121007200004e5c0000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://docs.python.org/2.7/license.html \par }}}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect \linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1053\langfe2052\kerning1\langnp1053\insrsid9658238 \par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Python Modules}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf27\highlight8\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://numpy.org/ }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3e000000680074007400700073003a002f002f006e0075006d00700079002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab000312720073000000000055006e394e}}}{\fldrslt -{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://numpy.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 -\hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License: Distributed under a liberal}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf28\highlight8\insrsid9658238 \~} -{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://github.com/numpy/numpy/blob/main/LICENSE.txt" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3e000000680074007400700073003a002f002f006e0075006d00700079002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab000312720073000000000055006e394e0000}} +}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://numpy.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License: Distributed under a liberal}{\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\cf28\highlight8\insrsid9658238 \~}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://github.com/numpy/numpy/blob/main/LICENSE.txt" }{\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b82000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f006e0075006d00700079002f006e0075006d00700079002f0062006c006f0062002f006d00610069006e002f00 -4c004900430045004e00530045002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab00030f6f006c00fb0000000400005049}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf29\highlight8\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 BSD license -}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 +4c004900430045004e00530045002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab00030f6f006c00fb00000004000050490000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf29\highlight8\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +BSD license}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://pandas.pydata.org/ }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4e000000680074007400700073003a002f002f00700061006e006400610073002e007000790064006100740061002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab00033a3b2f00 -00010000003800000022}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https:\hich\af4\dbch\af31505\loch\f4 //pandas.pydata.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 +000100000038000000220000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://pandas.pydata.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\ul\cf26\lang1053\langfe2052\langnp1053\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 :}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 BSD 3-Clause "New" or "Revised" License}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf30\insrsid9658238 \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://scipy.org/ }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3e000000680074007400700073003a002f002f00730063006900700079002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab00037b6514750000000000eb0100726c}}}{\fldrslt -{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://scipy.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{ +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3e000000680074007400700073003a002f002f00730063006900700079002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab00037b6514750000000000eb0100726c0000}} +}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://scipy.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{ \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License:}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Distributed under a liberal}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\insrsid9658238 \~}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://github.com/numpy/numpy/blob/main/LICENSE.txt" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b82000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f006e0075006d00700079002f006e0075006d00700079002f0062006c006f0062002f006d00610069006e002f00 -4c004900430045004e00530045002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab000322612f6900000000003000220022}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf29\highlight8\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 BSD license -}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 +4c004900430045004e00530045002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab000322612f69000000000030002200220155}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf29\highlight8\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 +BSD license}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://pypi.org/project/openpyxl/ }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5e000000680074007400700073003a002f002f0070007900700069002e006f00720067002f00700072006f006a006500630074002f006f00700065006e007000790078006c002f000000795881f43b1d7f48af2c825d -c485276300000000a5ab000332361466000100000000004120d0}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://pypi.org/project/openpyxl/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 +c485276300000000a5ab000332361466000100000000004120d00022}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://pypi.org/project/openpyxl/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License:\~MIT License (MIT)}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf27\highlight8\insrsid9658238 \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://matplotlib.org/ }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b48000000680074007400700073003a002f002f006d006100740070006c006f0074006c00690062002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab0003066d004d0b0078790000 -00667539}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://m\hich\af4\dbch\af31505\loch\f4 atplotlib.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 : -}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Matplotlib only uses BSD compatible code, and its license is based on the\~}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 -\hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://docs.python.org/3/license.html" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid1784394 {\*\datafield +00667539003a}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://matplotlib.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 +\hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 : }{\rtlch\fcs1 +\af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Matplotlib only uses BSD compatible code, and its license is based on the\~}{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 +\hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://docs.python.org/3/license\hich\af4\dbch\af31505\loch\f4 .html" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b66000000680074007400700073003a002f002f0064006f00630073002e0070007900740068006f006e002e006f00720067002f0033002f006c006900630065006e00730065002e00680074006d006c000000795881f4 -3b1d7f48af2c825dc485276300000000a5ab0003222edd6f002e5d4600000000000a}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf2\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 PSF}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 +3b1d7f48af2c825dc485276300000000a5ab0003222edd6f002e5d4600000000000a0054}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf2\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 PSF}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \~\hich\af4\dbch\af31505\loch\f4 license}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf28\highlight8\insrsid9658238 \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK https://pypi.org/project/Pillow/ }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5a000000680074007400700073003a002f002f0070007900700069002e006f00720067002f00700072006f006a006500630074002f00500069006c006c006f0077002f000000795881f43b1d7f48af2c825dc4852763 -00000000a5ab000300142a6900887f3000f30000744b}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://pypi.org/project/Pillow/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 +00000000a5ab000300142a6900887f3000f30000744b005c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://pypi.org/project/Pillow/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf28\highlight8\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 License:}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \~ \hich\af4\dbch\af31505\loch\f4 Historical Permission Notice}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 and Disclaimer (HPND) }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf27\highlight8\insrsid9658238 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4 \ltrch\fcs0 \b\lang1053\langfe2052\kerning1\langnp1053\insrsid9658238 -\par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 SimplexNoise -\par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://unlicense.org/" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b46000000680074007400700073003a002f002f0075006e006c006900630065006e00730065002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab000300b88000009c003000000000 -0066}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 https://unlicense.org/ -\par }}}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4 \ltrch\fcs0 \lang1053\langfe2052\kerning1\langnp1053\insrsid9658238 -\par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Xceed Extended WPF Toolkit +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \lang1053\langfe2052\kerning1\langnp1053\insrsid9658238 +\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \lang1053\langfe2052\kerning1\langnp1053\insrsid14892156 +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid16455092 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid16455092\charrsid16455092 +\par \hich\af4\dbch\af31505\loch\f4 Xceed Extended WPF Toolkit v.5.0.103}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid16455092 \par }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://opensource.org/licenses/ms-pl.html" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e000000680074007400700073003a002f002f006f00700065006e0073006f0075007200630065002e006f00720067002f006c006900630065006e007300650073002f006d0073002d0070006c002e00680074006d00 -6c000000795881f43b1d7f48af2c825dc485276300000000a5ab000300eaff00008b585800000000006d}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 +6c000000795881f43b1d7f48af2c825dc485276300000000a5ab000300eaff00008b585800000000006d0038}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 Microsoft Public License -\par }}}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect -\linex0\sectdefaultcl\sftnbj {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 -HYPERLINK https://github.com/xceedsoftware/wpftoolkit/blob/0ed4ed84152d6a3e2a627f2ef05f82627fdaf3fc/license.md }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 }}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 +\hich\af4\dbch\af31505\loch\f4 HYPERLINK https://github.com/xceedsoftware/wpftoolkit/blob/0ed4ed84152d6a3e2a627f2ef05f82627fdaf3fc/license.md }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90be2000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f007800630065006500640073006f006600740077006100720065002f0077007000660074006f006f006c006b00 690074002f0062006c006f0062002f0030006500640034006500640038003400310035003200640036006100330065003200610036003200370066003200650066003000350066003800320036003200370066006400610066003300660063002f006c006900630065006e00730065002e006d0064000000795881f43b1d7f -48af2c825dc485276300000000a5ab0003005d800000cb7f4c000000006191}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 +48af2c825dc485276300000000a5ab0003005d800000cb7f4c0000000061910043}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\lang1036\langfe2052\langnp1036\insrsid9658238\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 https://github.com/xceedsoftware/wpftoolkit/blob/0ed4ed84152d6a3e2a627f2ef05f82627fdaf3fc/license.md}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1036\langfe2052\kerning1\langnp1036\insrsid9658238\charrsid15220234 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af40\afs20 \ltrch\fcs0 \b\f40\fs20\lang1036\langfe2052\kerning1\langnp1036\insrsid9658238\charrsid15220234 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Microsoft.Web.WebView2 v.1.0.1264.42 +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Microsoft.Web.WebView2 }{\rtlch\fcs1 \ab\af4\afs22 +\ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid13390354\charrsid13390354 \hich\af4\dbch\af31505\loch\f4 v.1.0.2045.28}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid9658238 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid9658238 \hich\af4\dbch\af31505\loch\f4 Copyright (C) Microsoft Corporation. All rights reserved. \par -\par \hich\af4\dbch\af31505\loch\f4 Redistribution and us\hich\af4\dbch\af31505\loch\f4 e in source and binary forms, with or without +\par \hich\af4\dbch\af31505\loch\f4 Redistribution and use in source and binary forms, with or without \par \hich\af4\dbch\af31505\loch\f4 modification, are permitted provided that the following conditions are \par \hich\af4\dbch\af31505\loch\f4 met: \par -\par \hich\af4\dbch\af31505\loch\f4 * Redistributions of source code must retain the above copyright +\par \hich\af4\dbch\af31505\loch\f4 * Redistribut\hich\af4\dbch\af31505\loch\f4 ions of source code must retain the above copyright \par \hich\af4\dbch\af31505\loch\f4 notice, this list of conditions and the following disclaimer. \par \hich\af4\dbch\af31505\loch\f4 * Redistributions in binary form must reproduce the above \par \hich\af4\dbch\af31505\loch\f4 copyright notice, this list of conditions and the following disclaimer -\par \hich\af4\dbch\af31505\loch\f4 in the documentation and/or other materials provided with the +\par \hich\af4\dbch\af31505\loch\f4 in the doc\hich\af4\dbch\af31505\loch\f4 umentation and/or other materials provided with the \par \hich\af4\dbch\af31505\loch\f4 distribution. -\par \hich\af4\dbch\af31505\loch\f4 * The name of Microsoft Corporation, or the n\hich\af4\dbch\af31505\loch\f4 ames of its contributors +\par \hich\af4\dbch\af31505\loch\f4 * The name of Microsoft Corporation, or the names of its contributors \par \hich\af4\dbch\af31505\loch\f4 may not be used to endorse or promote products derived from this \par \hich\af4\dbch\af31505\loch\f4 software without specific prior written permission. \par \par \hich\af4\dbch\af31505\loch\f4 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -\par \hich\af4\dbch\af31505\loch\f4 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIE\hich\af4\dbch\af31505\loch\f4 S, INCLUDING, BUT NOT +\par \hich\af4\dbch\af31505\loch\f4 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \par \hich\af4\dbch\af31505\loch\f4 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR \par \hich\af4\dbch\af31505\loch\f4 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \par \hich\af4\dbch\af31505\loch\f4 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -\par \hich\af4\dbch\af31505\loch\f4 SPECIAL, EXEMPLARY, OR CO\hich\af4\dbch\af31505\loch\f4 NSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +\par \hich\af4\dbch\af31505\loch\f4 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (I\hich\af4\dbch\af31505\loch\f4 NCLUDING, BUT NOT \par \hich\af4\dbch\af31505\loch\f4 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, \par \hich\af4\dbch\af31505\loch\f4 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY \par \hich\af4\dbch\af31505\loch\f4 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -\par \hich\af4\dbch\af31505\loch\f4 (INCLUDI\hich\af4\dbch\af31505\loch\f4 NG NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +\par \hich\af4\dbch\af31505\loch\f4 (INCLUDING NEGLIGENCE OR OTHER\hich\af4\dbch\af31505\loch\f4 WISE) ARISING IN ANY WAY OUT OF THE USE \par \hich\af4\dbch\af31505\loch\f4 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid1784394 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid1784394 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid1784394 \hich\af4\dbch\af31505\loch\f4 Lucene.Net +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid16215368 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid16215368\charrsid16215368 \hich\af4\dbch\af31505\loch\f4 Lucene.Net v.4.8.0-beta00016 +\par \hich\af4\dbch\af31505\loch\f4 Lucene.Net.Analysis.Common v.4.8.0-beta00016 +\par \hich\af4\dbch\af31505\loch\f4 Lucene.Net.Queries v.4.8.0-b\hich\af4\dbch\af31505\loch\f4 eta00016 +\par \hich\af4\dbch\af31505\loch\f4 Lucene.Net.QueryParser v.4.8.0-beta00016 +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid16215368 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid16215368\charrsid16215368 \hich\af4\dbch\af31505\loch\f4 +Lucene.Net.Sandbox v.4.8.0-beta00016}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid16215368 \par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://lucenenet.apache.org/"}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b54000000680074007400700073003a002f002f006c007500630065006e0065006e00650074002e006100700061006300680065002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab -0003804f65150000009200ff004c782e}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid11167982\charrsid11167982 \hich\af4\dbch\af31505\loch\f4 https://lucenenet.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +0003804f65150000009200ff004c782e0061}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid11167982\charrsid11167982 \hich\af4\dbch\af31505\loch\f4 https://lucenenet.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid11167982\charrsid3998130 \hich\af4\dbch\af31505\loch\f4 apache}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid11167982\charrsid11167982 \hich\af4\dbch\af31505\loch\f4 .org/}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid1784394 }}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid1784394 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 @@ -1457,20 +1426,19 @@ https://github.com/xceedsoftware/wpftoolkit/blob/0ed4ed84152d6a3e2a627f2ef05f826 HYPERLINK "}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid14298549\charrsid1784394 \hich\af4\dbch\af31505\loch\f4 https://github.com/apache/lucenenet/blob/master/LICENSE.txt}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid14298549 \hich\af4\dbch\af31505\loch\f4 " }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid3998130 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b90000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f006100700061006300680065002f006c007500630065006e0065006e00650074002f0062006c006f0062002f00 -6d00610073007400650072002f004c004900430045004e00530045002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab0003580000d46bcc0000004900}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf21\insrsid14298549\charrsid14700233 +6d00610073007400650072002f004c004900430045004e00530045002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab0003580000d46bcc00000049000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf21\insrsid14298549\charrsid14700233 \hich\af4\dbch\af31505\loch\f4 https://github.com/apache/lucenenet/blob/master/LICENSE.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid1784394 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid14298549 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14298549\charrsid14298549 \hich\af4\dbch\af31505\loch\f4 Copyright 2022 Apache Lucene.NET \par -\par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); yo\hich\af4\dbch\af31505\loch\f4 u may not use this file except in compliance with the License. You may obtain a copy of the License at}{\rtlch\fcs1 +\par \hich\af4\dbch\af31505\loch\f4 Licensed under the Apac\hich\af4\dbch\af31505\loch\f4 he License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14298549 \hich\af4\dbch\af31505\loch\f4 }{\field{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14298549 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14298549\charrsid14298549 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14298549 \hich\af4\dbch\af31505\loch\f4 " }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid3998130 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f004c004900430045004e00530045002d0032002e00 -30000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000380000b8586400ed00}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf21\insrsid14298549\charrsid14700233 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}} -\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14298549 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14298549\charrsid14298549 \hich\af4\dbch\af31505\loch\f4 -Unless required by applicable law or agreed to in writing, software distributed under the Li\hich\af4\dbch\af31505\loch\f4 -cense is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\cf25\insrsid14298549 +30000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000380000b8586400ed00ae00}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf21\insrsid14298549\charrsid14700233 \hich\af4\dbch\af31505\loch\f4 +http://www.apache.org/licenses/LICENSE-2.0}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14298549 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\cf25\insrsid14298549\charrsid14298549 \hich\af4\dbch\af31505\loch\f4 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT W\hich\af4\dbch\af31505\loch\f4 +ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid14298549 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid3998130 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3998130 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\lang1036\langfe2052\kerning1\langnp1036\insrsid3998130\charrsid15220234 \hich\af4\dbch\af31505\loch\f4 Microsoft.Extensions.Configuration.Json v6.0.0 @@ -1478,8 +1446,9 @@ cense is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF AN \par }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid3998130\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://github.com/dotnet/runtime/blob/main/LICENSE.TXT" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid4611777\charrsid4611777 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b88000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0064006f0074006e00650074002f00720075006e00740069006d0065002f0062006c006f0062002f006d006100 -69006e002f004c004900430045004e00530045002e005400580054000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000001100000015005c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf26\kerning1\insrsid3998130\charrsid4611777 -\hich\af4\dbch\af31505\loch\f4 https://github.com/dotnet/runtime/blob/main/LICENSE.TXT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid3998130\charrsid4611777 +69006e002f004c004900430045004e00530045002e005400580054000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000001100000015005c145c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf26\kerning1\insrsid3998130\charrsid4611777 +\hich\af4\dbch\af31505\loch\f4 https://github.com/dotnet/runtime/blob/main/LICENSE.TX\hich\af4\dbch\af31505\loch\f4 T}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid3998130\charrsid4611777 + \par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf26\kerning1\insrsid4611777 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid4611777 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 Copyright (c) .NET Foundation and Contributors @@ -1488,19 +1457,19 @@ Copyright (c) .NET Foundation and Contributors \par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 of this software and associated documentation files (the "Software"), to deal}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 in the Software without restriction, including without limitation the rights}{\rtlch\fcs1 \af4\afs22 -\ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 to use, copy, modify, me\hich\af4\dbch\af31505\loch\f4 -rge, publish, distribute, sublicense, and/or sell}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 -\hich\af4\dbch\af31505\loch\f4 copies of the Software, and to permit persons to whom the Software is}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 furnished to do so, subject to the following conditions: +\ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 copies of the Software, and\hich\af4\dbch\af31505\loch\f4 to permit persons to whom the Software is}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 +\hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 furnished to do so, subject to the following conditions: \par \par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 -\hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN N\hich\af4\dbch\af31505\loch\f4 -O EVENT SHALL THE}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "A\hich\af4\dbch\af31505\loch\f4 S IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 +\af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 +\hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE}{\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAG\hich\af4\dbch\af31505\loch\f4 ES OR OTHER}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 I}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4611777\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 N THE}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 @@ -1512,43 +1481,39 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER}{\rtlch\f \par }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid3998130\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://github.com/JoshClose/CsvHelper/blob/master/LICENSE.txt" }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid4611777\charrsid4611777 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b96000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f004a006f007300680043006c006f00730065002f00430073007600480065006c007000650072002f0062006c00 -6f0062002f006d00610073007400650072002f004c004900430045004e00530045002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab0003000087018f1306000078}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\cs19\fs22\ul\cf26\kerning1\insrsid3998130\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 https://github.com/JoshClose/CsvHelper/blob/master/LICENSE.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\cf26\kerning1\insrsid3998130\charrsid4611777 +6f0062002f006d00610073007400650072002f004c004900430045004e00530045002e007400780074000000795881f43b1d7f48af2c825dc485276300000000a5ab0003000087018f13060000780020}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\cs19\fs22\ul\cf26\kerning1\insrsid3998130\charrsid4611777 \hich\af4\dbch\af31505\loch\f4 https://github.com/JoshClose/CsvHelper/bl\hich\af4\dbch\af31505\loch\f4 ob/master/LICENSE.txt}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 +\ltrch\fcs0 \fs22\cf26\kerning1\insrsid3998130\charrsid4611777 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid4611777 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12653622 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777\charrsid14298549 \hich\af4\dbch\af31505\loch\f4 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777\charrsid14298549 -\hich\af4\dbch\af31505\loch\f4 http://\hich\af4\dbch\af31505\loch\f4 www.apache.org/licenses/LICENSE-2.0}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 " }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 -\fs22\cf25\insrsid4611777 {\*\datafield +\hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 " }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f007700770077002e006100700061006300680065002e006f00720067002f006c006900630065006e007300650073002f004c004900430045004e00530045002d0032002e00 -30000000795881f43b1d7f48af2c825dc485276300000000a5ab000300ff00003701ff66007300}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf21\insrsid4611777\charrsid14700233 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0}}} -\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777\charrsid14298549 \hich\af4\dbch\af31505\loch\f4 -Unless required by applicable law or agreed to in writ\hich\af4\dbch\af31505\loch\f4 -ing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.}{ -\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622\charrsid12653622 +30000000795881f43b1d7f48af2c825dc485276300000000a5ab000300ff00003701ff660073000000}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf21\insrsid4611777\charrsid14700233 \hich\af4\dbch\af31505\loch\f4 http://www.apache.org/licenses/LICENSE-2.0 +}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777 \hich\af4\dbch\af31505\loch\f4 }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4611777\charrsid14298549 \hich\af4\dbch\af31505\loch\f4 +Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language gover +\hich\af4\dbch\af31505\loch\f4 n\hich\af4\dbch\af31505\loch\f4 ing permissions and limitations under the License.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622\charrsid12653622 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3998130 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid3998130 -\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid4484117 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid4484117\charrsid9377761 \hich\af4\dbch\af31505\loch\f4 Pr -\hich\af4\dbch\af31505\loch\f4 ism.Core v8.1.97 +\par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid4484117 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid4484117\charrsid9377761 \hich\af4\dbch\af31505\loch\f4 Prism.Core v8.1.97 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid4484117\charrsid9377761 \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) \par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \cs19\ul\cf26\insrsid4484117\charrsid9377761 \hich\af4\dbch\af31505\loch\f4 https://github.com/PrismLibrary/Prism/blob/master/LICENSE.txt \par }{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid4484117\charrsid9377761 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid4484117 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid4484117\charrsid12335516 \hich\af4\dbch\af31505\loch\f4 Copyright (c) Prism Library \par -\par \hich\af4\dbch\af31505\loch\f4 -All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to -\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +\par \hich\af4\dbch\af31505\loch\f4 All rights reserved. Permission is hereby granted, free of charge, to a\hich\af4\dbch\af31505\loch\f4 +ny person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par -\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice sh\hich\af4\dbch\af31505\loch\f4 all be included in all copies or substantial portions of the Software. +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \par -\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\hich\af4\dbch\af31505\loch\f4 - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEAL -\hich\af4\dbch\af31505\loch\f4 I\hich\af4\dbch\af31505\loch\f4 NGS IN THE SOFTWARE. +\par \hich\af4\dbch\af31505\loch\f4 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +\hich\af4\dbch\af31505\loch\f4 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3998130 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid3998130 \hich\af4\dbch\af31505\loch\f4 HYPERLINK "https://lucenenet.apache.org/"}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid3998130 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b54000000680074007400700073003a002f002f006c007500630065006e0065006e00650074002e006100700061006300680065002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab -0003804f657a0000000500010000005c}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid3998130 +0003804f657a0000000500010000005c0049}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid3998130 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12653622 }}\pard\plain \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12653622 \rtlch\fcs1 \af4\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af4\hich\af4\dbch\af31505\cgrid\langnp1033\langfenp2052 \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid12653622 \hich\af4\dbch\af31505\loch\f4 MimeMapping}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid12653622\charrsid3998130 \hich\af4\dbch\af31505\loch\f4 v}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid12653622 \hich\af4\dbch\af31505\loch\f4 2.}{ @@ -1558,53 +1523,214 @@ MimeMapping}{\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid12653622\charrsid9731339 \hich\af4\dbch\af31505\loch\f4 https://licenses.nuget.org/MIT}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid12653622 \hich\af4\dbch\af31505\loch\f4 " }{ \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid12653622 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b56000000680074007400700073003a002f002f006c006900630065006e007300650073002e006e0075006700650074002e006f00720067002f004d00490054000000795881f43b1d7f48af2c825dc485276300000000 -a5ab00030087006e006d}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf21\kerning1\insrsid12653622\charrsid10299691 \hich\af4\dbch\af31505\loch\f4 https://licenses.nuget.org/MIT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 +a5ab00030087006e006d1e63}}}{\fldrslt {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf21\kerning1\insrsid12653622\charrsid10299691 \hich\af4\dbch\af31505\loch\f4 https://licenses.nuget.org/MIT}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf26\kerning1\insrsid12653622 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622\charrsid9731339 \hich\af4\dbch\af31505\loch\f4 Copyright (c) }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622\charrsid9731339 -\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy\hich\af4\dbch\af31505\loch\f4 of\~}{\rtlch\fcs1 \ai\af4\afs22 \ltrch\fcs0 \i\fs22\cf25\insrsid12653622\charrsid9731339 +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charg\hich\af4\dbch\af31505\loch\f4 e, to any person obtaining a copy of\~}{\rtlch\fcs1 \ai\af4\afs22 \ltrch\fcs0 \i\fs22\cf25\insrsid12653622\charrsid9731339 \hich\af4\dbch\af31505\loch\f4 this software and associated documentation files}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622\charrsid9731339 \~\hich\af4\dbch\af31505\loch\f4 -(the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, an\hich\af4\dbch\af31505\loch\f4 -d to permit persons to whom the Software is furnished to do so, subject to the following conditions: +(the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/o\hich\af4\dbch\af31505\loch\f4 +r sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice\~}{\rtlch\fcs1 \ai\af4\afs22 \ltrch\fcs0 \i\fs22\cf25\insrsid12653622\charrsid9731339 \hich\af4\dbch\af31505\loch\f4 (including the next paragraph)}{\rtlch\fcs1 -\af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622\charrsid9731339 \~\hich\af4\dbch\af31505\loch\f4 shall be included in all copies or substantial portions of the Softwar\hich\af4\dbch\af31505\loch\f4 e.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622\charrsid9731339 \~\hich\af4\dbch\af31505\loch\f4 shall be included in all copies or su\hich\af4\dbch\af31505\loch\f4 bstantial portions of the Software.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622 \par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622\charrsid9731339 \par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\~}{ \rtlch\fcs1 \ai\af4\afs22 \ltrch\fcs0 \i\fs22\cf25\insrsid12653622\charrsid9731339 \hich\af4\dbch\af31505\loch\f4 THE AUTHORS OR COPYRIGHT HOLDERS}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid12653622\charrsid9731339 \~ -\hich\af4\dbch\af31505\loch\f4 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.}{\rtlch\fcs1 -\af4\afs22 \ltrch\fcs0 \cs19\fs22\ul\cf21\insrsid12653622\charrsid9731339 +\hich\af4\dbch\af31505\loch\f4 BE \hich\af4\dbch\af31505\loch\f4 +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 +\cs19\fs22\ul\cf21\insrsid12653622\charrsid9731339 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3998130 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid3998130 \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3346706 {\rtlch\fcs1 \ab\af4\afs22 \ltrch\fcs0 \b\fs22\cf25\kerning1\insrsid3346706\charrsid15019625 \hich\af4\dbch\af31505\loch\f4 DotNetProjects.Extended.Wpf.Toolkit v5.0.103 -\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid3346706\charrsid15019625 \hich\af4\dbch\af31505\loch\f4 M\hich\af4\dbch\af31505\loch\f4 icrosoft Public License +\par }{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid3346706\charrsid15019625 \hich\af4\dbch\af31505\loch\f4 Micro\hich\af4\dbch\af31505\loch\f4 soft Public License \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3346706 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\ul\cf26\insrsid3346706\charrsid15019625 \hich\af4\dbch\af31505\loch\f4 https://github.com/dotnetprojects/WpfExtendedToolkit/blob/Extended/LICENSE.md \par \par }\pard \ltrpar\ql \li0\ri0\sl288\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3346706 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\kerning1\insrsid3346706\charrsid15019625 \hich\af4\dbch\af31505\loch\f4 -This license governs use of the accompanying software. If you use the software, you \hich\af4\dbch\af31505\loch\f4 accept this license. If you do not accept the license, do not use the software. +This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the sof\hich\af4\dbch\af31505\loch\f4 tware. \par \par \hich\af4\dbch\af31505\loch\f4 1. Definitions \par \hich\af4\dbch\af31505\loch\f4 -The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. A "contribution" is the original software, or any additions or changes to the software. A "contributor" is any person tha -\hich\af4\dbch\af31505\loch\f4 t\hich\af4\dbch\af31505\loch\f4 distributes its contribution under this license. "Licensed patents" are a contributor's patent claims that read directly on its contribution. +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. A "contribution" is the original software, or any additions or changes to the software. A "contribu +\hich\af4\dbch\af31505\loch\f4 tor" is any person that distributes its contribution under this license. "Licensed patents" are a contributor's patent claims that read directly on its contribution. \par \hich\af4\dbch\af31505\loch\f4 2. Grant of Rights -\par \hich\af4\dbch\af31505\loch\f4 (A) Copyright Grant- Subject to the terms of this license, including the license conditions an\hich\af4\dbch\af31505\loch\f4 -d limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that yo -\hich\af4\dbch\af31505\loch\f4 u\hich\af4\dbch\af31505\loch\f4 create. -\par \hich\af4\dbch\af31505\loch\f4 -(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, -\hich\af4\dbch\af31505\loch\f4 sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. +\par \hich\af4\dbch\af31505\loch\f4 (A) Copyright Grant- Subject to the terms of this license, including th\hich\af4\dbch\af31505\loch\f4 +e license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any d +\hich\af4\dbch\af31505\loch\f4 e\hich\af4\dbch\af31505\loch\f4 rivative works that you create. +\par \hich\af4\dbch\af31505\loch\f4 (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents t +\hich\af4\dbch\af31505\loch\f4 o make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. \par \hich\af4\dbch\af31505\loch\f4 3. Conditions and Limitations -\par \hich\af4\dbch\af31505\loch\f4 (A) No Trademark License- This license does not grant you rights to use any c\hich\af4\dbch\af31505\loch\f4 ontributors' name, logo, or trademarks. +\par \hich\af4\dbch\af31505\loch\f4 (A) No Trademark License- This license does not grant \hich\af4\dbch\af31505\loch\f4 you rights to use any contributors' name, logo, or trademarks. \par \hich\af4\dbch\af31505\loch\f4 (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. -\par \hich\af4\dbch\af31505\loch\f4 (C) If you distribute a\hich\af4\dbch\af31505\loch\f4 ny portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. -\par \hich\af4\dbch\af31505\loch\f4 (D) If you distribute any portion of the software in source code form, you may do so only under this license by includin\hich\af4\dbch\af31505\loch\f4 -g a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. -\par \hich\af4\dbch\af31505\loch\f4 (E) The software is licensed "as-is." You bear the \hich\af4\dbch\af31505\loch\f4 -risk of using it. The contributors give no express warranties, guarantees, or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclu -\hich\af4\dbch\af31505\loch\f4 d\hich\af4\dbch\af31505\loch\f4 e the implied warranties of merchantability, fitness for a particular purpose and non-infringement. +\par \hich\af4\dbch\af31505\loch\f4 (C) If you distribute any portion of the software, you must ret\hich\af4\dbch\af31505\loch\f4 ain all copyright, patent, trademark, and attribution notices that are present in the software. +\par \hich\af4\dbch\af31505\loch\f4 (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with y\hich\af4\dbch\af31505\loch\f4 +our distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. +\par \hich\af4\dbch\af31505\loch\f4 (E) The software is licensed "as-is." You bear the risk of using it. The contributors give \hich\af4\dbch\af31505\loch\f4 +no express warranties, guarantees, or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantabi +\hich\af4\dbch\af31505\loch\f4 l\hich\af4\dbch\af31505\loch\f4 ity, fitness for a particular purpose and non-infringement. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3998130 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid3346706 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid1060736 {\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid1060736\charrsid1060736 \hich\af4\dbch\af31505\loch\f4 CastleCore v.5.1.1 +\par \hich\af4\dbch\af31505\loch\f4 APACHE 2.0 +\par \hich\af4\dbch\af31505\loch\f4 Copyright 2004-2021 Castle Project - http://www.castleproject.org/ +\par +\par \hich\af4\dbch\af31505\loch\f4 https://github.com/castleproject/Core/blob/master/LICENSE +\par +\par \hich\af4\dbch\af31505\loch\f4 DynamicLanguageRuntime v.1.2.2 +\par \hich\af4\dbch\af31505\loch\f4 APACHE 2.0 +\par \hich\af4\dbch\af31505\loch\f4 https://github.com/IronLanguages/dlr/blob/master/LICENSE +\par +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) .NET Foundation and Contributors +\par \hich\af4\dbch\af31505\loch\f4 All Rights Reserved +\par +\par \hich\af4\dbch\af31505\loch\f4 Licensed under the\hich\af4\dbch\af31505\loch\f4 + Apache License, Version 2.0 (the ""License""); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, +\hich\af4\dbch\af31505\loch\f4 s\hich\af4\dbch\af31505\loch\f4 +oftware distributed under the License is distributed on an ""AS IS"" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +\par +\par \hich\af4\dbch\af31505\loch\f4 HarfBuz\hich\af4\dbch\af31505\loch\f4 zSharp v.2.8.2.4-preview.84 +\par \hich\af4\dbch\af31505\loch\f4 HarfBuzzSharp.NativeAssets.macOS v.2.8.2.4-preview.84 +\par \hich\af4\dbch\af31505\loch\f4 HarfBuzzSharp.NativeAssets.Win32 v.2.8.2.4-preview.84 +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2015-2016 Xamarin, Inc. +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2017-2018 Microsoft Corporation. +\par +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free\hich\af4\dbch\af31505\loch\f4 + of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublice +\hich\af4\dbch\af31505\loch\f4 n\hich\af4\dbch\af31505\loch\f4 se, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +\par +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of\hich\af4\dbch\af31505\loch\f4 the Software. +\par +\par \hich\af4\dbch\af31505\loch\f4 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYR +\hich\af4\dbch\af31505\loch\f4 IGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +\par +\par \hich\af4\dbch\af31505\loch\f4 SkiaSharp v.2.88.4-preview.84 +\par \hich\af4\dbch\af31505\loch\f4 Skia\hich\af4\dbch\af31505\loch\f4 Sharp.HarfBuzz v.2.88.4-preview.84 +\par \hich\af4\dbch\af31505\loch\f4 SkiaSharp.NativeAssets.macOS v.2.88.4-preview.84 +\par \hich\af4\dbch\af31505\loch\f4 SkiaSharp.NativeAssets.Win32 v.2.88.4-preview.84 +\par \hich\af4\dbch\af31505\loch\f4 SkiaSharp.Views.Desktop.Common v.2.88.4-preview.84 +\par \hich\af4\dbch\af31505\loch\f4 SkiaSharp.Views.WPF v.2.88.4-preview.84 +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2015-2016 Xamarin, Inc. +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2017-2018 Microsoft Corporation. +\par +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (\hich\af4\dbch\af31505\loch\f4 +the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished +\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 to do so, subject to the following conditions: +\par +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +\par +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI\hich\af4\dbch\af31505\loch\f4 +ED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTR +\hich\af4\dbch\af31505\loch\f4 A\hich\af4\dbch\af31505\loch\f4 CT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\par +\par \hich\af4\dbch\af31505\loch\f4 SoapFormatter v1.0.11 +\par \hich\af4\dbch\af31505\loch\f4 https://github.com/novotnyllc/SoapFormatter/blob/main/LICENSE +\par +\par \hich\af4\dbch\af31505\loch\f4 In general, the runtime and its class librari\hich\af4\dbch\af31505\loch\f4 es are licensed under the +\par \hich\af4\dbch\af31505\loch\f4 terms of the MIT license, and some third party code is licensed under +\par \hich\af4\dbch\af31505\loch\f4 the 3-clause BSD license. See the file "PATENTS.TXT" for Microsoft's +\par \hich\af4\dbch\af31505\loch\f4 patent grant on the Mono codebase. +\par +\par \hich\af4\dbch\af31505\loch\f4 coverlet.collector v.3.1.2 +\par \hich\af4\dbch\af31505\loch\f4 The MIT License (MIT) +\par \hich\af4\dbch\af31505\loch\f4 https\hich\af4\dbch\af31505\loch\f4 ://github.com/coverlet-coverage/coverlet/blob/master/LICENSE +\par +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2018 Toni Solarin-Sodara +\par +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy +\par \hich\af4\dbch\af31505\loch\f4 of this software and associated documentation files (the "Software"), to deal +\par \hich\af4\dbch\af31505\loch\f4 in the Software without restriction, including without limitation the rights +\par \hich\af4\dbch\af31505\loch\f4 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +\par \hich\af4\dbch\af31505\loch\f4 copies of the Software, and to permit persons to whom the Software is +\par \hich\af4\dbch\af31505\loch\f4 furnished to do so, subject to the following conditions: +\par +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all +\par \hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. +\par +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRES\hich\af4\dbch\af31505\loch\f4 S OR +\par \hich\af4\dbch\af31505\loch\f4 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +\par \hich\af4\dbch\af31505\loch\f4 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +\par \hich\af4\dbch\af31505\loch\f4 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +\par \hich\af4\dbch\af31505\loch\f4 LIABILITY, WHETHER IN AN ACTION\hich\af4\dbch\af31505\loch\f4 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +\par \hich\af4\dbch\af31505\loch\f4 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +\par \hich\af4\dbch\af31505\loch\f4 SOFTWARE. +\par +\par \hich\af4\dbch\af31505\loch\f4 J2N v.2.0.0 +\par \hich\af4\dbch\af31505\loch\f4 APACHE 2.0 +\par \hich\af4\dbch\af31505\loch\f4 https://github.com/NightOwl888/J2N/blob/main/LICENSE.txt +\par +\par \hich\af4\dbch\af31505\loch\f4 JUnitTestLogger v.1.1.0 +\par \hich\af4\dbch\af31505\loch\f4 MIT License +\par \hich\af4\dbch\af31505\loch\f4 htt\hich\af4\dbch\af31505\loch\f4 ps://github.com/syncromatics/JUnitTestLogger/blob/master/LICENSE +\par +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2017 GMV Syncromatics Engineering +\par +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy +\par \hich\af4\dbch\af31505\loch\f4 of this software and associated documentation files (the "Softwa\hich\af4\dbch\af31505\loch\f4 re"), to deal +\par \hich\af4\dbch\af31505\loch\f4 in the Software without restriction, including without limitation the rights +\par \hich\af4\dbch\af31505\loch\f4 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +\par \hich\af4\dbch\af31505\loch\f4 copies of the Software, and to permit persons to whom the Software is +\par \hich\af4\dbch\af31505\loch\f4 furnished to do so, s\hich\af4\dbch\af31505\loch\f4 ubject to the following conditions: +\par +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all +\par \hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. +\par +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +\par \hich\af4\dbch\af31505\loch\f4 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +\par \hich\af4\dbch\af31505\loch\f4 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +\par \hich\af4\dbch\af31505\loch\f4 AUTHORS OR COPYRIGHT HOLDERS BE \hich\af4\dbch\af31505\loch\f4 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +\par \hich\af4\dbch\af31505\loch\f4 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +\par \hich\af4\dbch\af31505\loch\f4 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +\par \hich\af4\dbch\af31505\loch\f4 SOFTWARE. +\par +\par \hich\af4\dbch\af31505\loch\f4 JunitXml.TestLogger v.3.0.124 +\par \hich\af4\dbch\af31505\loch\f4 MIT License +\par \hich\af4\dbch\af31505\loch\f4 https://\hich\af4\dbch\af31505\loch\f4 github.com/spekt/junit.testlogger/blob/master/LICENSE.md +\par +\par \hich\af4\dbch\af31505\loch\f4 Copyright (c) 2017-2018 +\par +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free of charge, to any person obtaining a copy +\par \hich\af4\dbch\af31505\loch\f4 of this software and associated documentation files (the "Software"), to deal +\par \hich\af4\dbch\af31505\loch\f4 in the Software wi\hich\af4\dbch\af31505\loch\f4 thout restriction, including without limitation the rights +\par \hich\af4\dbch\af31505\loch\f4 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +\par \hich\af4\dbch\af31505\loch\f4 copies of the Software, and to permit persons to whom the Software is +\par \hich\af4\dbch\af31505\loch\f4 furnished to do so, subject to the following conditio\hich\af4\dbch\af31505\loch\f4 ns: +\par +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in all +\par \hich\af4\dbch\af31505\loch\f4 copies or substantial portions of the Software. +\par +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +\par \hich\af4\dbch\af31505\loch\f4 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +\par \hich\af4\dbch\af31505\loch\f4 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +\par \hich\af4\dbch\af31505\loch\f4 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +\par \hich\af4\dbch\af31505\loch\f4 LIABILITY, WHETHER IN AN ACTION OF C\hich\af4\dbch\af31505\loch\f4 ONTRACT, TORT OR OTHERWISE, ARISING FROM, +\par \hich\af4\dbch\af31505\loch\f4 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +\par \hich\af4\dbch\af31505\loch\f4 SOFTWARE. +\par +\par \hich\af4\dbch\af31505\loch\f4 NUnit.Analyzers v.3.3.0 +\par \hich\af4\dbch\af31505\loch\f4 https://github.com/nunit/nunit.analyzers/blob/master/license.txt +\par +\par \hich\af4\dbch\af31505\loch\f4 Permission is hereby granted, free \hich\af4\dbch\af31505\loch\f4 of charge, to any person obtaining a copy +\par \hich\af4\dbch\af31505\loch\f4 of this software and associated documentation files (the "Software"), to deal +\par \hich\af4\dbch\af31505\loch\f4 in the Software without restriction, including without limitation the rights +\par \hich\af4\dbch\af31505\loch\f4 to use, copy, modify, merge, publish, distribute, sublicens\hich\af4\dbch\af31505\loch\f4 e, and/or sell +\par \hich\af4\dbch\af31505\loch\f4 copies of the Software, and to permit persons to whom the Software is +\par \hich\af4\dbch\af31505\loch\f4 furnished to do so, subject to the following conditions: +\par +\par \hich\af4\dbch\af31505\loch\f4 The above copyright notice and this permission notice shall be included in +\par \hich\af4\dbch\af31505\loch\f4 all copies or substantial portions of \hich\af4\dbch\af31505\loch\f4 the Software. +\par +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +\par \hich\af4\dbch\af31505\loch\f4 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +\par \hich\af4\dbch\af31505\loch\f4 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +\par \hich\af4\dbch\af31505\loch\f4 AUTHORS OR COPYRI\hich\af4\dbch\af31505\loch\f4 GHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +\par \hich\af4\dbch\af31505\loch\f4 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +\par \hich\af4\dbch\af31505\loch\f4 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE. +\par +\par \hich\af4\dbch\af31505\loch\f4 NUnit3TestAdapter v.4.2.1 +\par \hich\af4\dbch\af31505\loch\f4 MIT License}{\rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \fs22\cf25\insrsid1060736 \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad 5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 @@ -1748,8 +1874,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000508b -d5e7f1c6d901feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000502f +cd5a7e03da01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/!=.dyn b/doc/distrib/NodeHelpFiles/!=.dyn new file mode 100644 index 00000000000..fb8b05511b8 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/!=.dyn @@ -0,0 +1,267 @@ +{ + "Uuid": "82cd00e7-0efc-4f47-846f-4d15cfc94dab", + "IsCustomNode": false, + "Description": "", + "Name": "!=", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "07b2176843434eba9614e4a2749fc3bf", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "47.7", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 0.1, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + }, + { + "Id": "4ddd09f3e073473bb61d7536a9cca3e4", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "12.6", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 0.1, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 0.1, + "Id": "07b2176843434eba9614e4a2749fc3bf", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "77331b9aa58242808c577087b95d7f2f", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 47.7 + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 0.1, + "Id": "4ddd09f3e073473bb61d7536a9cca3e4", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "e4d39865cdf24421a2d3c144d6996231", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 12.6 + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "5f1f459ded4d457eae613cd76a6e0e81", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "dc7a8842d5114537896ef1734a4de5ab", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f3d0a238283d4d69917f069f39836867", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "b344313d0942443a8ba732ed8a386369", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "1a43719ac47145518c505552643f05ba", + "Name": "x", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "a152a8af792d427cb478b79ff8692ee6", + "Name": "y", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "2c021a4fe2ce4c438792e25bfc5eceec", + "Name": "bool", + "Description": "Result of check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "!=@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Returns true if the two values are different\n\n!= (x: var[]..[], y: var[]..[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "77331b9aa58242808c577087b95d7f2f", + "End": "1a43719ac47145518c505552643f05ba", + "Id": "4a0b8a5e046946f995dde968b4b668ec", + "IsHidden": "False" + }, + { + "Start": "e4d39865cdf24421a2d3c144d6996231", + "End": "a152a8af792d427cb478b79ff8692ee6", + "Id": "f9584de10fd04089ba1fb96ed41989a4", + "IsHidden": "False" + }, + { + "Start": "2c021a4fe2ce4c438792e25bfc5eceec", + "End": "dc7a8842d5114537896ef1734a4de5ab", + "Id": "376a9cbb822e4b18a80796bbd2300ff6", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "07b2176843434eba9614e4a2749fc3bf", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 99.800000000000068, + "Y": 169.8 + }, + { + "Id": "4ddd09f3e073473bb61d7536a9cca3e4", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 99.800000000000068, + "Y": 317.8 + }, + { + "Id": "5f1f459ded4d457eae613cd76a6e0e81", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 811.80000000000007, + "Y": 226.8 + }, + { + "Id": "b344313d0942443a8ba732ed8a386369", + "Name": "!=", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 547.80000000000007, + "Y": 226.8 + } + ], + "Annotations": [], + "X": 331.13225372525721, + "Y": 29.580206135945787, + "Zoom": 0.84036670197057128 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/!=.md b/doc/distrib/NodeHelpFiles/!=.md new file mode 100644 index 00000000000..bcc35d1b961 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/!=.md @@ -0,0 +1,8 @@ +## In Depth +The `!=` node is the Not Equal To operator. It takes two input values and returns True if the two values are not equal and False if the two values are equal. + +In the example below, a `!=` node is used to determine if the two input values are not equal. We use two number sliders to control the inputs to the `!=` operator. +___ +## Example File + +![!=](./!=_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/!=_img.jpg b/doc/distrib/NodeHelpFiles/!=_img.jpg new file mode 100644 index 00000000000..2c8fe5c82c5 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/!=_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/%.dyn b/doc/distrib/NodeHelpFiles/%.dyn new file mode 100644 index 00000000000..1a7b1e893b1 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/%.dyn @@ -0,0 +1,267 @@ +{ + "Uuid": "7925aa7f-bfec-4fcb-9b4c-4d6becf5e9e9", + "IsCustomNode": false, + "Description": "", + "Name": "%", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "8c7c2850668047dcab5faa617fccd17e", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "49", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + }, + { + "Id": "a9755cd6f14942cd953a4c759cb23844", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "5", + "MaximumValue": 10.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "Id": "8c7c2850668047dcab5faa617fccd17e", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "221e562e198e49cda0dd807f35a5510a", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 49.0 + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 10.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "Id": "a9755cd6f14942cd953a4c759cb23844", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "a294bcb8c63e408e8c7fbb33eaf9f35a", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 5.0 + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 28.0, + "WatchHeight": 38.0, + "Id": "bf68868707d44bb2ae62e6e999c77cfb", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "890718983c804456ae80f1ecd3a4ffb9", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "2320e01e81264d41942e3c05b3dec8bc", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "d770e3b698ba4135b54da0c17917a4f6", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "0290426b73704b27845120fafdbfd8b2", + "Name": "x", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "35bc76101d7c41faac3961c5805f94a4", + "Name": "y", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "534a8afa95be4b5ebf754b46e25f01ed", + "Name": "number", + "Description": "Remainder of the x input after being divided by the y input", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "%@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Modulo: Finds the remainder of x/y\n\n% (x: var[]..[], y: var[]..[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "221e562e198e49cda0dd807f35a5510a", + "End": "0290426b73704b27845120fafdbfd8b2", + "Id": "77c8fbdc75ab4638a89663629f63440c", + "IsHidden": "False" + }, + { + "Start": "a294bcb8c63e408e8c7fbb33eaf9f35a", + "End": "35bc76101d7c41faac3961c5805f94a4", + "Id": "b32f03d525c04cc3955d2b7468c3efc0", + "IsHidden": "False" + }, + { + "Start": "534a8afa95be4b5ebf754b46e25f01ed", + "End": "890718983c804456ae80f1ecd3a4ffb9", + "Id": "66ec2b72ae1d49fbbedee8abe43e07c6", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "8c7c2850668047dcab5faa617fccd17e", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 89.9544276457885, + "Y": 169.8 + }, + { + "Id": "a9755cd6f14942cd953a4c759cb23844", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 89.954427645788542, + "Y": 317.8 + }, + { + "Id": "bf68868707d44bb2ae62e6e999c77cfb", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 820.95442764578854, + "Y": 226.8 + }, + { + "Id": "d770e3b698ba4135b54da0c17917a4f6", + "Name": "%", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 537.95442764578854, + "Y": 227.48302493966213 + } + ], + "Annotations": [], + "X": 261.0023027440273, + "Y": 31.195826371404365, + "Zoom": 0.74129933883645294 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/%.md b/doc/distrib/NodeHelpFiles/%.md new file mode 100644 index 00000000000..2e0bacc8e4a --- /dev/null +++ b/doc/distrib/NodeHelpFiles/%.md @@ -0,0 +1,8 @@ +## In Depth +The `%` node is the modulo operator. It returns the remainder of the `x` input after it is divided by the `y` input. + +In the example below, a `%` node is used to return the remainder of x/y. We use two number sliders to control the inputs to the `%` operator. +___ +## Example File + +![%](./modulo_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/&&.dyn b/doc/distrib/NodeHelpFiles/&&.dyn new file mode 100644 index 00000000000..1d70f901fc4 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/&&.dyn @@ -0,0 +1,211 @@ +{ + "Uuid": "602c03b2-552a-4120-b62e-9e9438d5a481", + "IsCustomNode": false, + "Description": "", + "Name": "&&", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "e965f24253a74a2c8ed454e8d433def1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "e30fc00e9f1f48c6b34c6247692a14e1", + "Name": "x", + "Description": "A boolean to check if true\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "d8ff640ee5b54066830f9eda2ac29980", + "Name": "y", + "Description": "Another boolean to check if true\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9766432f7a344cd08325bfd8ef555e28", + "Name": "bool", + "Description": "Result of check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "&&@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Logical AND operator\n\n&& (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "5b61bcb663014b3d9802d7da7519959f", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "0bc82f4252f94ab8b470ed894f33e4c2", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "7e97954e61da46f9b3a10695a659d045", + "Name": "", + "Description": "Value of expression at line 2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "[true,true,false,false];\n[true,false,true,false];" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "9083902fd0af4988a1d9c5c29a144b34", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "1c25636ccc9345f2af2001565f28d4e3", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0197613771a842208149f15a792514bc", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "9766432f7a344cd08325bfd8ef555e28", + "End": "1c25636ccc9345f2af2001565f28d4e3", + "Id": "81c9e682d4044206b0bbb042f701a429", + "IsHidden": "False" + }, + { + "Start": "0bc82f4252f94ab8b470ed894f33e4c2", + "End": "e30fc00e9f1f48c6b34c6247692a14e1", + "Id": "527d1c2873304abba8b46025f2aec41f", + "IsHidden": "False" + }, + { + "Start": "7e97954e61da46f9b3a10695a659d045", + "End": "d8ff640ee5b54066830f9eda2ac29980", + "Id": "438bdb3f99074135adfe35ef8a885d3d", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "e965f24253a74a2c8ed454e8d433def1", + "Name": "&&", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 343.96500402252616, + "Y": 166.19857385460782 + }, + { + "Id": "5b61bcb663014b3d9802d7da7519959f", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 9.97633230969143, + "Y": 188.9567995123341 + }, + { + "Id": "9083902fd0af4988a1d9c5c29a144b34", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 569.319469725056, + "Y": 167.65600302401981 + } + ], + "Annotations": [], + "X": 221.97617375972641, + "Y": -61.925951001529342, + "Zoom": 1.0616034524695668 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/&&.md b/doc/distrib/NodeHelpFiles/&&.md new file mode 100644 index 00000000000..d1555652440 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/&&.md @@ -0,0 +1,8 @@ +## In Depth +`&&` accepts two Boolean values, or lists of Boolean values, and determines whether both values are True. In all other cases, it returns False. + +In the example below, we start with two lists of Boolean values. Together, these lists represent the 4 possible combinations of True and False values. `&&` returns True only for the first pair of values, which are both True. The others are either combinations of True and False, or False and False, so `&&` returns False. +___ +## Example File + +![&&](./&&_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/&&_img.jpg b/doc/distrib/NodeHelpFiles/&&_img.jpg new file mode 100644 index 00000000000..fb94681a2e7 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/&&_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/-.dyn b/doc/distrib/NodeHelpFiles/-.dyn new file mode 100644 index 00000000000..fda4cb0e1c3 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/-.dyn @@ -0,0 +1,267 @@ +{ + "Uuid": "a8d6a28e-c57a-44a8-9bb4-0bf447b5ecbc", + "IsCustomNode": false, + "Description": "", + "Name": "-", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "806cd5c76e714d75aea54bdc72ccda0c", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "47.7", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 0.1, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + }, + { + "Id": "c65518244b0b4d31a134cd81b9c3930d", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "12.6", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 0.1, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "2cf27987cf884c8c84ce947439e0487a", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "2eede8a05eb6456682abf5325f82bcaf", + "Name": "x", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "4394823a2cb743c0a9ca2d4fa0b09458", + "Name": "y", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "61b6dc56eec443f9bf5f3eecfa18e85e", + "Name": "number", + "Description": "Result of the y input subtracted from the x input", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "-@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Returns subtraction of x minus y\n\n- (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 0.1, + "Id": "806cd5c76e714d75aea54bdc72ccda0c", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "2d5a21c63052411696e84c9fddba3b08", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 47.7 + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 0.1, + "Id": "c65518244b0b4d31a134cd81b9c3930d", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "5e834097b390409880d6b1fc481e1557", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 12.6 + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "261fe948d36244a8a34c9947be55493c", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "21b73ee36a35401d9df3d8460237b53f", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1e07c5ffa295431bb51f3867f034e178", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "61b6dc56eec443f9bf5f3eecfa18e85e", + "End": "21b73ee36a35401d9df3d8460237b53f", + "Id": "ece23071c7104e79b6af67c8af4331bc", + "IsHidden": "False" + }, + { + "Start": "2d5a21c63052411696e84c9fddba3b08", + "End": "2eede8a05eb6456682abf5325f82bcaf", + "Id": "1eb61c3cd433414cb5d208ceb4e149e5", + "IsHidden": "False" + }, + { + "Start": "5e834097b390409880d6b1fc481e1557", + "End": "4394823a2cb743c0a9ca2d4fa0b09458", + "Id": "2b96b34bb55541b5bd577e4af6426e66", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "2cf27987cf884c8c84ce947439e0487a", + "Name": "-", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 538.30000000000007, + "Y": 226.8 + }, + { + "Id": "806cd5c76e714d75aea54bdc72ccda0c", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 90.300000000000068, + "Y": 169.8 + }, + { + "Id": "c65518244b0b4d31a134cd81b9c3930d", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 90.300000000000068, + "Y": 317.8 + }, + { + "Id": "261fe948d36244a8a34c9947be55493c", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 821.30000000000007, + "Y": 226.8 + } + ], + "Annotations": [], + "X": -61.668181818181893, + "Y": 29.619696969696975, + "Zoom": 1.0151515151515151 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/-.md b/doc/distrib/NodeHelpFiles/-.md new file mode 100644 index 00000000000..14c6df10b49 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/-.md @@ -0,0 +1,8 @@ +## In Depth +The node `-` is the subtraction operator. It returns the result of the `y` input subtracted from the `x` input. + +In the example below, a - node is used to subtract the `y` input from the `x` input. We use two number sliders to control the inputs to the `-` operator. +___ +## Example File + +![-](./-_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/-_img.jpg b/doc/distrib/NodeHelpFiles/-_img.jpg new file mode 100644 index 00000000000..dd6f9f0b58b Binary files /dev/null and b/doc/distrib/NodeHelpFiles/-_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/==.dyn b/doc/distrib/NodeHelpFiles/==.dyn new file mode 100644 index 00000000000..247806666fd --- /dev/null +++ b/doc/distrib/NodeHelpFiles/==.dyn @@ -0,0 +1,267 @@ +{ + "Uuid": "e6d3fa34-0fee-4afb-87c7-2516abe6eab7", + "IsCustomNode": false, + "Description": "", + "Name": "==", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "429b0cb102d5456480ed9fa180bc467b", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "54", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + }, + { + "Id": "37e09909327e4a2aa14189a3c31bb1cc", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "5", + "MaximumValue": 10.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "Id": "429b0cb102d5456480ed9fa180bc467b", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "2d47c08c4720476a81f0e7d87b0db4a8", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 54.0 + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 10.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "Id": "37e09909327e4a2aa14189a3c31bb1cc", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "80821866373144249cd406d398476ddf", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 5.0 + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "48824c79f4e8480ca33b2ed833a0ea6f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "e65ae59598a3404e9f543890b7eead82", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "426299dc1e2d416ebbe77a0a781bddab", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "6e91af06ee844d70a4d8ca58070ec1d8", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "5dd6cfe7a51d46c693ba4dbe03db464f", + "Name": "x", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "3b7b760b6ccd45068ddb02e462d5e836", + "Name": "y", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "cee6d7d6015d430bb9959e3fbd524f04", + "Name": "bool", + "Description": "Result of equality check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "==@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x and y are equal\n\n== (x: var[]..[], y: var[]..[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "2d47c08c4720476a81f0e7d87b0db4a8", + "End": "5dd6cfe7a51d46c693ba4dbe03db464f", + "Id": "a720589d09bb457c951a4201e9c00555", + "IsHidden": "False" + }, + { + "Start": "80821866373144249cd406d398476ddf", + "End": "3b7b760b6ccd45068ddb02e462d5e836", + "Id": "c6866368e8f24008aa1a79ab18c5bd46", + "IsHidden": "False" + }, + { + "Start": "cee6d7d6015d430bb9959e3fbd524f04", + "End": "e65ae59598a3404e9f543890b7eead82", + "Id": "6c8488aa0bc64efb8e3cd321c4f5eeb8", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "429b0cb102d5456480ed9fa180bc467b", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 99.454427645788542, + "Y": 169.8 + }, + { + "Id": "37e09909327e4a2aa14189a3c31bb1cc", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 99.454427645788542, + "Y": 317.8 + }, + { + "Id": "48824c79f4e8480ca33b2ed833a0ea6f", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 811.45442764578854, + "Y": 226.8 + }, + { + "Id": "6e91af06ee844d70a4d8ca58070ec1d8", + "Name": "==", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 547.45442764578854, + "Y": 226.8 + } + ], + "Annotations": [], + "X": -115.95260161005331, + "Y": -107.13506493506492, + "Zoom": 1.4675324675324675 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/==.md b/doc/distrib/NodeHelpFiles/==.md new file mode 100644 index 00000000000..033ff585307 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/==.md @@ -0,0 +1,8 @@ +## In Depth +The `==` node is the Equal To operator. If the `x` input is equal to the `y` input, it returns True. If the two values are not equal, it returns False. This node can be used to compare both numbers and non-numbers, for example, strings, Revit objects, geometry, etc. + +In the example below, the `==` node is used to determine if the x and y inputs are equal. We use two number sliders to control the inputs to the `==` operator. +___ +## Example File + +![==](./==_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/==_img.jpg b/doc/distrib/NodeHelpFiles/==_img.jpg new file mode 100644 index 00000000000..3e871320bc6 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/==_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange.dyn b/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange.dyn index b002052c3ef..4b215cdc99b 100644 --- a/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange.dyn +++ b/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange.dyn @@ -17,8 +17,8 @@ "B": 60, "A": 255 }, - "NodeType": "ColorInputNode", "Id": "b97cc899878a452889581101d5ba4938", + "NodeType": "ColorInputNode", "Inputs": [], "Outputs": [ { @@ -42,8 +42,8 @@ "B": 237, "A": 255 }, - "NodeType": "ColorInputNode", "Id": "ee5f0af7201c4ce685a738973f3b617b", + "NodeType": "ColorInputNode", "Inputs": [], "Outputs": [ { @@ -62,8 +62,8 @@ { "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", "VariableInputPorts": true, - "NodeType": "ExtensionNode", "Id": "d9be985527d14ef393b26c61620749dc", + "NodeType": "ExtensionNode", "Inputs": [ { "Id": "d09db69ffd104076aa44946aa980d6ea", @@ -100,9 +100,8 @@ }, { "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", - "NodeType": "CodeBlockNode", - "Code": "0..1..#10;", "Id": "297af4b66c384466b614adfe09d6e9d4", + "NodeType": "CodeBlockNode", "Inputs": [], "Outputs": [ { @@ -116,12 +115,13 @@ } ], "Replication": "Disabled", - "Description": "Allows for DesignScript code to be authored directly" + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..1..#10;" }, { "ConcreteType": "CoreNodeModels.ColorRange, CoreNodeModels", - "NodeType": "ExtensionNode", "Id": "f40fea1d541f4f9aa94e48dc5f518735", + "NodeType": "ExtensionNode", "Inputs": [ { "Id": "f7f8ca825d5944aa8b450a59af5af11c", @@ -164,6 +164,210 @@ ], "Replication": "Disabled", "Description": "Returns a color given a color range" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "f92f1c5b9f414b979ba2eedc08a27841", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "50a582dda55c405f87e123ce9b9e78fd", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..1;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "27842efd87c74fbf8ac57095a8f41c34", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "2f8dd617f470495797711e689a635e51", + "Name": "geometry", + "Description": "The geometry to which you would like to apply color.\n\nGeometry", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "9677bd41e62240bf856ec9cf286a302b", + "Name": "color", + "Description": "The color.\n\nColor", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "2a699a4285a84eae8610bd46c3b8781e", + "Name": "GeometryColor", + "Description": "A Display object.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Modifiers.GeometryColor.ByGeometryColor@Autodesk.DesignScript.Geometry.Geometry,DSCore.Color", + "Replication": "Auto", + "Description": "Display geometry using a color.\n\nGeometryColor.ByGeometryColor (geometry: Geometry, color: Color): GeometryColor" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "e26328473f9e45a080a8807541381785", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "6bb7df48d4ab47ffba8f3dd2846e929a", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "5;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "1f9920d4e4854b119ddfed52b9826adc", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "bc499b49642547eb83557f1e7b845075", + "Name": "origin", + "Description": "Origin point\n\nPoint\nDefault value : Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "866c07f7356141d7bd6d978f0f5bdf83", + "Name": "width", + "Description": "Width of cuboid\n\ndouble\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "5ca612f1e5304a699153cc97b9dbded4", + "Name": "length", + "Description": "Length of cuboid\n\ndouble\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "8222ccf0563441d4b64cd76706fb0e3f", + "Name": "height", + "Description": "Height of cuboid\n\ndouble\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "18c815128ddd4fbb95641960852be9fb", + "Name": "Cuboid", + "Description": "Cuboid created by lengths", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Cuboid.ByLengths@Autodesk.DesignScript.Geometry.Point,double,double,double", + "Replication": "Auto", + "Description": "Create a Cuboid centered at input Point, with specified width, length, and height.\n\nCuboid.ByLengths (origin: Point = Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0), width: double = 1, length: double = 1, height: double = 1): Cuboid" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "c9f93bce41254d4dacb466bd90cff4e4", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "3f4ef50533be4d6dbe7e484257365cdc", + "Name": "x", + "Description": "X coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "4da1e61dfacc4ceaa8fe775e0bfa101d", + "Name": "y", + "Description": "Y coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "80381ce9090143b6b47f05adfcd70e47", + "Name": "z", + "Description": "Z coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6de2b9e5adad4d668ea9278971929d66", + "Name": "Point", + "Description": "Point created by coordinates", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Point.ByCoordinates@double,double,double", + "Replication": "CrossProduct", + "Description": "Form a Point given 3 cartesian coordinates\n\nPoint.ByCoordinates (x: double = 0, y: double = 0, z: double = 0): Point" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "0da106e4dd69498086e09d6d572593f8", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "f730726528ef4291a326b19ae8ff598e", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..50..#10;" } ], "Connectors": [ @@ -188,7 +392,61 @@ { "Start": "bf8a1e0d16314875a475b83d2cced91a", "End": "2203ee0acaf745c7aa899106e18be475", - "Id": "f2fdadadcd284a0fb98e58a2d21936fb", + "Id": "29f2428987274db09ac13691d1693d3a", + "IsHidden": "False" + }, + { + "Start": "1aba733f803c4bb1a1b92c28a2306045", + "End": "9677bd41e62240bf856ec9cf286a302b", + "Id": "c557f6670eaa43f8bf778476126b1028", + "IsHidden": "False" + }, + { + "Start": "50a582dda55c405f87e123ce9b9e78fd", + "End": "a9903602d175476da52c75fddadc576f", + "Id": "c2b861ed209d475095a740373e5e2248", + "IsHidden": "False" + }, + { + "Start": "6bb7df48d4ab47ffba8f3dd2846e929a", + "End": "866c07f7356141d7bd6d978f0f5bdf83", + "Id": "0d8f72f9a26c48fb80ff13ab17cff50b", + "IsHidden": "False" + }, + { + "Start": "6bb7df48d4ab47ffba8f3dd2846e929a", + "End": "5ca612f1e5304a699153cc97b9dbded4", + "Id": "620f9501024a4ce289cf5c210a00aa99", + "IsHidden": "False" + }, + { + "Start": "6bb7df48d4ab47ffba8f3dd2846e929a", + "End": "8222ccf0563441d4b64cd76706fb0e3f", + "Id": "5e78ff5988e44bcfac96c141dbf4a871", + "IsHidden": "False" + }, + { + "Start": "18c815128ddd4fbb95641960852be9fb", + "End": "2f8dd617f470495797711e689a635e51", + "Id": "834e6a761e194561b1c84bb2a654273c", + "IsHidden": "False" + }, + { + "Start": "6de2b9e5adad4d668ea9278971929d66", + "End": "bc499b49642547eb83557f1e7b845075", + "Id": "a3ce09cb13a74a81932dea671a1cb020", + "IsHidden": "False" + }, + { + "Start": "f730726528ef4291a326b19ae8ff598e", + "End": "3f4ef50533be4d6dbe7e484257365cdc", + "Id": "3858db1985f54c299d65c3683833c6b4", + "IsHidden": "False" + }, + { + "Start": "f730726528ef4291a326b19ae8ff598e", + "End": "4da1e61dfacc4ceaa8fe775e0bfa101d", + "Id": "a9a30cee176b47e7b8d63878f4f84a4a", "IsHidden": "False" } ], @@ -217,7 +475,7 @@ "ScaleFactor": 1.0, "HasRunWithoutCrash": true, "IsVisibleInDynamoLibrary": true, - "Version": "2.17.0.3255", + "Version": "3.0.0.6432", "RunType": "Automatic", "RunPeriod": "1000" }, @@ -236,59 +494,119 @@ "ConnectorPins": [], "NodeViews": [ { - "Name": "Color Palette", - "ShowGeometry": true, "Id": "b97cc899878a452889581101d5ba4938", + "Name": "Color Palette", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 229.60000000000002, - "Y": 558.28625 + "ShowGeometry": true, + "X": 213.4120178041544, + "Y": 622.4153301186948 }, { - "Name": "Color Palette", - "ShowGeometry": true, "Id": "ee5f0af7201c4ce685a738973f3b617b", + "Name": "Color Palette", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 229.60000000000002, - "Y": 706.28625000000011 + "ShowGeometry": true, + "X": 213.4120178041544, + "Y": 770.4153301186948 }, { + "Id": "d9be985527d14ef393b26c61620749dc", "Name": "List Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, "ShowGeometry": true, - "Id": "d9be985527d14ef393b26c61620749dc", + "X": 484.4120178041544, + "Y": 679.4153301186948 + }, + { + "Id": "297af4b66c384466b614adfe09d6e9d4", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 484.4120178041544, + "Y": 1004.2428301186947 + }, + { + "Id": "f40fea1d541f4f9aa94e48dc5f518735", + "Name": "Color Range", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 498.40000000000003, - "Y": 615.28625000000011 + "ShowGeometry": true, + "X": 809.4120178041544, + "Y": 748.4153301186948 }, { + "Id": "f92f1c5b9f414b979ba2eedc08a27841", "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, "ShowGeometry": true, - "Id": "297af4b66c384466b614adfe09d6e9d4", + "X": 484.4120178041544, + "Y": 857.2428301186947 + }, + { + "Id": "27842efd87c74fbf8ac57095a8f41c34", + "Name": "GeometryColor.ByGeometryColor", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 498.40000000000003, - "Y": 793.11375 + "ShowGeometry": true, + "X": 1240.4120178041544, + "Y": 601.4153301186948 }, { - "Name": "Color Range", + "Id": "e26328473f9e45a080a8807541381785", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, "ShowGeometry": true, - "Id": "f40fea1d541f4f9aa94e48dc5f518735", + "X": 484.4120178041544, + "Y": 532.2428301186947 + }, + { + "Id": "1f9920d4e4854b119ddfed52b9826adc", + "Name": "Cuboid.ByLengths", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 760.80000000000007, - "Y": 670.28625000000011 + "ShowGeometry": false, + "X": 809.4120178041544, + "Y": 488.4153301186947 + }, + { + "Id": "c9f93bce41254d4dacb466bd90cff4e4", + "Name": "Point.ByCoordinates", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 484.4120178041544, + "Y": 318.4153301186947 + }, + { + "Id": "0da106e4dd69498086e09d6d572593f8", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 213.4120178041544, + "Y": 335.2428301186947 } ], "Annotations": [], - "X": -26.720000000000027, - "Y": 100.1239999999998, + "X": -151.72000000000003, + "Y": -219.8760000000002, "Zoom": 0.8425 } } \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange.md b/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange.md index d180f695ac6..799990c98d3 100644 --- a/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange.md +++ b/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange.md @@ -1,5 +1,5 @@ ## In Depth -Color Range will create a gradient between a set of input colors, and allow colors from that gradient to be selected by a list of input values. The first input, colors, is a list of colors to use in the gradient. The second inut, indices, will determine the relative location of the input colors in the gradient. This list should correspond to the list of colors, each value being in the range 0 to 1. The exact value is not important, only the relative position of the values. The color corresponding to the lowest value will be on the left of the gradient, and the color corresponding to the highest value will be on the right side of the gradient. The final values input allows the user to select points along the gradient in the range 0 to 1 to output. In the example below, we first create two colors: red and green. The order of these colors in the gradient is determined by a list that we create with a code block. A third code block is used to create a range of numbers between 0 and 1 that will determine the output colors from the gradient. A set of cubes is generated along the x-axis, and these cubes are finally colored according the gradient by using a Display.ByGeometryColor node. +Color Range will create a gradient between a set of input colors, and allow colors from that gradient to be selected by a list of input values. The first input, colors, is a list of colors to use in the gradient. The second input, indices, will determine the relative location of the input colors in the gradient. This list should correspond to the list of colors, each value being in the range 0 to 1. The exact value is not important, only the relative position of the values. The color corresponding to the lowest value will be on the left of the gradient, and the color corresponding to the highest value will be on the right side of the gradient. The final value input allows the user to select points along the gradient in the range 0 to 1 to output. In the example below, we first create two colors: red and blue. The order of these colors in the gradient is determined by a list that we create with a code block. A third code block is used to create a range of numbers between 0 and 1 that will determine the output colors from the gradient. A set of cubes is generated along the x-axis, and these cubes are finally colored according to the gradient by using a Display.ByGeometryColor node. ___ ## Example File diff --git a/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange_img.jpg b/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange_img.jpg index b5ad68c1faa..a5c952a7795 100644 Binary files a/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange_img.jpg and b/doc/distrib/NodeHelpFiles/CoreNodeModels.ColorRange_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToEnd.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToEnd.dyn new file mode 100644 index 00000000000..b7d8b585f91 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToEnd.dyn @@ -0,0 +1,279 @@ +{ + "Uuid": "c2a3d504-3373-4e38-b9d1-05a1d3e493a9", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.AddItemToEnd", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "cb11ac260315493aaaef2a9a1db1effe", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "c1018b3ca5bb48c5816b928edf09db37", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "e1147fcd3aee42bd931543e7c2051776", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "fb81ff7dde9a46ba957825661cc8c24c", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f1b4e6034e224c249a9dce8d5008e364", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "2427d0c77bec466380b4701f42549b16", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "9dfa238b97f446028a57512cd7234371", + "Name": "item", + "Description": "Item to be added.Item could be an object or a list.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "d6e6507ddcde48bc8a1e03c6d99bcf80", + "Name": "list", + "Description": "List to add on to.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "15544293f4ed4e968c0ad4223109a023", + "Name": "list", + "Description": "List with added items", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AddItemToEnd@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Adds an item to the end of a list.\n\nList.AddItemToEnd (item: var[]..[], list: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "d4d31d6549df40b781b4f4baf71cb6cb", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "3963647ca7bd4690ba4ee6982ec0c894", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b633729a1ed94639be2e03cfaab0380c", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "1416313dc1484a57b3f2ffca60e5829a", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "1bf6ddbe5c7a46e8a2b40493314ce1e5", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "20;" + } + ], + "Connectors": [ + { + "Start": "c1018b3ca5bb48c5816b928edf09db37", + "End": "fb81ff7dde9a46ba957825661cc8c24c", + "Id": "7457506a849c4c9f81802d1609614ee9", + "IsHidden": "False" + }, + { + "Start": "f1b4e6034e224c249a9dce8d5008e364", + "End": "d6e6507ddcde48bc8a1e03c6d99bcf80", + "Id": "2867c9d26d6441b39fd0f3a001b46348", + "IsHidden": "False" + }, + { + "Start": "15544293f4ed4e968c0ad4223109a023", + "End": "3963647ca7bd4690ba4ee6982ec0c894", + "Id": "e60cf9c5975b4b20b0d4f11f4f4d1488", + "IsHidden": "False" + }, + { + "Start": "1bf6ddbe5c7a46e8a2b40493314ce1e5", + "End": "9dfa238b97f446028a57512cd7234371", + "Id": "711ec4ef21824571a9c3fc069b6081a5", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "cb11ac260315493aaaef2a9a1db1effe", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -169.14701550233121, + "Y": 434.24489955529447 + }, + { + "Id": "e1147fcd3aee42bd931543e7c2051776", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 84.852984497668785, + "Y": 434.41739955529448 + }, + { + "Id": "2427d0c77bec466380b4701f42549b16", + "Name": "List.AddItemToEnd", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 461.85298449766879, + "Y": 344.3668552318108 + }, + { + "Id": "d4d31d6549df40b781b4f4baf71cb6cb", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 774.85298449766879, + "Y": 343.41739955529448 + }, + { + "Id": "1416313dc1484a57b3f2ffca60e5829a", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 84.852984497668785, + "Y": 286.24489955529447 + } + ], + "Annotations": [], + "X": 300.34284295320009, + "Y": -66.1077860619232, + "Zoom": 0.86709088091216213 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToEnd.md b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToEnd.md new file mode 100644 index 00000000000..ea7f52bd01d --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToEnd.md @@ -0,0 +1,8 @@ +## In Depth +`List.AddItemtoEnd` inserts a given item to the end of a given list. Note that if a list object is used as the item to add, the entire list is added as a single object, producing a nested list. To combine two lists together into a single flat list, see `List.Join`. + +In the example below, we use a code block to generate a range of numbers from 0 to 5, stepping by 1. We then add a new item, the number 20, to the end of that list using `List.AddItemToEnd`. +___ +## Example File + +![List.AddItemToEnd](./DSCore.List.AddItemToEnd_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToEnd_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToEnd_img.jpg new file mode 100644 index 00000000000..a9a6f394661 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToEnd_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToFront.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToFront.dyn new file mode 100644 index 00000000000..6e8c36c33c0 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToFront.dyn @@ -0,0 +1,279 @@ +{ + "Uuid": "35857ea2-95af-4580-b775-1a7a84f7e78d", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.AddItemToFront", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "4f8a932fe3174dacb48b7be2daa0cecc", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "8141e8d9897042d1a23fcdddfe829806", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "7f781c6832984644a54c1c0fd4eacff2", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "d6a72ae7a82e42da8b7ff363a89f96eb", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "7dc4a27f2a1a4d5aa69beef4d57060b0", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "5cea17364a0944debd68fe7cf4aa974d", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "2107db199c0b4937a081aaa4ea811a11", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "abeba21ba2074135ba23c57165dfbfa2", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "99a0fe1bd4c04f36b85356ac03783c1c", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "7f584e7db32e4f7fa843b2f81bf557ff", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "20;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "7051133fb0794d36a1a4b69fc2cc1623", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "d5b8ed72aad64262b09873338db619e4", + "Name": "item", + "Description": "Item to be added. Item could be an object or a list.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "c015335943cf46e7942e9132cf1ad130", + "Name": "list", + "Description": "List to add on to.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "dbf43b992e9a498e818ec2f4fdbda16b", + "Name": "list", + "Description": "List with added items", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AddItemToFront@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Adds an item to the beginning of a list.\n\nList.AddItemToFront (item: var[]..[], list: var[]..[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "8141e8d9897042d1a23fcdddfe829806", + "End": "d6a72ae7a82e42da8b7ff363a89f96eb", + "Id": "687be878390a4a2a8abfdfa4f402174e", + "IsHidden": "False" + }, + { + "Start": "7dc4a27f2a1a4d5aa69beef4d57060b0", + "End": "c015335943cf46e7942e9132cf1ad130", + "Id": "91874713e9b74000b8151b290fd46d88", + "IsHidden": "False" + }, + { + "Start": "7f584e7db32e4f7fa843b2f81bf557ff", + "End": "d5b8ed72aad64262b09873338db619e4", + "Id": "2ecabd694da8440db62168945ebe63bc", + "IsHidden": "False" + }, + { + "Start": "dbf43b992e9a498e818ec2f4fdbda16b", + "End": "2107db199c0b4937a081aaa4ea811a11", + "Id": "8dae1d942a5841e18607f94e164008bb", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "4f8a932fe3174dacb48b7be2daa0cecc", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -175.14701550233121, + "Y": 434.24489955529447 + }, + { + "Id": "7f781c6832984644a54c1c0fd4eacff2", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 78.852984497668785, + "Y": 434.41739955529448 + }, + { + "Id": "5cea17364a0944debd68fe7cf4aa974d", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 780.85298449766879, + "Y": 343.41739955529448 + }, + { + "Id": "99a0fe1bd4c04f36b85356ac03783c1c", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 78.852984497668785, + "Y": 286.24489955529447 + }, + { + "Id": "7051133fb0794d36a1a4b69fc2cc1623", + "Name": "List.AddItemToFront", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 455.85298449766879, + "Y": 343.41739955529448 + } + ], + "Annotations": [], + "X": 400.75943880011528, + "Y": -1.2692617489508962, + "Zoom": 0.73947056974858061 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToFront.md b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToFront.md new file mode 100644 index 00000000000..d80bff939bb --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToFront.md @@ -0,0 +1,8 @@ +## In Depth +`List.AddItemToFront` inserts a given item to the beginning of a given list. The new item has index 0, while the original items are all shifted by an index of 1. Note that if the item to be added is a list, the list is added as a single object, producing a nested list. To combine two lists together into a single flat list, see `List.Join`. + +In the example below, we use a code block to generate a range of numbers from 0 to 5, stepping by 1. We then add a new item, the number 20, to the front of that list using `List.AddItemToFront.` +___ +## Example File + +![List.AddItemToFront](./DSCore.List.AddItemToFront_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToFront_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToFront_img.jpg new file mode 100644 index 00000000000..d1a8d421e3f Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.AddItemToFront_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AllFalse.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.AllFalse.dyn new file mode 100644 index 00000000000..fcc076ae953 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AllFalse.dyn @@ -0,0 +1,839 @@ +{ + "Uuid": "e832553d-6e8b-4fb2-b0e8-8ef0794721cb", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.AllFalse", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "af262a39462741258f046b8dfd657d51", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "false", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + }, + { + "Id": "f1c5507156c64f389c8a0e07b68c45fe", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "true", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "c8dc32c047a74fa6b4e72537e658c113", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "ecf5bf2b244a4884ae611e5b6898de37", + "Name": "list", + "Description": "List to be checked on whether all items are false.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "13be6de7702d4e5ba80321886392e923", + "Name": "bool", + "Description": "True if all items from list are false, false if one or more items is not false", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AllFalse@var[]..[]", + "Replication": "Auto", + "Description": "Determines if all items in the given list is a boolean and has a false value.\n\nList.AllFalse (list: var[]..[]): bool" + }, + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "af262a39462741258f046b8dfd657d51", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "56508c0569774438a5932d0ce03e1b49", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": false + }, + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "f1c5507156c64f389c8a0e07b68c45fe", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "b85d47478af74eab80279410255aa298", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": true + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "df01d8d057c44381949bd09ef857f2ba", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "4f1cfe6b12804864bd25315a5ad03859", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "5a06024556db465ea29dbd5f2199ba62", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "a91b15eb4eb3473d8535a2bd531f6796", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 142.0, + "WatchHeight": 111.0, + "Id": "b5765b5e61ce459ca72f485ee2d04cb3", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "b44da9bdb56840df9bcc2b7e7e7d23b5", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "84586586ce804bb6b1b91496f8d13380", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "b3c193279b05423ba9d8bee8ac7f6855", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5a0329c60f3e4437915dcc74815eb87f", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0ab69657c60a4c0497bb246a70dedd39", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 165.0, + "WatchHeight": 112.0, + "Id": "397ffed274a343e883942a51bfe6f5da", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "63db8dca371744d4bf60c740732b466c", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "805ee82752fe424c87c4cddc4e37fb7a", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "8b05931f41b14736a7f8b72dfbeb0403", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "b643a44a79064a5196efde1f982917d1", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1927e4226b1a42c9b6b321acc957ff1a", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "84ae4d9c2924416392e3c529ada9622f", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "00fd73edca8e403aadc0bdd3f2c5a871", + "Name": "list", + "Description": "List to be checked on whether all items are false.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6ff449bdbfcc403badfe0a4efd0e3f8b", + "Name": "bool", + "Description": "True if all items from list are false, false if one or more items is not false", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AllFalse@var[]..[]", + "Replication": "Auto", + "Description": "Determines if all items in the given list is a boolean and has a false value.\n\nList.AllFalse (list: var[]..[]): bool" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "5da564f9f9744ac897a78620014a0758", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "4c8a445df9b74f0c9a2a6dcbc2ec3d1c", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "7f29346edef94e01b96850e71253cab0", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "92a1e1c01700480e9d2bb55d21f37031", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "8c433fecf7a74dd996157995d6d067bc", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "9134bdc13a6749cba860252010201ae1", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "3a7674e8867843ba883c9f410a96f97b", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "734ec69101934ba69ee8610f36a25fff", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 163.0, + "WatchHeight": 173.0, + "Id": "b1ecbff2d6be40d9a30cd8ce4cf24e81", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "2be22d24c8d64402a22763d027b30e3e", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8672fcb038bf46a5b8863cc82bf46259", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "f8844c0b036a42a9929ef4289043cdc4", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "fa1a695b043a4a6f976c44338137cf99", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6250c17f4b6143b28c95a79de4a91003", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "8c2971ddc7ed4627a0ba5bbe9945cc8b", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "f8204ab51a6c4a13a557f8c2f775e14b", + "Name": "list", + "Description": "List to be checked on whether all items are false.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1225d89c43af4575b8e05e5557ec662e", + "Name": "bool", + "Description": "True if all items from list are false, false if one or more items is not false", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AllFalse@var[]..[]", + "Replication": "Auto", + "Description": "Determines if all items in the given list is a boolean and has a false value.\n\nList.AllFalse (list: var[]..[]): bool" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 131.0, + "WatchHeight": 112.0, + "Id": "289f350ad25844b483e21d54c4e7b015", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "30f7fa3156ac4e48b2dbdb03f19396e1", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "69cfd30a7e544374afa6f2b759a86db6", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "499631f233094ddf8ed84c32ef87c148", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "3ebca397dabe4c0f9ef0fbed19875ec8", + "Name": "list", + "Description": "List to be checked on whether all items are false.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": true, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d08ceec7404642eb9abd1921ec376a30", + "Name": "bool", + "Description": "True if all items from list are false, false if one or more items is not false", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AllFalse@var[]..[]", + "Replication": "Auto", + "Description": "Determines if all items in the given list is a boolean and has a false value.\n\nList.AllFalse (list: var[]..[]): bool" + } + ], + "Connectors": [ + { + "Start": "13be6de7702d4e5ba80321886392e923", + "End": "5a0329c60f3e4437915dcc74815eb87f", + "Id": "ca6457bbbf9c4f53bba0a6b6e7c88b8f", + "IsHidden": "False" + }, + { + "Start": "56508c0569774438a5932d0ce03e1b49", + "End": "4f1cfe6b12804864bd25315a5ad03859", + "Id": "d5bb3ebfd9824829b9d5fc37c247f657", + "IsHidden": "False" + }, + { + "Start": "56508c0569774438a5932d0ce03e1b49", + "End": "4c8a445df9b74f0c9a2a6dcbc2ec3d1c", + "Id": "d9cc2a92dc8b457482243ed877e7dcae", + "IsHidden": "False" + }, + { + "Start": "56508c0569774438a5932d0ce03e1b49", + "End": "7f29346edef94e01b96850e71253cab0", + "Id": "e8f6f9dd67f14095b8e3c9180a2c7c22", + "IsHidden": "False" + }, + { + "Start": "b85d47478af74eab80279410255aa298", + "End": "5a06024556db465ea29dbd5f2199ba62", + "Id": "60d6ba965b2749c4ad1287ca679aedd1", + "IsHidden": "False" + }, + { + "Start": "a91b15eb4eb3473d8535a2bd531f6796", + "End": "b44da9bdb56840df9bcc2b7e7e7d23b5", + "Id": "01d1cd85e0564d5ea10d85ddc8fe9543", + "IsHidden": "False" + }, + { + "Start": "a91b15eb4eb3473d8535a2bd531f6796", + "End": "9134bdc13a6749cba860252010201ae1", + "Id": "125453062f1b4791b25a158e201e1e46", + "IsHidden": "False" + }, + { + "Start": "84586586ce804bb6b1b91496f8d13380", + "End": "ecf5bf2b244a4884ae611e5b6898de37", + "Id": "d2a7fb0db04d4026bc41addfaa970cdc", + "IsHidden": "False" + }, + { + "Start": "805ee82752fe424c87c4cddc4e37fb7a", + "End": "00fd73edca8e403aadc0bdd3f2c5a871", + "Id": "7d7501bed96e43309008f18d271f92cc", + "IsHidden": "False" + }, + { + "Start": "6ff449bdbfcc403badfe0a4efd0e3f8b", + "End": "b643a44a79064a5196efde1f982917d1", + "Id": "e5fc4fce381c4bf1b85a809d78d5a3a5", + "IsHidden": "False" + }, + { + "Start": "92a1e1c01700480e9d2bb55d21f37031", + "End": "63db8dca371744d4bf60c740732b466c", + "Id": "28c306c1559b4abd93ad767e70233537", + "IsHidden": "False" + }, + { + "Start": "92a1e1c01700480e9d2bb55d21f37031", + "End": "3a7674e8867843ba883c9f410a96f97b", + "Id": "dbc8198928634a518abd1ee1d038b1f3", + "IsHidden": "False" + }, + { + "Start": "734ec69101934ba69ee8610f36a25fff", + "End": "2be22d24c8d64402a22763d027b30e3e", + "Id": "87edc83dd1e04425bd1f842d8ca7a599", + "IsHidden": "False" + }, + { + "Start": "8672fcb038bf46a5b8863cc82bf46259", + "End": "f8204ab51a6c4a13a557f8c2f775e14b", + "Id": "96589028b4044c08aa9b7779fd9ba223", + "IsHidden": "False" + }, + { + "Start": "8672fcb038bf46a5b8863cc82bf46259", + "End": "3ebca397dabe4c0f9ef0fbed19875ec8", + "Id": "196969534f6b4f2aae6b2a7867ad0a2e", + "IsHidden": "False" + }, + { + "Start": "1225d89c43af4575b8e05e5557ec662e", + "End": "fa1a695b043a4a6f976c44338137cf99", + "Id": "cdee178b2dac4dcbb0c552795895e547", + "IsHidden": "False" + }, + { + "Start": "d08ceec7404642eb9abd1921ec376a30", + "End": "30f7fa3156ac4e48b2dbdb03f19396e1", + "Id": "224955c4fb83435cb1f2793344f883b7", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "c8dc32c047a74fa6b4e72537e658c113", + "Name": "List.AllFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1060.3796568214225, + "Y": 501.5625 + }, + { + "Id": "af262a39462741258f046b8dfd657d51", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -130.62034317857751, + "Y": 855.8125 + }, + { + "Id": "f1c5507156c64f389c8a0e07b68c45fe", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -130.62034317857751, + "Y": 708.3125 + }, + { + "Id": "df01d8d057c44381949bd09ef857f2ba", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 163.37965682142249, + "Y": 676.3125 + }, + { + "Id": "b5765b5e61ce459ca72f485ee2d04cb3", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 683.37965682142249, + "Y": 364.5625 + }, + { + "Id": "b3c193279b05423ba9d8bee8ac7f6855", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1336.3796568214225, + "Y": 501.5625 + }, + { + "Id": "397ffed274a343e883942a51bfe6f5da", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 686.20359321225533, + "Y": 674.73856360916727 + }, + { + "Id": "8b05931f41b14736a7f8b72dfbeb0403", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1336.3796568214225, + "Y": 652.5625 + }, + { + "Id": "84ae4d9c2924416392e3c529ada9622f", + "Name": "List.AllFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1060.3796568214225, + "Y": 652.5625 + }, + { + "Id": "5da564f9f9744ac897a78620014a0758", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 163.37965682142249, + "Y": 853.8125 + }, + { + "Id": "8c433fecf7a74dd996157995d6d067bc", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 424.79162501683879, + "Y": 960.99919970083931 + }, + { + "Id": "b1ecbff2d6be40d9a30cd8ce4cf24e81", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 680.55572043058964, + "Y": 959.58723150542289 + }, + { + "Id": "f8844c0b036a42a9929ef4289043cdc4", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1336.3796568214225, + "Y": 804.5625 + }, + { + "Id": "8c2971ddc7ed4627a0ba5bbe9945cc8b", + "Name": "List.AllFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1060.3796568214225, + "Y": 804.5625 + }, + { + "Id": "289f350ad25844b483e21d54c4e7b015", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1336.3796568214225, + "Y": 955.5625 + }, + { + "Id": "499631f233094ddf8ed84c32ef87c148", + "Name": "List.AllFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1060.3796568214225, + "Y": 955.5625 + } + ], + "Annotations": [], + "X": 163.82886361596798, + "Y": -232.59731853465638, + "Zoom": 0.72030809130027473 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AllFalse.md b/doc/distrib/NodeHelpFiles/DSCore.List.AllFalse.md new file mode 100644 index 00000000000..4c1f83ac09a --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AllFalse.md @@ -0,0 +1,8 @@ +## In Depth +`List.AllFalse` returns False if any item in the given list is True or not a Boolean. `List.AllFalse` only returns True if every item in the given list is Boolean and False. + +In the example below, we use `List.AllFalse` to evaluate lists of Boolean values. The first list has a True value, so False is returned. The second list has only False values, so True is returned. The third list has a sublist that includes a True value, so False is returned. The final node evaluates the two sublists and returns False for the first sublist because it has a True value, and True for the second sublist because it has only False values. +___ +## Example File + +![List.AllFalse](./DSCore.List.AllFalse_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AllFalse_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.AllFalse_img.jpg new file mode 100644 index 00000000000..ba095c4ca07 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.AllFalse_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AllIndicesOf.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.AllIndicesOf.dyn new file mode 100644 index 00000000000..b93e426ad7f --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AllIndicesOf.dyn @@ -0,0 +1,191 @@ +{ + "Uuid": "e5e49851-5c96-4926-a9ea-a2aeba05dc13", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.AllIndicesOf", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "55e19796bc674d71842b4ebd1103808d", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "47511fd45eb84209bd1ef745a54dfefd", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "[\"A\", \"B\", \"C\", \"D\", \"B\", \"A\", \"D\"];" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "64419f004110491382622ca50f152fdf", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "cd1518c938ef45e896b3c1d973a462eb", + "Name": "list", + "Description": "List to search in. If this argument is null, an empty list is returned.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "34af2976529f4de3b2b3a63115772b81", + "Name": "item", + "Description": "Item to look for.\n\nvar", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "82c3ff418554478b98b0ddca7e6da86f", + "Name": "indices", + "Description": "A list of zero-based indices of all occurrences of the item if found, or an empty list if the item does not exist in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AllIndicesOf@var[]..[],var", + "Replication": "Auto", + "Description": "Given an item, returns the zero-based indices of all its occurrences in the list. If the item cannot be found, an empty list is returned.\n\nList.AllIndicesOf (list: var[]..[], item: var): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "0ba15b8d5d8a4bb2976ac5f2be0c1d06", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "07920b46430e4f14a3a1770e91b1c70d", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "\"B\";" + } + ], + "Connectors": [ + { + "Start": "47511fd45eb84209bd1ef745a54dfefd", + "End": "cd1518c938ef45e896b3c1d973a462eb", + "Id": "33d261f76aba458f8d0fa2a137d057f3", + "IsHidden": "False" + }, + { + "Start": "07920b46430e4f14a3a1770e91b1c70d", + "End": "34af2976529f4de3b2b3a63115772b81", + "Id": "beba9b1bdfe54071a720eba71ced3b1e", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.18", + "Data": {} + }, + { + "ExtensionGuid": "DFBD9CC0-DB40-457A-939E-8C8555555A9D", + "Name": "Generative Design", + "Version": "1.2", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "55e19796bc674d71842b4ebd1103808d", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 456.0, + "Y": 269.5 + }, + { + "Id": "64419f004110491382622ca50f152fdf", + "Name": "List.AllIndicesOf", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1085.5, + "Y": 271.0 + }, + { + "Id": "0ba15b8d5d8a4bb2976ac5f2be0c1d06", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 869.5, + "Y": 428.0 + } + ], + "Annotations": [], + "X": 212.75011077996669, + "Y": -33.2819025132427, + "Zoom": 0.72751623276408783 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AllIndicesOf.md b/doc/distrib/NodeHelpFiles/DSCore.List.AllIndicesOf.md new file mode 100644 index 00000000000..ae6954f085d --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AllIndicesOf.md @@ -0,0 +1,8 @@ +## In Depth +`List.AllIndicesOf` searches a given list for the given item and returns a list of the indices where that item is found. If no item is found, `List.AllIndicesOf` returns an empty list. + +In the example below, we first generate a list of strings, each one a letter between A and D. We then use `List.AllIndicesOf` to search the list for the string B, which is found at indices 1 and 4. +___ +## Example File + +![List.AllIndicesOf](./DSCore.List.AllIndicesOf_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AllIndicesOf_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.AllIndicesOf_img.jpg new file mode 100644 index 00000000000..a44adf62ac3 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.AllIndicesOf_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AllTrue.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.AllTrue.dyn new file mode 100644 index 00000000000..c89400d3833 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AllTrue.dyn @@ -0,0 +1,839 @@ +{ + "Uuid": "65a1edc3-36a8-43bd-843b-ee613bc07d42", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.AllTrue", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "eefad41a369c440fab17a396c4f32e13", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "true", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + }, + { + "Id": "151d7188981c4df4a803508dfd1512cd", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "false", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "eefad41a369c440fab17a396c4f32e13", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "58a140709119409bbc27e1cb5729916f", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": true + }, + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "151d7188981c4df4a803508dfd1512cd", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ec3dcf0b94eb432ab9ae29c4acc18299", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": false + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "db10aa1102d14391bdc3c855dbf7061a", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "bcac0798b6804e91a9ede3f166e6beb8", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "67e103721f8440d1abdbac3b02272e38", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "10e9bd4a68a747988a195e2ba2e15cdd", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "c1fcc8ad95d54bc9971f63cfdfe676c2", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "ececd0cde91043c4a08984b884b60fa0", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "268dd59a608d40f9bcfd9670f0c0972f", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "222095ced2b942eebe0068c355c9882e", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "25f78671dddc4d619aaaf8ccf9e5bebd", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "25072aabfc954af1959f86f5d8f54e5a", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "8b86884947bc4a119a989e6a8eb6550b", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a47e27b81f5a4810907a782f8f1427a0", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8d5322bca37a48e6993bac188d4b9202", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "2c63734f65b54d33af84172136aafa3d", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "57ac2f38247a4d8789f965baa84e3ec4", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6fbc4b26b95c4f1a9516bccdb755a068", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "90a14a8aa154493ca3949b8ef094d11f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "44c793a8d73f469d97d383cff574152b", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "b46d5d296fc34154a84f1ed1dbd9e7ed", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c766d161185642ef8812df2a137badb0", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "a1a7da2d340f425296b85775ea603821", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "cbe0702df8ea4f1aaca84c21bf8b68d0", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "6f734362ec16431a95b00653c26071f3", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1bdd1a8357334709bad55c177adc25a0", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "187285e6c347495bbd5744838d6ca07c", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "367ed37d095c4fadb510d0151e69d7ba", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "40bdbf5720ee487885732ed6df375441", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "d513f7013e284b498bde2b36e5933ced", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "d9991c5b6eda4afcb609908d41959e77", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b6c003738cba470db9a249cc5cea4100", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "de7cad824f0242e08e80034d4886e54f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5ef8f09cf18c409a9a8b07af1e2a141b", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "3b2559d789ba40169153bd453e5e159e", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "825c1dc695774c43a5ba6b40d6fe1ff4", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "6ddf0bb3561c4673b0311e2c3b62a24b", + "Name": "list", + "Description": "List to be checked on whether all items are true.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": true, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1ddb821ffb494c299ca03604a7bef992", + "Name": "bool", + "Description": "True if all items from list are true, false if one or more items is not true", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AllTrue@var[]..[]", + "Replication": "Auto", + "Description": "Determines if all items in the given list is a boolean and has a true value.\n\nList.AllTrue (list: var[]..[]): bool" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "205e7e87052946978b3c8dacf810deef", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "c68a9c62441249889682c073b1b923ad", + "Name": "list", + "Description": "List to be checked on whether all items are true.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "3cce3cf2ba944b6e9c3955179ee3587d", + "Name": "bool", + "Description": "True if all items from list are true, false if one or more items is not true", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AllTrue@var[]..[]", + "Replication": "Auto", + "Description": "Determines if all items in the given list is a boolean and has a true value.\n\nList.AllTrue (list: var[]..[]): bool" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "0d1a480012f0409ab5aaf4bac633e09a", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "c69c00b8d6eb4eff80594d0e3d4dcb3f", + "Name": "list", + "Description": "List to be checked on whether all items are true.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "3a3de6d921f347cfa302ed030a2c1183", + "Name": "bool", + "Description": "True if all items from list are true, false if one or more items is not true", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AllTrue@var[]..[]", + "Replication": "Auto", + "Description": "Determines if all items in the given list is a boolean and has a true value.\n\nList.AllTrue (list: var[]..[]): bool" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "66a976face0a4bc084384be0486eb64b", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "8b9b1a44efbc46ac91ae74b5ce3858e3", + "Name": "list", + "Description": "List to be checked on whether all items are true.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9f63518eb44048159a7f8b72ab6fdda0", + "Name": "bool", + "Description": "True if all items from list are true, false if one or more items is not true", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AllTrue@var[]..[]", + "Replication": "Auto", + "Description": "Determines if all items in the given list is a boolean and has a true value.\n\nList.AllTrue (list: var[]..[]): bool" + } + ], + "Connectors": [ + { + "Start": "58a140709119409bbc27e1cb5729916f", + "End": "bcac0798b6804e91a9ede3f166e6beb8", + "Id": "1d7522031270467cb1487c3e5560d1b7", + "IsHidden": "False" + }, + { + "Start": "58a140709119409bbc27e1cb5729916f", + "End": "44c793a8d73f469d97d383cff574152b", + "Id": "e9d2839f590f4e9faa0a5aa466308518", + "IsHidden": "False" + }, + { + "Start": "58a140709119409bbc27e1cb5729916f", + "End": "b46d5d296fc34154a84f1ed1dbd9e7ed", + "Id": "68f924baa64045408129bcc66f3151d6", + "IsHidden": "False" + }, + { + "Start": "ec3dcf0b94eb432ab9ae29c4acc18299", + "End": "67e103721f8440d1abdbac3b02272e38", + "Id": "d05aa087e0a94446b9d052c036398ed7", + "IsHidden": "False" + }, + { + "Start": "10e9bd4a68a747988a195e2ba2e15cdd", + "End": "ececd0cde91043c4a08984b884b60fa0", + "Id": "fdd42d22106b487abdc07d2fba356e2c", + "IsHidden": "False" + }, + { + "Start": "10e9bd4a68a747988a195e2ba2e15cdd", + "End": "cbe0702df8ea4f1aaca84c21bf8b68d0", + "Id": "260870c589e643949803c7e2ce3a0a9f", + "IsHidden": "False" + }, + { + "Start": "268dd59a608d40f9bcfd9670f0c0972f", + "End": "8b9b1a44efbc46ac91ae74b5ce3858e3", + "Id": "dd0faecc50b141d7bc2b976527ca8b9e", + "IsHidden": "False" + }, + { + "Start": "8d5322bca37a48e6993bac188d4b9202", + "End": "c69c00b8d6eb4eff80594d0e3d4dcb3f", + "Id": "0d1159efcc49471d885ae403fe449455", + "IsHidden": "False" + }, + { + "Start": "c766d161185642ef8812df2a137badb0", + "End": "a47e27b81f5a4810907a782f8f1427a0", + "Id": "1966ce5a4c6f47a4b67bb93db36323bf", + "IsHidden": "False" + }, + { + "Start": "c766d161185642ef8812df2a137badb0", + "End": "6f734362ec16431a95b00653c26071f3", + "Id": "1daea595f902449b8dafceb5faecc1dc", + "IsHidden": "False" + }, + { + "Start": "1bdd1a8357334709bad55c177adc25a0", + "End": "367ed37d095c4fadb510d0151e69d7ba", + "Id": "ea2e370862b3477ab3eadd6c626e67c6", + "IsHidden": "False" + }, + { + "Start": "40bdbf5720ee487885732ed6df375441", + "End": "6ddf0bb3561c4673b0311e2c3b62a24b", + "Id": "8b77cc535097409eb45324752f2237a9", + "IsHidden": "False" + }, + { + "Start": "40bdbf5720ee487885732ed6df375441", + "End": "c68a9c62441249889682c073b1b923ad", + "Id": "c7b90bdc936c4e1190193e9f72e65b96", + "IsHidden": "False" + }, + { + "Start": "1ddb821ffb494c299ca03604a7bef992", + "End": "5ef8f09cf18c409a9a8b07af1e2a141b", + "Id": "ad6b937350c34ab1b7ee53d4a853fbe6", + "IsHidden": "False" + }, + { + "Start": "3cce3cf2ba944b6e9c3955179ee3587d", + "End": "d9991c5b6eda4afcb609908d41959e77", + "Id": "667d4541f0514011adc3f036454f9a51", + "IsHidden": "False" + }, + { + "Start": "3a3de6d921f347cfa302ed030a2c1183", + "End": "57ac2f38247a4d8789f965baa84e3ec4", + "Id": "a3ab1ed48bab42aba6c35dcea58163ff", + "IsHidden": "False" + }, + { + "Start": "9f63518eb44048159a7f8b72ab6fdda0", + "End": "25f78671dddc4d619aaaf8ccf9e5bebd", + "Id": "c830b835dbac4dbea27b6d65536cd257", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "eefad41a369c440fab17a396c4f32e13", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -130.62034317857751, + "Y": 855.8125 + }, + { + "Id": "151d7188981c4df4a803508dfd1512cd", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -130.62034317857751, + "Y": 708.3125 + }, + { + "Id": "db10aa1102d14391bdc3c855dbf7061a", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 163.37965682142249, + "Y": 676.3125 + }, + { + "Id": "c1fcc8ad95d54bc9971f63cfdfe676c2", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 683.37965682142249, + "Y": 364.5625 + }, + { + "Id": "222095ced2b942eebe0068c355c9882e", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1336.3796568214225, + "Y": 501.5625 + }, + { + "Id": "8b86884947bc4a119a989e6a8eb6550b", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 683.37965682142249, + "Y": 677.5625 + }, + { + "Id": "2c63734f65b54d33af84172136aafa3d", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1336.3796568214225, + "Y": 652.5625 + }, + { + "Id": "90a14a8aa154493ca3949b8ef094d11f", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 163.37965682142249, + "Y": 853.8125 + }, + { + "Id": "a1a7da2d340f425296b85775ea603821", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 423.37965682142249, + "Y": 992.0625 + }, + { + "Id": "187285e6c347495bbd5744838d6ca07c", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 683.37965682142249, + "Y": 992.0625 + }, + { + "Id": "d513f7013e284b498bde2b36e5933ced", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1336.3796568214225, + "Y": 804.5625 + }, + { + "Id": "de7cad824f0242e08e80034d4886e54f", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1336.3796568214225, + "Y": 955.5625 + }, + { + "Id": "825c1dc695774c43a5ba6b40d6fe1ff4", + "Name": "List.AllTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1060.3796568214225, + "Y": 955.5625 + }, + { + "Id": "205e7e87052946978b3c8dacf810deef", + "Name": "List.AllTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1060.3796568214225, + "Y": 804.5625 + }, + { + "Id": "0d1a480012f0409ab5aaf4bac633e09a", + "Name": "List.AllTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1060.3796568214225, + "Y": 652.5625 + }, + { + "Id": "66a976face0a4bc084384be0486eb64b", + "Name": "List.AllTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1060.3796568214225, + "Y": 501.5625 + } + ], + "Annotations": [], + "X": 208.81653314970333, + "Y": -112.67985270090435, + "Zoom": 0.54145293516128334 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AllTrue.md b/doc/distrib/NodeHelpFiles/DSCore.List.AllTrue.md new file mode 100644 index 00000000000..4ef5015c5ed --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AllTrue.md @@ -0,0 +1,8 @@ +## In Depth +`List.AllTrue` returns False if any item in the given list is False or not a Boolean. `List.AllTrue` only returns True if every item in the given list is Boolean and True. + +In the example below, we use `List.AllTrue` to evaluate lists of Boolean values. The first list has a False value, so False is returned. The second list has only True values, so True is returned. The third list has a sublist that includes a False value, so False is returned. The final node evaluates the two sublists and returns False for the first one because it has a False value, and True for the second one because it has only True values. +___ +## Example File + +![List.AllTrue](./DSCore.List.AllTrue_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AllTrue_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.AllTrue_img.jpg new file mode 100644 index 00000000000..873f8a01112 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.AllTrue_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AnyFalse.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.AnyFalse.dyn new file mode 100644 index 00000000000..98adccf03c3 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AnyFalse.dyn @@ -0,0 +1,281 @@ +{ + "Uuid": "3c9d0464-8643-5ffe-96e5-ab1769818209", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.AnyFalse", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "e9a43a2d198e4324800c57dd68b3927f", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "a15fa0ac3bd74762bf826818e9793687", + "Name": "list", + "Description": "List to be checked on whether any item is false.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "269c7cab9e4b41be9e58dab67eaea8e5", + "Name": "bool", + "Description": "Whether any item is false.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AnyFalse@var[]..[]", + "Replication": "Auto", + "Description": "Determines if any item in the given list is a boolean and has a false value.\n\nList.AnyFalse (list: var[]..[]): bool" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "84da4aaff0fb43f49d139e2abc9089bd", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "8c0d7e18a46045c2b08d01740d43926e", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "13a96b67f7ec427d986143430df3991d", + "Name": "", + "Description": "Value of expression at line 2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "e7ff2b53f5ac4b199defeef14a00c21d", + "Name": "", + "Description": "Value of expression at line 3", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "true;\ntrue;\nfalse;" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "0e7925c1dda0489dac20d70c4eb20600", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "ae947f3f7f794e0985c41da6d584c9ef", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "a2aa2502d05343f1adf37a47873aae6e", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "646e725f54124754b34b3ba4a875f008", + "Name": "item2", + "Description": "Item Index #2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b00eace470e14c508989019c6680c3ab", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "1d873e30d1bd4e5587011fdfd199f1e4", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "034c2496995a4153b0c4725dcc34ef4f", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "01e4f1ceb05e422d82d1ae24a7946bc1", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "269c7cab9e4b41be9e58dab67eaea8e5", + "End": "034c2496995a4153b0c4725dcc34ef4f", + "Id": "fcbd4172dd2e41cc8a7ed56c53297903", + "IsHidden": "False" + }, + { + "Start": "8c0d7e18a46045c2b08d01740d43926e", + "End": "ae947f3f7f794e0985c41da6d584c9ef", + "Id": "5ae4151f2a71436c93761bdf7c9d30d4", + "IsHidden": "False" + }, + { + "Start": "13a96b67f7ec427d986143430df3991d", + "End": "a2aa2502d05343f1adf37a47873aae6e", + "Id": "fa4fd6b20bc640aaa2634a7eb64dd5b4", + "IsHidden": "False" + }, + { + "Start": "e7ff2b53f5ac4b199defeef14a00c21d", + "End": "646e725f54124754b34b3ba4a875f008", + "Id": "b8769bc0ac4742939b68ac3b8095450d", + "IsHidden": "False" + }, + { + "Start": "b00eace470e14c508989019c6680c3ab", + "End": "a15fa0ac3bd74762bf826818e9793687", + "Id": "1c20804b2efd462e8e5a090f7d9700db", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "e9a43a2d198e4324800c57dd68b3927f", + "Name": "List.AnyFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 486.38278931750745, + "Y": 147.50445103857567 + }, + { + "Id": "84da4aaff0fb43f49d139e2abc9089bd", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 59.364985163204722, + "Y": 153.56973293768544 + }, + { + "Id": "0e7925c1dda0489dac20d70c4eb20600", + "Name": "List Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 276.25222551928789, + "Y": 150.139465875371 + }, + { + "Id": "1d873e30d1bd4e5587011fdfd199f1e4", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 706.49554896142422, + "Y": 146.91097922848661 + } + ], + "Annotations": [], + "X": 228.87966920253746, + "Y": 94.627348113112276, + "Zoom": 1.0234302897303884 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AnyFalse.md b/doc/distrib/NodeHelpFiles/DSCore.List.AnyFalse.md new file mode 100644 index 00000000000..8cd0bca69e1 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AnyFalse.md @@ -0,0 +1,8 @@ +## In Depth +`List.AnyFalse` returns True if the given list has at least one False Boolean value. + +In the example below, we use `List.AnyFalse` to determine if the list has False values. There is one False value, so `List.AnyFalse` returns True. +___ +## Example File + +![List.AnyFalse](./DSCore.List.AnyFalse_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AnyFalse_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.AnyFalse_img.jpg new file mode 100644 index 00000000000..e7d1ddb93eb Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.AnyFalse_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AnyTrue.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.AnyTrue.dyn new file mode 100644 index 00000000000..c50dda89a66 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AnyTrue.dyn @@ -0,0 +1,281 @@ +{ + "Uuid": "33de25bd-c695-4d30-a330-774284c4ab34", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.AnyTrue", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "a6c78dd9711d43b483915baa275da2af", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "72cf4844a4844f6493252ee7fe7bf86b", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "b19cd06876da4e16ab211f242136bdbc", + "Name": "", + "Description": "Value of expression at line 2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "35ce638c55174ffa8bf08ed53ea3f598", + "Name": "", + "Description": "Value of expression at line 3", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "true;\ntrue;\nfalse;" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "a195246c088d4efc9cd1fceb0b5bb4e9", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "296a1c7f38274406911018888da8fbd3", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "997fa9fc73454148bc2b1312235d79d3", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "bdf301a92243436f881b41215dbfdd0b", + "Name": "item2", + "Description": "Item Index #2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b76ab02f9dfb4c3083769e73cfadfeb5", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "85f9b006b0b94cebb0ac7b0440181017", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "bb37199a36e441659747ce036cb4f343", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ae13738c2ffc41fa8b95f4d3b4413b56", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "4e398ec77544493ea7d8517aa0c67242", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "6d5f0028c00f499c9e9f95867466e1e7", + "Name": "list", + "Description": "List to be checked on whether any item is true.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9ad3bed047864fe28a0b242885be4907", + "Name": "bool", + "Description": "Whether any item is true.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.AnyTrue@var[]..[]", + "Replication": "Auto", + "Description": "Determines if any item in the given list is a boolean and has a true value.\n\nList.AnyTrue (list: var[]..[]): bool" + } + ], + "Connectors": [ + { + "Start": "72cf4844a4844f6493252ee7fe7bf86b", + "End": "296a1c7f38274406911018888da8fbd3", + "Id": "428cee549ee7437dae29913d2fe88b65", + "IsHidden": "False" + }, + { + "Start": "b19cd06876da4e16ab211f242136bdbc", + "End": "997fa9fc73454148bc2b1312235d79d3", + "Id": "d759339f14524de9b08705375a1a4a7a", + "IsHidden": "False" + }, + { + "Start": "35ce638c55174ffa8bf08ed53ea3f598", + "End": "bdf301a92243436f881b41215dbfdd0b", + "Id": "df7173c2d16e4a9c864540f9a46e8e62", + "IsHidden": "False" + }, + { + "Start": "b76ab02f9dfb4c3083769e73cfadfeb5", + "End": "6d5f0028c00f499c9e9f95867466e1e7", + "Id": "83dc33e282ba416d84e15f6976ed1118", + "IsHidden": "False" + }, + { + "Start": "9ad3bed047864fe28a0b242885be4907", + "End": "bb37199a36e441659747ce036cb4f343", + "Id": "8ce69abfce8149f08d37d08565f6cad8", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "a6c78dd9711d43b483915baa275da2af", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 59.364985163204722, + "Y": 153.56973293768544 + }, + { + "Id": "a195246c088d4efc9cd1fceb0b5bb4e9", + "Name": "List Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 276.25222551928789, + "Y": 150.139465875371 + }, + { + "Id": "85f9b006b0b94cebb0ac7b0440181017", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 701.129656989624, + "Y": 154.42322798900676 + }, + { + "Id": "4e398ec77544493ea7d8517aa0c67242", + "Name": "List.AnyTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 474.20092008894358, + "Y": 160.7284041148063 + } + ], + "Annotations": [], + "X": 232.8551901912964, + "Y": 30.848829127935261, + "Zoom": 1.0106153363253121 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AnyTrue.md b/doc/distrib/NodeHelpFiles/DSCore.List.AnyTrue.md new file mode 100644 index 00000000000..a5ca6569a65 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.AnyTrue.md @@ -0,0 +1,8 @@ +## In Depth +`List.AnyTrue` returns True if the given list has at least one True Boolean value. + +In the example below, we use `List.AnyTrue` to determine if the list has True values. There are 2 True values, so AnyTrue returns True. +___ +## Example File + +![List.AnyTrue](./DSCore.List.AnyTrue_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.AnyTrue_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.AnyTrue_img.jpg new file mode 100644 index 00000000000..c85082fd17d Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.AnyTrue_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Chop.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Chop.dyn new file mode 100644 index 00000000000..9d923367e77 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Chop.dyn @@ -0,0 +1,279 @@ +{ + "Uuid": "97195c23-8b52-4fa0-b176-541711c81149", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Chop", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "fd65c822ae0441fc985012a1450c5be1", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "3451a6d0f9ca4d09a7946e68ec02c10d", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "feaa197560d04afcb1d92eeda77c1dd5", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "33fa3f3dc61d496380a47a02990939d5", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "dea7be1d4d8046d9a3163084917ca040", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "580066faba0942bfb067eff45f089c3b", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "15d1be2eeeb24bda96c8739574747e52", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "[1,3];" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "4a761878804f4824ba6e643544d00ab4", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "fadcaaf57a404aaca41e6e563180d55f", + "Name": "list", + "Description": "List to chop into sublists\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "6efc073fa5f04f968061e236d756f23c", + "Name": "lengths", + "Description": "Lengths of consecutive sublists to be created from the input list\n\nint[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6e3fbe8ea32342e9b0b078c6835fd7d4", + "Name": "lists", + "Description": "Sublists created from the list", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Chop@var[]..[],int[]", + "Replication": "Auto", + "Description": "Chop a list into a set of consecutive sublists with the specified lengths. List division begins at the top of the list.\n\nList.Chop (list: var[]..[], lengths: int[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "725029b400624c36bdda956a22882a90", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "1a7045e74aa34cafb668f63b492162b2", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "2d216933079d467b89ba898aa845de8e", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "3451a6d0f9ca4d09a7946e68ec02c10d", + "End": "33fa3f3dc61d496380a47a02990939d5", + "Id": "1b908aeea3e64f08954c7f069d3301d3", + "IsHidden": "False" + }, + { + "Start": "dea7be1d4d8046d9a3163084917ca040", + "End": "fadcaaf57a404aaca41e6e563180d55f", + "Id": "fc39df2f116947d99b12179dbe0ef485", + "IsHidden": "False" + }, + { + "Start": "15d1be2eeeb24bda96c8739574747e52", + "End": "6efc073fa5f04f968061e236d756f23c", + "Id": "4ccb61d46627413a927df2fa029fd367", + "IsHidden": "False" + }, + { + "Start": "6e3fbe8ea32342e9b0b078c6835fd7d4", + "End": "1a7045e74aa34cafb668f63b492162b2", + "Id": "5941dc9c06234b57995c9b29bcca56c7", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "fd65c822ae0441fc985012a1450c5be1", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -166.04165838979895, + "Y": 282.489950785842 + }, + { + "Id": "feaa197560d04afcb1d92eeda77c1dd5", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 87.958341610201046, + "Y": 282.662450785842 + }, + { + "Id": "580066faba0942bfb067eff45f089c3b", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 87.958341610201046, + "Y": 596.489950785842 + }, + { + "Id": "4a761878804f4824ba6e643544d00ab4", + "Name": "List.Chop", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 464.95834161020105, + "Y": 422.662450785842 + }, + { + "Id": "725029b400624c36bdda956a22882a90", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 764.958341610201, + "Y": 422.662450785842 + } + ], + "Annotations": [], + "X": 422.62251051576527, + "Y": -69.35200605253624, + "Zoom": 0.75515756415562907 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Chop.md b/doc/distrib/NodeHelpFiles/DSCore.List.Chop.md new file mode 100644 index 00000000000..8c57ce937e9 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Chop.md @@ -0,0 +1,8 @@ +## In Depth +`List.Chop` splits a given list into smaller lists based on a list of input integer lengths. The first nested list contains the number of elements specified by the first number in the `lengths` input. The second nested list contains the number of elements specified by the second number in the Lengths input, and so on. `List.Chop` repeats the last number in the `lengths` input until all elements from the input list are chopped. + +In the example below, we use a code block to generate a range of numbers between 0 and 5, stepping by 1. This list has 6 elements in it. We use a second code block to create a list of lengths to chop the first list into. The first number on this list is 1, which `List.Chop` uses to create a nested list with 1 item. The second number is 3, which creates a nested list with 3 items. Since no more lengths are specified, `List.Chop` includes all remaining items in the third and final nested list. +___ +## Example File + +![List.Chop](./DSCore.List.Chop_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Chop_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Chop_img.jpg new file mode 100644 index 00000000000..3c0a6cae48e Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Chop_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Clean.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Clean.dyn new file mode 100644 index 00000000000..20bb446e2bb --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Clean.dyn @@ -0,0 +1,299 @@ +{ + "Uuid": "fe5da2e8-7d1a-4bc0-85d9-96e63f06dde7", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Clean", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "5ed65ac9582c4977a409484b644fcb5f", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "false", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "2de98f093ef040aa9bdef63437b24538", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "91f90887fc9d4738b96e8774fb5057d3", + "Name": "list", + "Description": "List containing nulls and empty sublists to clean\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "473707938875467fb5b9fd19af43829c", + "Name": "preserveIndices", + "Description": "Provide an option to preserve the indices of the data\n\nbool\nDefault value : true", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d07f14c54e274da09df2270bb6f0b988", + "Name": "list", + "Description": "List of transposed lists", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Clean@var[]..[],bool", + "Replication": "Auto", + "Description": "Cleans data of nulls and empty lists from a given list of arbitrary dimension\n\nList.Clean (list: var[]..[], preserveIndices: bool = true): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "1686ce7adff9447ca5053ebff4c27109", + "NodeType": "CodeBlockNode", + "Inputs": [ + { + "Id": "5ff162875c45417b914dc07943249734", + "Name": "A", + "Description": "A", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b8ffdab477524631b228392bb6fd838d", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "[10, 4, null, 40, A];" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "3336f33eb52144e3a4e2c9f8014a3026", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "ed1bf97ed8b34b218e56f279503731ec", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "aa05b925cef04c21b49c6b82e332933c", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "5ed65ac9582c4977a409484b644fcb5f", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "2cf513c997404823a2aec709a40ec072", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": false + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "2a4163ede0a043479395c1ddacde8706", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a6efa3088dcd44989458930d479e1c30", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "4d6aa7c1a87146c5a11e10d7be69314d", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "d07f14c54e274da09df2270bb6f0b988", + "End": "a6efa3088dcd44989458930d479e1c30", + "Id": "7be224c2cd15435eb079806d61076c52", + "IsHidden": "False" + }, + { + "Start": "b8ffdab477524631b228392bb6fd838d", + "End": "ed1bf97ed8b34b218e56f279503731ec", + "Id": "e009ad5f3930403fbbf0e3d1c91df906", + "IsHidden": "False" + }, + { + "Start": "aa05b925cef04c21b49c6b82e332933c", + "End": "91f90887fc9d4738b96e8774fb5057d3", + "Id": "16b52dd1e5b8436c9260a6d7ac8b1f85", + "IsHidden": "False" + }, + { + "Start": "2cf513c997404823a2aec709a40ec072", + "End": "473707938875467fb5b9fd19af43829c", + "Id": "c1145a9fcd96409a802050a21dc342ab", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -8.3436689376831055, + "EyeY": 6.9886860847473145, + "EyeZ": 8.8846864700317383, + "LookX": 12.983955383300781, + "LookY": -5.8967127799987793, + "LookZ": -15.98281192779541, + "UpX": 0.039591424167156219, + "UpY": 0.99802666902542114, + "UpZ": -0.04873570054769516 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "2de98f093ef040aa9bdef63437b24538", + "Name": "List.Clean", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 623.33418991546569, + "Y": 459.217907638467 + }, + { + "Id": "1686ce7adff9447ca5053ebff4c27109", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -132.66581008453431, + "Y": 319.045407638467 + }, + { + "Id": "3336f33eb52144e3a4e2c9f8014a3026", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 246.33418991546569, + "Y": 319.217907638467 + }, + { + "Id": "5ed65ac9582c4977a409484b644fcb5f", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 246.33418991546569, + "Y": 633.21790763846707 + }, + { + "Id": "2a4163ede0a043479395c1ddacde8706", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 965.33418991546569, + "Y": 459.217907638467 + } + ], + "Annotations": [], + "X": 154.07871401360808, + "Y": -163.52640852586808, + "Zoom": 0.93527272727272726 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Clean.md b/doc/distrib/NodeHelpFiles/DSCore.List.Clean.md new file mode 100644 index 00000000000..6e1ba237f3c --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Clean.md @@ -0,0 +1,8 @@ +## In Depth +`List.Clean` returns a list without nulls and empty lists. + +In the example below, `List.Clean` removes two null values from a list, returning only the integers. The `preserveIndices` input can be toggled by a Boolean value to keep the indices that once contained nulls. +___ +## Example File + +![List.Clean](./DSCore.List.Clean_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Clean_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Clean_img.jpg new file mode 100644 index 00000000000..7ef102a6e39 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Clean_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Combinations.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Combinations.dyn new file mode 100644 index 00000000000..6db8ccc8d3b --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Combinations.dyn @@ -0,0 +1,334 @@ +{ + "Uuid": "b6401ec9-4bdb-43d5-8337-fb6480806244", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Combinations", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "8b7c4268e7264c5e95b106669907fbc0", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "true", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "c4b2e8fc5526499dbe1bbd82b450980d", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ca188dcdddc548b5b481fbb23cbc3a48", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "1cd1d11069c8469ea2d456d9405da33e", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "0f2a741f3412497e81c3a389bb9a8ca9", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d6fd31a6a6294e6cb63538b106aa9102", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "73abd538a02e43119c1555bf24c6da37", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "da7f75e4fdf641f08e3bfb40779b3497", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "175589d039e040ec81f6c2b800866d1e", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "b9d333760383446690bca7bac413f306", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "7f417ace74814551a637d487e14c6c34", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "3;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "b7ab833bd75d417cb300215d33ef8ea1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "4b0214b4e4434425b929db25f1d24164", + "Name": "list", + "Description": "List to generate combinations of\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "2cd54ed331de47b595598028329491aa", + "Name": "length", + "Description": "Length of each combination\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "10d8d98da57d4f4c95e3f3a812837273", + "Name": "replace", + "Description": "Whether or not items are removed once selected for combination, defaults to false.\n\nbool\nDefault value : false", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d87ad2552dc842919dba76971a7fb6e1", + "Name": "lists", + "Description": "Combinations of the list of the given length", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Combinations@var[]..[],int,bool", + "Replication": "Auto", + "Description": "Produces all combinations of the given length of a given list.\n\nList.Combinations (list: var[]..[], length: int, replace: bool = false): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "8b7c4268e7264c5e95b106669907fbc0", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "cba364d2c8ed4cd5830e69fefeb52970", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": true + } + ], + "Connectors": [ + { + "Start": "ca188dcdddc548b5b481fbb23cbc3a48", + "End": "0f2a741f3412497e81c3a389bb9a8ca9", + "Id": "49086433e2d54a978b62561505f325b1", + "IsHidden": "False" + }, + { + "Start": "d6fd31a6a6294e6cb63538b106aa9102", + "End": "4b0214b4e4434425b929db25f1d24164", + "Id": "ad592857d09f4bb3b39694db8b756ffd", + "IsHidden": "False" + }, + { + "Start": "7f417ace74814551a637d487e14c6c34", + "End": "2cd54ed331de47b595598028329491aa", + "Id": "dd58612c1e64431f8ba1e637c3c2defc", + "IsHidden": "False" + }, + { + "Start": "d87ad2552dc842919dba76971a7fb6e1", + "End": "da7f75e4fdf641f08e3bfb40779b3497", + "Id": "1477005573ed43c18c9e8ee1afb71e76", + "IsHidden": "False" + }, + { + "Start": "cba364d2c8ed4cd5830e69fefeb52970", + "End": "10d8d98da57d4f4c95e3f3a812837273", + "Id": "6ce1ac5ee0c8435c8ba24ecaa25d6e07", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "c4b2e8fc5526499dbe1bbd82b450980d", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -179.9045156296965, + "Y": 178.40556227385287 + }, + { + "Id": "1cd1d11069c8469ea2d456d9405da33e", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 74.0954843703035, + "Y": 178.57806227385288 + }, + { + "Id": "73abd538a02e43119c1555bf24c6da37", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 757.09548437030344, + "Y": 403.57806227385288 + }, + { + "Id": "b9d333760383446690bca7bac413f306", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 74.0954843703035, + "Y": 493.40556227385287 + }, + { + "Id": "b7ab833bd75d417cb300215d33ef8ea1", + "Name": "List.Combinations", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 451.0954843703035, + "Y": 403.57806227385288 + }, + { + "Id": "8b7c4268e7264c5e95b106669907fbc0", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 74.0954843703035, + "Y": 640.578062273853 + } + ], + "Annotations": [], + "X": 270.307459676236, + "Y": 55.899875290075869, + "Zoom": 0.63922498630527758 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Combinations.md b/doc/distrib/NodeHelpFiles/DSCore.List.Combinations.md new file mode 100644 index 00000000000..153fed6cebf --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Combinations.md @@ -0,0 +1,8 @@ +## In Depth +`List.Combinations` returns a nested list that includes all possible combinations of the items in the input list with a given length. For combinations, the order of elements does not matter, so the output list (0,1) is considered the same combination as (1,0). If `replace` is set to True, items will be replaced into the original list, allowing for them to be used repeatedly in a combination. + +In the example below, we use a code block to generate a range of numbers from 0 to 5, stepping by 1. We use `List.Combinations` with an input length of 3 to generate all the different ways to combine 3 of the numbers in the range. The `replace` Boolean is set to True, so numbers will be used repeatedly. +___ +## Example File + +![List.Combinations](./DSCore.List.Combinations_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Combinations_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Combinations_img.jpg new file mode 100644 index 00000000000..cbf240d7795 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Combinations_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Contains.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Contains.dyn new file mode 100644 index 00000000000..9180843457c --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Contains.dyn @@ -0,0 +1,374 @@ +{ + "Uuid": "5ef35249-3355-4878-91d6-06b12a00e3b8", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Contains", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "9a460ec3ee1044908bc7352106d7acc5", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "0a9014ddb21e441bae60d3d2f6caaa9e", + "Name": "list", + "Description": "List to search in\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "b4db9c75d4b24ee7afbd04d1c75f5d06", + "Name": "item", + "Description": "Item to look for\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "4d262ae0d0774320a169864f6da7663b", + "Name": "bool", + "Description": "True if list contains item, false if it doesn’t", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Contains@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Determines if the given list contains the given item. This function searches through the sublists contained in it.\n\nList.Contains (list: var[]..[], item: var[]..[]): bool" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "b9302ea6fa9a41adb82d955d7e484610", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "f58095bef94c4e0298e493075eada2b4", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "\"The best way to predict your future is to create it. - Abraham Lincoln\";" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "59fd1e2718604f418dad1029178f477a", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "37aba79c791f4b849b669dd97e5eeb1b", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6070f5cc6f1e4beb9e418bf20650ccb7", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "fab8f90ebc784e458ac1e69b94772a8c", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "662230bbc4184ce29f5a93194858ad87", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "6335058786b04e95ab7ed5448b9da4de", + "Name": "", + "Description": "Value of expression at line 2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "7ea12595370e43c4bb12d2d383ccb228", + "Name": "", + "Description": "Value of expression at line 3", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "0bb239d575dc404696b99d18dab2cdb6", + "Name": "", + "Description": "Value of expression at line 4", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "9be170e7cc324b22b2ffee5730233662", + "Name": "", + "Description": "Value of expression at line 6", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "\"The only way to do great work is to love what you do. - Steve Jobs\";\n\"If you want to go fast, go alone. If you want to go far, go together. - African Proverb\";\n\"The man who moves a mountain begins by carrying away small stones. - Confucius\";\n\"Don't watch the clock;\n do what it does. Keep going. - Sam Levenson\";\n\"The best way to predict your future is to create it. - Abraham Lincoln\";" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "c1eba1b857f94ddca101cda3baf1b5da", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "d5dd63b642654ff18f0fe09f919f7354", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "0d3dda79938443a8acdc269afa132d85", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "2ca6dca9587b42dc89d49af2e158c6f1", + "Name": "item2", + "Description": "Item Index #2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "8b68135ec2d04cb8829d1e54fd97ec34", + "Name": "item3", + "Description": "Item Index #3", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "d6d7bcf249db495a81f87acb08da87cb", + "Name": "item4", + "Description": "Item Index #4", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "41bbc8e9c0a14890a36b1085c707655d", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + } + ], + "Connectors": [ + { + "Start": "4d262ae0d0774320a169864f6da7663b", + "End": "37aba79c791f4b849b669dd97e5eeb1b", + "Id": "37d72f03424f4ae59147266adfb59022", + "IsHidden": "False" + }, + { + "Start": "f58095bef94c4e0298e493075eada2b4", + "End": "b4db9c75d4b24ee7afbd04d1c75f5d06", + "Id": "b22800fe2edd4a3fbaa23a794d8429e8", + "IsHidden": "False" + }, + { + "Start": "662230bbc4184ce29f5a93194858ad87", + "End": "d5dd63b642654ff18f0fe09f919f7354", + "Id": "fa435b0171724341b8b85e52d6efa0b7", + "IsHidden": "False" + }, + { + "Start": "6335058786b04e95ab7ed5448b9da4de", + "End": "0d3dda79938443a8acdc269afa132d85", + "Id": "1e7397d06558461c919d75fab68a9b27", + "IsHidden": "False" + }, + { + "Start": "7ea12595370e43c4bb12d2d383ccb228", + "End": "2ca6dca9587b42dc89d49af2e158c6f1", + "Id": "6219133edb214edbb27fcf220ec9a3b1", + "IsHidden": "False" + }, + { + "Start": "0bb239d575dc404696b99d18dab2cdb6", + "End": "8b68135ec2d04cb8829d1e54fd97ec34", + "Id": "bbc1d30b74744065ae68742c9d7b4fe1", + "IsHidden": "False" + }, + { + "Start": "9be170e7cc324b22b2ffee5730233662", + "End": "d6d7bcf249db495a81f87acb08da87cb", + "Id": "1159f5eee17f4a04b3020fcfe50999a9", + "IsHidden": "False" + }, + { + "Start": "41bbc8e9c0a14890a36b1085c707655d", + "End": "0a9014ddb21e441bae60d3d2f6caaa9e", + "Id": "9cfafd4b404d4aed9c352010faa960b3", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "9a460ec3ee1044908bc7352106d7acc5", + "Name": "List.Contains", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1210.0885269754403, + "Y": 246.64391691394667 + }, + { + "Id": "b9302ea6fa9a41adb82d955d7e484610", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 381.0122542293052, + "Y": 537.55844393087443 + }, + { + "Id": "59fd1e2718604f418dad1029178f477a", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1445.7784374964074, + "Y": 246.64391691394667 + }, + { + "Id": "fab8f90ebc784e458ac1e69b94772a8c", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 17.01939522304599, + "Y": 238.51465331733419 + }, + { + "Id": "c1eba1b857f94ddca101cda3baf1b5da", + "Name": "List Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 868.52971783597, + "Y": 247.337807559929 + } + ], + "Annotations": [], + "X": 58.57821921680204, + "Y": -23.769335843317776, + "Zoom": 0.76140659543178513 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Contains.md b/doc/distrib/NodeHelpFiles/DSCore.List.Contains.md new file mode 100644 index 00000000000..66f5d09cd7d --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Contains.md @@ -0,0 +1,8 @@ +## In Depth +`List.Contains` returns a False if the list does not include the given item, and True if it does. + +In the example below, we create a list of famous quotes, then use `List.Contains` to check if the list includes a specific quote. +___ +## Example File + +![List.Contains](./DSCore.List.Contains_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Contains_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Contains_img.jpg new file mode 100644 index 00000000000..bee269e4640 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Contains_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Count.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Count.dyn new file mode 100644 index 00000000000..dd8de3aef59 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Count.dyn @@ -0,0 +1,490 @@ +{ + "Uuid": "3c9d0464-8643-5ffe-96e5-ab1769818209", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Count", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "cc772fb53fe845d6a2d3ef912ab26d02", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "21a71f71373c48c3994e564fd7491d81", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..19..#11;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "fbc796cc9c504e859d2669350fabfeb4", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "a41a127a51ea4ad08df0f3610592192d", + "Name": "x", + "Description": "X coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "31799afa7b61419e8899bfc9029b6221", + "Name": "y", + "Description": "Y coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "37b18d9618484d308a6b2409cbe61d9b", + "Name": "Point", + "Description": "Point created by coordinates", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Point.ByCoordinates@double,double", + "Replication": "CrossProduct", + "Description": "Form a Point in the XY plane given two 2 cartesian coordinates. The Z component is 0.\n\nPoint.ByCoordinates (x: double = 0, y: double = 0): Point" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "82c301274732420db58feb54c56366b2", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "e447bc392ad14a31b40675beaf4dd685", + "Name": "list", + "Description": "List to flatten.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "cc9f2ea58f744b4982d5eb3216c180bf", + "Name": "amount", + "Description": "Layers of list nesting to remove (-1 will remove all list nestings)\n\nint\nDefault value : -1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f85f85bd48e549e1bbd548a8322d87db", + "Name": "list", + "Description": "Flattened list by amount", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Flatten@var[]..[],int", + "Replication": "Auto", + "Description": "Flattens a nested list of lists by a certain amount.\n\nList.Flatten (list: var[]..[], amount: int = -1): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 378.0, + "WatchHeight": 269.0, + "Id": "42db66321fb241189af0e4eafc95d1f7", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a26fafd7f9164f80beb467d6cd04e84b", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "03c6a7556e4b4aa3a0cc8f8cf8118697", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "60415fa4d83049369813025bb6cf9744", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "c8ab9c5bdb284908877281718cce9bb2", + "Name": "list", + "Description": "List to get the item count of.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "a5735867f0a241e3a33bccee52fc7b1e", + "Name": "int", + "Description": "List length.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Count@var[]..[]", + "Replication": "Auto", + "Description": "Returns the number of items stored in the given list.\n\nList.Count (list: var[]..[]): int" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 42.0, + "WatchHeight": 38.0, + "Id": "cc70cc6a373f469ab9e26d742c109d71", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "b414472a1f64474ebf5c5cd282b4486a", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "2a157a4eeceb47ca824621a6fea51f3e", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "7fe0bedaed674a6eba4387eff5407dbb", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "9e052525cf3e4e2a8c1025b21e5e25be", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "5080dc217c8e42e2a527159a240a7d8d", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "8a2caa9080e34b18a8b45b09511e9940", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "e82045f8eed1406c9c42a218f5e17ef5", + "Name": "list", + "Description": "List to get the item count of.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "5731b4deeb3c437398b2452f05afec61", + "Name": "int", + "Description": "List length.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Count@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of items stored in the given list.\n\nList.Count (list: var[]..[]): int" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "a1985ffbdcb648c49f634da8ba14ddfd", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a37a7534c8ef4122b01cb8ddaf0ba23c", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8fae9edd7cc34caebceba67dc6e1daed", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "21a71f71373c48c3994e564fd7491d81", + "End": "a41a127a51ea4ad08df0f3610592192d", + "Id": "69863390b3aa46b4857b59617c7dcbd5", + "IsHidden": "False" + }, + { + "Start": "21a71f71373c48c3994e564fd7491d81", + "End": "31799afa7b61419e8899bfc9029b6221", + "Id": "3777f342606a4b829e3e2e17bf73fd50", + "IsHidden": "False" + }, + { + "Start": "37b18d9618484d308a6b2409cbe61d9b", + "End": "e447bc392ad14a31b40675beaf4dd685", + "Id": "5b78ae5f091b4af8b729e0300d7446ed", + "IsHidden": "False" + }, + { + "Start": "37b18d9618484d308a6b2409cbe61d9b", + "End": "9e052525cf3e4e2a8c1025b21e5e25be", + "Id": "60c805b69d4843baafbee33c970ddd4e", + "IsHidden": "False" + }, + { + "Start": "f85f85bd48e549e1bbd548a8322d87db", + "End": "a26fafd7f9164f80beb467d6cd04e84b", + "Id": "5c7a7c83991444239e0c71cb736dffca", + "IsHidden": "False" + }, + { + "Start": "03c6a7556e4b4aa3a0cc8f8cf8118697", + "End": "c8ab9c5bdb284908877281718cce9bb2", + "Id": "98383ccc5bca4923bd09dd66c4e2a7fe", + "IsHidden": "False" + }, + { + "Start": "a5735867f0a241e3a33bccee52fc7b1e", + "End": "b414472a1f64474ebf5c5cd282b4486a", + "Id": "5f4725ce84bb4a468af244377f62fbed", + "IsHidden": "False" + }, + { + "Start": "5080dc217c8e42e2a527159a240a7d8d", + "End": "e82045f8eed1406c9c42a218f5e17ef5", + "Id": "71745057e1de440c84cea7748ec4f401", + "IsHidden": "False" + }, + { + "Start": "5731b4deeb3c437398b2452f05afec61", + "End": "a37a7534c8ef4122b01cb8ddaf0ba23c", + "Id": "129e349e72dc4456ac03a8b5e413b587", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": 17.140187874436378, + "EyeY": 123.85723876953125, + "EyeZ": 15.869594573974609, + "LookX": 0.164113387465477, + "LookY": -108.34935760498047, + "LookZ": -49.652816772460938, + "UpX": 0.0026395563036203384, + "UpY": 0.60181468725204468, + "UpZ": -0.79863142967224121 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "cc772fb53fe845d6a2d3ef912ab26d02", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 343.0, + "Y": 356.0 + }, + { + "Id": "fbc796cc9c504e859d2669350fabfeb4", + "Name": "Point.ByCoordinates", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 588.89969501042117, + "Y": 354.71388922252368 + }, + { + "Id": "82c301274732420db58feb54c56366b2", + "Name": "List.Flatten", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 928.68779142851872, + "Y": 353.58876307544392 + }, + { + "Id": "42db66321fb241189af0e4eafc95d1f7", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1213.3447066397068, + "Y": 349.08825848712468 + }, + { + "Id": "60415fa4d83049369813025bb6cf9744", + "Name": "List.Count", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1750.0298787967679, + "Y": 356.9641415166833 + }, + { + "Id": "cc70cc6a373f469ab9e26d742c109d71", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1964.9289728890085, + "Y": 360.33951995792279 + }, + { + "Id": "7fe0bedaed674a6eba4387eff5407dbb", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 840.798766203927, + "Y": 751.67513108495655 + }, + { + "Id": "8a2caa9080e34b18a8b45b09511e9940", + "Name": "List.Count", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1177.2706019099919, + "Y": 759.21934264787285 + }, + { + "Id": "a1985ffbdcb648c49f634da8ba14ddfd", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1423.2118988610621, + "Y": 760.728184960456 + } + ], + "Annotations": [], + "X": -131.13722200944744, + "Y": -110.75439421712196, + "Zoom": 0.68718486659081268 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Count.md b/doc/distrib/NodeHelpFiles/DSCore.List.Count.md new file mode 100644 index 00000000000..b129038669a --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Count.md @@ -0,0 +1,8 @@ +## In Depth +`List.Count` returns the number of items in the input list or lists. + +In the example below, we create a grid of points. We then compare the count of list items before and after the list is flattened. Pre-flattening, `List.Count` returns 11 items (sublists) on the list. Post-flattening, Count returns 121, as all sublists are removed and the points are on the same list level. +___ +## Example File + +![List.Count](./DSCore.List.Count_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.CountFalse.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.CountFalse.dyn new file mode 100644 index 00000000000..44035474a87 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.CountFalse.dyn @@ -0,0 +1,932 @@ +{ + "Uuid": "65a1edc3-36a8-43bd-843b-ee613bc07d42", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.CountFalse", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "eefad41a369c440fab17a396c4f32e13", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "false", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + }, + { + "Id": "151d7188981c4df4a803508dfd1512cd", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "true", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "eefad41a369c440fab17a396c4f32e13", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "58a140709119409bbc27e1cb5729916f", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": false + }, + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "151d7188981c4df4a803508dfd1512cd", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ec3dcf0b94eb432ab9ae29c4acc18299", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": true + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "db10aa1102d14391bdc3c855dbf7061a", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "bcac0798b6804e91a9ede3f166e6beb8", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "67e103721f8440d1abdbac3b02272e38", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "10e9bd4a68a747988a195e2ba2e15cdd", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 155.0, + "WatchHeight": 104.0, + "Id": "c1fcc8ad95d54bc9971f63cfdfe676c2", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "ececd0cde91043c4a08984b884b60fa0", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "268dd59a608d40f9bcfd9670f0c0972f", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 177.0, + "WatchHeight": 108.0, + "Id": "8b86884947bc4a119a989e6a8eb6550b", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a47e27b81f5a4810907a782f8f1427a0", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8d5322bca37a48e6993bac188d4b9202", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "90a14a8aa154493ca3949b8ef094d11f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "44c793a8d73f469d97d383cff574152b", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "b46d5d296fc34154a84f1ed1dbd9e7ed", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c766d161185642ef8812df2a137badb0", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "a1a7da2d340f425296b85775ea603821", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "cbe0702df8ea4f1aaca84c21bf8b68d0", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "6f734362ec16431a95b00653c26071f3", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1bdd1a8357334709bad55c177adc25a0", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 186.0, + "WatchHeight": 174.0, + "Id": "187285e6c347495bbd5744838d6ca07c", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "367ed37d095c4fadb510d0151e69d7ba", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "40bdbf5720ee487885732ed6df375441", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 130.0, + "WatchHeight": 98.0, + "Id": "de7cad824f0242e08e80034d4886e54f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5ef8f09cf18c409a9a8b07af1e2a141b", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "3b2559d789ba40169153bd453e5e159e", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "a1bf0a6583634f1cb891ebee59b7c155", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "21cab74abf1a49d781831ed9136c25ae", + "Name": "list", + "Description": "The list find the false boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0e7045739e3a4ff69ae5bc6d224bc748", + "Name": "int", + "Description": "The number of false boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountFalse@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of false boolean values in the given list.\n\nList.CountFalse (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "b16df95e55344f0dab7fa84e33adbb5f", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "c264067c3a9b4950900261cf0d2bbe3c", + "Name": "list", + "Description": "The list find the false boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 1, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b30791b4c84d43b0883bf04ca6a4a875", + "Name": "int", + "Description": "The number of false boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountFalse@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of false boolean values in the given list.\n\nList.CountFalse (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "6587a215e2e449fa867789a38b4305c6", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "15c5a79bb1dd4bac9a67fd2ef031876a", + "Name": "list", + "Description": "The list find the false boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 1, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "465ac794efde46b086bc9a8d19be96dd", + "Name": "int", + "Description": "The number of false boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountFalse@var[]..[]", + "Replication": "Longest", + "Description": "Returns the number of false boolean values in the given list.\n\nList.CountFalse (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "f7b44f2b09d849c69142b4cff6840774", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "dec8f482b846459994c13bc671ffd3eb", + "Name": "list", + "Description": "The list find the false boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": true, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1f156bcef5d843c3880815de436d9858", + "Name": "int", + "Description": "The number of false boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountFalse@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of false boolean values in the given list.\n\nList.CountFalse (list: var[]..[]): int" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 136.0, + "WatchHeight": 90.0, + "Id": "ba1ecfad1c3f4ccea449f0990d46058a", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5a8db9eb1d0c402e97990275fdded94e", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9a236a3068ea4c939d2d7192eb04b85f", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "87c18debde824beb83f84de94678a241", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "703cee4d69814078a335d64e2d77e808", + "Name": "list", + "Description": "The list find the false boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 3, + "UseLevels": true, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "10b9242413b743baa59ed7d4465a92d9", + "Name": "int", + "Description": "The number of false boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountFalse@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of false boolean values in the given list.\n\nList.CountFalse (list: var[]..[]): int" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 130.0, + "WatchHeight": 104.0, + "Id": "81c724b1b7b047d195ea7e67035487f0", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5d3b92aeedcc407bbcdef8af49e7b932", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "59dd95db169e4a6fbd2fc5d73b7e2ae6", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 128.0, + "WatchHeight": 102.0, + "Id": "cf31641e70af425b917d3ec543b506d2", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "3bebbf0ab6064adbb95900293a0af5ca", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ef854e3a0807462e9a771fbe94232886", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 119.0, + "WatchHeight": 99.0, + "Id": "6e3f41d9a95d428eb743536c4e404906", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "151852ff7ef742f598189be3d32962c7", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "694adaaae3b0485896e8b0ee3b5ac5b6", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "58a140709119409bbc27e1cb5729916f", + "End": "bcac0798b6804e91a9ede3f166e6beb8", + "Id": "1d7522031270467cb1487c3e5560d1b7", + "IsHidden": "False" + }, + { + "Start": "58a140709119409bbc27e1cb5729916f", + "End": "44c793a8d73f469d97d383cff574152b", + "Id": "e9d2839f590f4e9faa0a5aa466308518", + "IsHidden": "False" + }, + { + "Start": "58a140709119409bbc27e1cb5729916f", + "End": "b46d5d296fc34154a84f1ed1dbd9e7ed", + "Id": "68f924baa64045408129bcc66f3151d6", + "IsHidden": "False" + }, + { + "Start": "ec3dcf0b94eb432ab9ae29c4acc18299", + "End": "67e103721f8440d1abdbac3b02272e38", + "Id": "d05aa087e0a94446b9d052c036398ed7", + "IsHidden": "False" + }, + { + "Start": "10e9bd4a68a747988a195e2ba2e15cdd", + "End": "ececd0cde91043c4a08984b884b60fa0", + "Id": "fdd42d22106b487abdc07d2fba356e2c", + "IsHidden": "False" + }, + { + "Start": "10e9bd4a68a747988a195e2ba2e15cdd", + "End": "cbe0702df8ea4f1aaca84c21bf8b68d0", + "Id": "260870c589e643949803c7e2ce3a0a9f", + "IsHidden": "False" + }, + { + "Start": "268dd59a608d40f9bcfd9670f0c0972f", + "End": "21cab74abf1a49d781831ed9136c25ae", + "Id": "26266fec833a49099f04b79aa03c6c49", + "IsHidden": "False" + }, + { + "Start": "8d5322bca37a48e6993bac188d4b9202", + "End": "c264067c3a9b4950900261cf0d2bbe3c", + "Id": "f2c94c88439d44dcb93d9c19f659b1c8", + "IsHidden": "False" + }, + { + "Start": "c766d161185642ef8812df2a137badb0", + "End": "a47e27b81f5a4810907a782f8f1427a0", + "Id": "1966ce5a4c6f47a4b67bb93db36323bf", + "IsHidden": "False" + }, + { + "Start": "c766d161185642ef8812df2a137badb0", + "End": "6f734362ec16431a95b00653c26071f3", + "Id": "1daea595f902449b8dafceb5faecc1dc", + "IsHidden": "False" + }, + { + "Start": "1bdd1a8357334709bad55c177adc25a0", + "End": "367ed37d095c4fadb510d0151e69d7ba", + "Id": "ea2e370862b3477ab3eadd6c626e67c6", + "IsHidden": "False" + }, + { + "Start": "40bdbf5720ee487885732ed6df375441", + "End": "15c5a79bb1dd4bac9a67fd2ef031876a", + "Id": "b8b5740a708c4fe799bb2bb277ab80e1", + "IsHidden": "False" + }, + { + "Start": "40bdbf5720ee487885732ed6df375441", + "End": "dec8f482b846459994c13bc671ffd3eb", + "Id": "e5e7b05e09004135b0185d187b664da6", + "IsHidden": "False" + }, + { + "Start": "40bdbf5720ee487885732ed6df375441", + "End": "703cee4d69814078a335d64e2d77e808", + "Id": "ef8607d262b2473cbe5b0c13f677432c", + "IsHidden": "False" + }, + { + "Start": "0e7045739e3a4ff69ae5bc6d224bc748", + "End": "151852ff7ef742f598189be3d32962c7", + "Id": "aec1472a590f44e7923ce729a71d60cb", + "IsHidden": "False" + }, + { + "Start": "b30791b4c84d43b0883bf04ca6a4a875", + "End": "3bebbf0ab6064adbb95900293a0af5ca", + "Id": "6cde43aff69142199343928df0a184cd", + "IsHidden": "False" + }, + { + "Start": "465ac794efde46b086bc9a8d19be96dd", + "End": "5d3b92aeedcc407bbcdef8af49e7b932", + "Id": "6eb74b4697bc4fc18f0b25bb30132396", + "IsHidden": "False" + }, + { + "Start": "1f156bcef5d843c3880815de436d9858", + "End": "5ef8f09cf18c409a9a8b07af1e2a141b", + "Id": "0d6cd2ea59d64b1fa2747baffd7be6e6", + "IsHidden": "False" + }, + { + "Start": "10b9242413b743baa59ed7d4465a92d9", + "End": "5a8db9eb1d0c402e97990275fdded94e", + "Id": "c39198f8b1644e36bd31212c9413f357", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "eefad41a369c440fab17a396c4f32e13", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -130.62034317857751, + "Y": 855.8125 + }, + { + "Id": "151d7188981c4df4a803508dfd1512cd", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -130.62034317857751, + "Y": 708.3125 + }, + { + "Id": "db10aa1102d14391bdc3c855dbf7061a", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 163.37965682142249, + "Y": 676.3125 + }, + { + "Id": "c1fcc8ad95d54bc9971f63cfdfe676c2", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 683.37965682142249, + "Y": 364.5625 + }, + { + "Id": "8b86884947bc4a119a989e6a8eb6550b", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 674.90078678212649, + "Y": 628.760254887466 + }, + { + "Id": "90a14a8aa154493ca3949b8ef094d11f", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 163.37965682142249, + "Y": 853.8125 + }, + { + "Id": "a1a7da2d340f425296b85775ea603821", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 445.281981948413, + "Y": 923.22662102945833 + }, + { + "Id": "187285e6c347495bbd5744838d6ca07c", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 668.08380729439341, + "Y": 890.33565024533846 + }, + { + "Id": "de7cad824f0242e08e80034d4886e54f", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1338.8759398724292, + "Y": 1055.1134634808941 + }, + { + "Id": "a1bf0a6583634f1cb891ebee59b7c155", + "Name": "List.CountFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1055.026958012339, + "Y": 472.16748472314117 + }, + { + "Id": "b16df95e55344f0dab7fa84e33adbb5f", + "Name": "List.CountFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1055.026958012339, + "Y": 641.48846044652748 + }, + { + "Id": "6587a215e2e449fa867789a38b4305c6", + "Name": "List.CountFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1055.026958012339, + "Y": 802.403430282937 + }, + { + "Id": "f7b44f2b09d849c69142b4cff6840774", + "Name": "List.CountFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1055.026958012339, + "Y": 992.138991731838 + }, + { + "Id": "ba1ecfad1c3f4ccea449f0990d46058a", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1335.1197060050108, + "Y": 1273.1088935730354 + }, + { + "Id": "87c18debde824beb83f84de94678a241", + "Name": "List.CountFalse", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1055.026958012339, + "Y": 1166.086530657099 + }, + { + "Id": "81c724b1b7b047d195ea7e67035487f0", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1340.1617463903654, + "Y": 840.4426639962951 + }, + { + "Id": "cf31641e70af425b917d3ec543b506d2", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1339.0975668129438, + "Y": 634.09457229409441 + }, + { + "Id": "6e3f41d9a95d428eb743536c4e404906", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1338.7966664980793, + "Y": 431.34254778440987 + } + ], + "Annotations": [], + "X": 271.2941117569701, + "Y": -176.627116347468, + "Zoom": 0.56678104947016761 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.CountFalse.md b/doc/distrib/NodeHelpFiles/DSCore.List.CountFalse.md new file mode 100644 index 00000000000..ec87ea7465b --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.CountFalse.md @@ -0,0 +1,8 @@ +## In Depth +`List.CountFalse` returns the number of False Boolean values in the input list or lists. + +In the example below, we use `List.CountFalse` to return the number of False values in several Boolean lists. +___ +## Example File + +![List.CountFalse](./DSCore.List.CountFalse_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.CountFalse_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.CountFalse_img.jpg new file mode 100644 index 00000000000..7ad68f7ab2d Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.CountFalse_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.CountTrue.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.CountTrue.dyn new file mode 100644 index 00000000000..b3737fa2c76 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.CountTrue.dyn @@ -0,0 +1,932 @@ +{ + "Uuid": "65a1edc3-36a8-43bd-843b-ee613bc07d42", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.CountTrue", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "eefad41a369c440fab17a396c4f32e13", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "false", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + }, + { + "Id": "151d7188981c4df4a803508dfd1512cd", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "true", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "eefad41a369c440fab17a396c4f32e13", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "58a140709119409bbc27e1cb5729916f", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": false + }, + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "151d7188981c4df4a803508dfd1512cd", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ec3dcf0b94eb432ab9ae29c4acc18299", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": true + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "db10aa1102d14391bdc3c855dbf7061a", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "bcac0798b6804e91a9ede3f166e6beb8", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "67e103721f8440d1abdbac3b02272e38", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "10e9bd4a68a747988a195e2ba2e15cdd", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 155.0, + "WatchHeight": 104.0, + "Id": "c1fcc8ad95d54bc9971f63cfdfe676c2", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "ececd0cde91043c4a08984b884b60fa0", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "268dd59a608d40f9bcfd9670f0c0972f", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 177.0, + "WatchHeight": 108.0, + "Id": "8b86884947bc4a119a989e6a8eb6550b", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a47e27b81f5a4810907a782f8f1427a0", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8d5322bca37a48e6993bac188d4b9202", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "90a14a8aa154493ca3949b8ef094d11f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "44c793a8d73f469d97d383cff574152b", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "b46d5d296fc34154a84f1ed1dbd9e7ed", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c766d161185642ef8812df2a137badb0", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "a1a7da2d340f425296b85775ea603821", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "cbe0702df8ea4f1aaca84c21bf8b68d0", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "6f734362ec16431a95b00653c26071f3", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1bdd1a8357334709bad55c177adc25a0", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 186.0, + "WatchHeight": 174.0, + "Id": "187285e6c347495bbd5744838d6ca07c", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "367ed37d095c4fadb510d0151e69d7ba", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "40bdbf5720ee487885732ed6df375441", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 121.0, + "WatchHeight": 107.0, + "Id": "de7cad824f0242e08e80034d4886e54f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5ef8f09cf18c409a9a8b07af1e2a141b", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "3b2559d789ba40169153bd453e5e159e", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 131.0, + "WatchHeight": 83.0, + "Id": "ba1ecfad1c3f4ccea449f0990d46058a", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5a8db9eb1d0c402e97990275fdded94e", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9a236a3068ea4c939d2d7192eb04b85f", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 116.0, + "WatchHeight": 102.0, + "Id": "81c724b1b7b047d195ea7e67035487f0", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5d3b92aeedcc407bbcdef8af49e7b932", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "59dd95db169e4a6fbd2fc5d73b7e2ae6", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 119.0, + "WatchHeight": 103.0, + "Id": "cf31641e70af425b917d3ec543b506d2", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "3bebbf0ab6064adbb95900293a0af5ca", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ef854e3a0807462e9a771fbe94232886", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 113.0, + "WatchHeight": 105.0, + "Id": "6e3f41d9a95d428eb743536c4e404906", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "151852ff7ef742f598189be3d32962c7", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "694adaaae3b0485896e8b0ee3b5ac5b6", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "52ca0d18fbe84319b2de941b8dac8811", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "ea62eb40de2348b3938f3715cf481bb4", + "Name": "list", + "Description": "The list find the true boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "cab816d016084825b2d00bc8f86a2738", + "Name": "int", + "Description": "The number of true boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountTrue@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of true boolean values in the given list.\n\nList.CountTrue (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "eedf24b7da9e404cb75226c2676ccded", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "7054b8ab84c74badb40fc4ec7d0417a7", + "Name": "list", + "Description": "The list find the true boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1c33e8c8fc9448788feadcc7a2a3da02", + "Name": "int", + "Description": "The number of true boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountTrue@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of true boolean values in the given list.\n\nList.CountTrue (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "2c5171dc90d1464fa4c55f00066e1175", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "ad1c7c1077bf4aa68c5c784244060b22", + "Name": "list", + "Description": "The list find the true boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f917f9cb2504498b89984a2b3c869111", + "Name": "int", + "Description": "The number of true boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountTrue@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of true boolean values in the given list.\n\nList.CountTrue (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "d2c26ee3bd3d4ceaaf3c3372fef27fe1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "94b7678b79b34e8ba1219fc1921414ce", + "Name": "list", + "Description": "The list find the true boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": true, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "5fcad0c63557452da4c06f14a7de32f0", + "Name": "int", + "Description": "The number of true boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountTrue@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of true boolean values in the given list.\n\nList.CountTrue (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "6d189c97d16b4c5ca6c4e065c40b8d1f", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "d4360e10bfb749b6b76922c5f76f725f", + "Name": "list", + "Description": "The list find the true boolean values.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 3, + "UseLevels": true, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ab64376b99534f0abbeb6ebb31ebd6b7", + "Name": "int", + "Description": "The number of true boolean values in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.CountTrue@var[]..[]", + "Replication": "Shortest", + "Description": "Returns the number of true boolean values in the given list.\n\nList.CountTrue (list: var[]..[]): int" + } + ], + "Connectors": [ + { + "Start": "58a140709119409bbc27e1cb5729916f", + "End": "bcac0798b6804e91a9ede3f166e6beb8", + "Id": "1d7522031270467cb1487c3e5560d1b7", + "IsHidden": "False" + }, + { + "Start": "58a140709119409bbc27e1cb5729916f", + "End": "44c793a8d73f469d97d383cff574152b", + "Id": "e9d2839f590f4e9faa0a5aa466308518", + "IsHidden": "False" + }, + { + "Start": "58a140709119409bbc27e1cb5729916f", + "End": "b46d5d296fc34154a84f1ed1dbd9e7ed", + "Id": "68f924baa64045408129bcc66f3151d6", + "IsHidden": "False" + }, + { + "Start": "ec3dcf0b94eb432ab9ae29c4acc18299", + "End": "67e103721f8440d1abdbac3b02272e38", + "Id": "d05aa087e0a94446b9d052c036398ed7", + "IsHidden": "False" + }, + { + "Start": "10e9bd4a68a747988a195e2ba2e15cdd", + "End": "ececd0cde91043c4a08984b884b60fa0", + "Id": "fdd42d22106b487abdc07d2fba356e2c", + "IsHidden": "False" + }, + { + "Start": "10e9bd4a68a747988a195e2ba2e15cdd", + "End": "cbe0702df8ea4f1aaca84c21bf8b68d0", + "Id": "260870c589e643949803c7e2ce3a0a9f", + "IsHidden": "False" + }, + { + "Start": "268dd59a608d40f9bcfd9670f0c0972f", + "End": "ea62eb40de2348b3938f3715cf481bb4", + "Id": "12085410d253450d8adb96f46ef96eb8", + "IsHidden": "False" + }, + { + "Start": "8d5322bca37a48e6993bac188d4b9202", + "End": "7054b8ab84c74badb40fc4ec7d0417a7", + "Id": "c9a7a527780d404f8e5e5c6bb42f6d9e", + "IsHidden": "False" + }, + { + "Start": "c766d161185642ef8812df2a137badb0", + "End": "a47e27b81f5a4810907a782f8f1427a0", + "Id": "1966ce5a4c6f47a4b67bb93db36323bf", + "IsHidden": "False" + }, + { + "Start": "c766d161185642ef8812df2a137badb0", + "End": "6f734362ec16431a95b00653c26071f3", + "Id": "1daea595f902449b8dafceb5faecc1dc", + "IsHidden": "False" + }, + { + "Start": "1bdd1a8357334709bad55c177adc25a0", + "End": "367ed37d095c4fadb510d0151e69d7ba", + "Id": "ea2e370862b3477ab3eadd6c626e67c6", + "IsHidden": "False" + }, + { + "Start": "40bdbf5720ee487885732ed6df375441", + "End": "ad1c7c1077bf4aa68c5c784244060b22", + "Id": "6c72f47ce6fd457b956771a2312b9933", + "IsHidden": "False" + }, + { + "Start": "40bdbf5720ee487885732ed6df375441", + "End": "94b7678b79b34e8ba1219fc1921414ce", + "Id": "f442dc4ec6b74c7f8f04098e257eacf7", + "IsHidden": "False" + }, + { + "Start": "40bdbf5720ee487885732ed6df375441", + "End": "d4360e10bfb749b6b76922c5f76f725f", + "Id": "0a177761b4ac432dbae3c46b7001d468", + "IsHidden": "False" + }, + { + "Start": "cab816d016084825b2d00bc8f86a2738", + "End": "151852ff7ef742f598189be3d32962c7", + "Id": "c1f424b3c9eb49a991cb80bb361175ca", + "IsHidden": "False" + }, + { + "Start": "1c33e8c8fc9448788feadcc7a2a3da02", + "End": "3bebbf0ab6064adbb95900293a0af5ca", + "Id": "fe5a00c8497b4be1a7c904ac1401e4f8", + "IsHidden": "False" + }, + { + "Start": "f917f9cb2504498b89984a2b3c869111", + "End": "5d3b92aeedcc407bbcdef8af49e7b932", + "Id": "ab18e5fc3b69442cbf9c3e3fdbaf07ed", + "IsHidden": "False" + }, + { + "Start": "5fcad0c63557452da4c06f14a7de32f0", + "End": "5ef8f09cf18c409a9a8b07af1e2a141b", + "Id": "0a12284c90d542fdadd8769167f9f93b", + "IsHidden": "False" + }, + { + "Start": "ab64376b99534f0abbeb6ebb31ebd6b7", + "End": "5a8db9eb1d0c402e97990275fdded94e", + "Id": "8547a525f264444abec070ead8514328", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "eefad41a369c440fab17a396c4f32e13", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -130.62034317857751, + "Y": 855.8125 + }, + { + "Id": "151d7188981c4df4a803508dfd1512cd", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -130.62034317857751, + "Y": 708.3125 + }, + { + "Id": "db10aa1102d14391bdc3c855dbf7061a", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 163.37965682142249, + "Y": 676.3125 + }, + { + "Id": "c1fcc8ad95d54bc9971f63cfdfe676c2", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 683.37965682142249, + "Y": 364.5625 + }, + { + "Id": "8b86884947bc4a119a989e6a8eb6550b", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 674.90078678212649, + "Y": 628.760254887466 + }, + { + "Id": "90a14a8aa154493ca3949b8ef094d11f", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 163.37965682142249, + "Y": 853.8125 + }, + { + "Id": "a1a7da2d340f425296b85775ea603821", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 445.281981948413, + "Y": 923.22662102945833 + }, + { + "Id": "187285e6c347495bbd5744838d6ca07c", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 668.08380729439341, + "Y": 890.33565024533846 + }, + { + "Id": "de7cad824f0242e08e80034d4886e54f", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1338.8759398724292, + "Y": 1055.1134634808941 + }, + { + "Id": "ba1ecfad1c3f4ccea449f0990d46058a", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1335.1197060050108, + "Y": 1286.0743121415085 + }, + { + "Id": "81c724b1b7b047d195ea7e67035487f0", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1340.1617463903654, + "Y": 840.4426639962951 + }, + { + "Id": "cf31641e70af425b917d3ec543b506d2", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1341.345725303401, + "Y": 619.48154210612472 + }, + { + "Id": "6e3f41d9a95d428eb743536c4e404906", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1344.74200044427, + "Y": 391.44562497566534 + }, + { + "Id": "52ca0d18fbe84319b2de941b8dac8811", + "Name": "List.CountTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1033.0233241235999, + "Y": 397.6782476939664 + }, + { + "Id": "eedf24b7da9e404cb75226c2676ccded", + "Name": "List.CountTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1039.7677995949705, + "Y": 630.57475876939282 + }, + { + "Id": "2c5171dc90d1464fa4c55f00066e1175", + "Name": "List.CountTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1053.129665178649, + "Y": 810.95994414905147 + }, + { + "Id": "d2c26ee3bd3d4ceaaf3c3372fef27fe1", + "Name": "List.CountTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1056.1090082413939, + "Y": 983.76184178825281 + }, + { + "Id": "6d189c97d16b4c5ca6c4e065c40b8d1f", + "Name": "List.CountTrue", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1057.2876826567096, + "Y": 1167.6350505775022 + } + ], + "Annotations": [], + "X": 274.90680241552337, + "Y": -175.49368752136448, + "Zoom": 0.5636720384607975 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.CountTrue.md b/doc/distrib/NodeHelpFiles/DSCore.List.CountTrue.md new file mode 100644 index 00000000000..6cdb248e45a --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.CountTrue.md @@ -0,0 +1,9 @@ +## In Depth +`List.CountTrue` returns the number of True Boolean values in the input list or lists. + +In the example below, we use `List.CountTrue` to return the number of True values in lists of Boolean values. + +___ +## Example File + +![List.CountTrue](./DSCore.List.CountTrue_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.CountTrue_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.CountTrue_img.jpg new file mode 100644 index 00000000000..e9a2afffbe0 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.CountTrue_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Count_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Count_img.jpg new file mode 100644 index 00000000000..f17a9245369 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Count_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Cycle.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Cycle.dyn new file mode 100644 index 00000000000..e2ec5e2cf2b --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Cycle.dyn @@ -0,0 +1,279 @@ +{ + "Uuid": "5ebcca34-e723-46dd-85b3-6d6883c4cc22", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Cycle", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "4069a0aa5a6e4166bac9886ca70bf871", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "2048b420e43b4985a388247a5ac9ef18", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "d4fdcee2d88645d2af4f4a928c1b536f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "6eed3851077943439e3acb57b2e176f9", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d8c4a7edb95e4882b78d27e996ef4ed8", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 206.0, + "WatchHeight": 356.0, + "Id": "4ee8de7af7f44e5db3b9e57fd78e19eb", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "3d78b3bffd70450ea4d12848eeeb9d16", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1699f890994a41b9b8463981c10df5fa", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "5d3b68cf712c459ca39bc2c5eeefd7a1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "3f43a90ddeb243dd9a6d18066e25c8a6", + "Name": "list", + "Description": "List to repeat.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "157ae59213684f3aa62b10ee1371fe9f", + "Name": "amount", + "Description": "Number of times to repeat.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "bc7ad42a8a6f4d339d1ab7d4b9bacda2", + "Name": "list", + "Description": "List of repeated lists of type: var[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Cycle@var[]..[],int", + "Replication": "Auto", + "Description": "Creates a new list by concatenating copies of a given list.\n\nList.Cycle (list: var[]..[], amount: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "b1ff28f61fe243e69266d2009a6bb319", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "534bd138a55e48a7bb607438e069862f", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "3;" + } + ], + "Connectors": [ + { + "Start": "2048b420e43b4985a388247a5ac9ef18", + "End": "6eed3851077943439e3acb57b2e176f9", + "Id": "9bc4cd4611e84a9394a01552126d01c9", + "IsHidden": "False" + }, + { + "Start": "d8c4a7edb95e4882b78d27e996ef4ed8", + "End": "3f43a90ddeb243dd9a6d18066e25c8a6", + "Id": "0cdc9538680945d095aac68db6f4fd67", + "IsHidden": "False" + }, + { + "Start": "bc7ad42a8a6f4d339d1ab7d4b9bacda2", + "End": "3d78b3bffd70450ea4d12848eeeb9d16", + "Id": "5d0cdf8732fc43759968a0f567ef3e4b", + "IsHidden": "False" + }, + { + "Start": "534bd138a55e48a7bb607438e069862f", + "End": "157ae59213684f3aa62b10ee1371fe9f", + "Id": "0ff9b8cc8c064f48bd55c74898a8c22b", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "4069a0aa5a6e4166bac9886ca70bf871", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -184.53248393599148, + "Y": 252.49181227385293 + }, + { + "Id": "d4fdcee2d88645d2af4f4a928c1b536f", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 69.467516064008521, + "Y": 252.66431227385294 + }, + { + "Id": "4ee8de7af7f44e5db3b9e57fd78e19eb", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 729.244498383764, + "Y": 250.87730718301469 + }, + { + "Id": "5d3b68cf712c459ca39bc2c5eeefd7a1", + "Name": "List.Cycle", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 446.46751606400852, + "Y": 392.66431227385294 + }, + { + "Id": "b1ff28f61fe243e69266d2009a6bb319", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 69.467516064008521, + "Y": 566.49181227385293 + } + ], + "Annotations": [], + "X": 227.9107993871736, + "Y": -55.9240538140221, + "Zoom": 0.8181285719779654 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Cycle.md b/doc/distrib/NodeHelpFiles/DSCore.List.Cycle.md new file mode 100644 index 00000000000..37992ed7812 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Cycle.md @@ -0,0 +1,8 @@ +## In Depth +`List.Cycle` takes an input list and returns a new list comprised of the input list repeated a number of times specified by the `amount` input. + +In the example below, we first use a code block to generate a range of numbers from 0 to 5, stepping by 1. We then use a `List.Cycle` node with an input amount of 3. The result is a list with 18 elements, consisting of 3 cycles of the original list. +___ +## Example File + +![List.Cycle](./DSCore.List.Cycle_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Cycle_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Cycle_img.jpg new file mode 100644 index 00000000000..3397a58f07c Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Cycle_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Deconstruct.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Deconstruct.dyn new file mode 100644 index 00000000000..24822eb2a29 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Deconstruct.dyn @@ -0,0 +1,290 @@ +{ + "Uuid": "60a7185c-89b1-48c5-9dce-1a222628fb66", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Deconstruct", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "3e85ab04cac64d63a2abc305f84259f4", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "56e6793806b54cc2b9bafd45d098159b", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "4c73698372fb4a1ab8943bdf2696b493", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "e3a78f16715941878ca247488dae5c51", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "779f1872b26e4f0995397eb97ea02183", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 28.0, + "WatchHeight": 38.0, + "Id": "397bf03a807f48f88e86cee9f9a64c14", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "d52ed91047a8422dbe403503294c9547", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "4bcb9870f1a4405b969ed2f551959be0", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "cb2537bb02da48228270142452943a44", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "2accdbd8f26146e1b17a834ad8402de0", + "Name": "list", + "Description": "List to be split.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "83d340b36e51464a8bbf87e8616c79ca", + "Name": "first", + "Description": "First item in the list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "10f2603370764a4fa4f4b150b1463d3a", + "Name": "rest", + "Description": "Rest of the list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Deconstruct@var[]..[]", + "Replication": "Auto", + "Description": "Given a list, produces the first item in the list, and a new list containing all items except the first.\n\nList.Deconstruct (list: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "57968510e1954001ae8da6e6e6bfd384", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "6431d4b698a444bc935c69d8e1d9be76", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "2409a70bd5fb428fb9f4dcd31cba651f", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "56e6793806b54cc2b9bafd45d098159b", + "End": "e3a78f16715941878ca247488dae5c51", + "Id": "06e5ea140c3c4635a5ae93cc51539719", + "IsHidden": "False" + }, + { + "Start": "779f1872b26e4f0995397eb97ea02183", + "End": "2accdbd8f26146e1b17a834ad8402de0", + "Id": "6d4024a5057243a4892f8f3625c72ee2", + "IsHidden": "False" + }, + { + "Start": "83d340b36e51464a8bbf87e8616c79ca", + "End": "d52ed91047a8422dbe403503294c9547", + "Id": "9184fab3800f4d30b3e48f78e4635d6e", + "IsHidden": "False" + }, + { + "Start": "10f2603370764a4fa4f4b150b1463d3a", + "End": "6431d4b698a444bc935c69d8e1d9be76", + "Id": "52ce7fec80974f4d90049a2e207fd300", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "3e85ab04cac64d63a2abc305f84259f4", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -184.03248393599148, + "Y": 369.005895696573 + }, + { + "Id": "4c73698372fb4a1ab8943bdf2696b493", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 69.967516064008521, + "Y": 369.17839569657303 + }, + { + "Id": "397bf03a807f48f88e86cee9f9a64c14", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 740.96751606400858, + "Y": 310.17839569657303 + }, + { + "Id": "cb2537bb02da48228270142452943a44", + "Name": "List.Deconstruct", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 446.967516064009, + "Y": 369.178395696573 + }, + { + "Id": "57968510e1954001ae8da6e6e6bfd384", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 740.96751606400858, + "Y": 462.17839569657303 + } + ], + "Annotations": [], + "X": 226.89332307960484, + "Y": -228.05442334924533, + "Zoom": 1.0698835274542429 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Deconstruct.md b/doc/distrib/NodeHelpFiles/DSCore.List.Deconstruct.md new file mode 100644 index 00000000000..1ade566c453 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Deconstruct.md @@ -0,0 +1,8 @@ +## In Depth +`List.Deconstruct` separates the first item in a list from the remainder. This node has two outputs. The first output is the first item of the original list. The second output is a list with the remaining elements from the original list. + +In the example below, we first use a code block to generate a range of numbers from 0 to 5, stepping by 1. We then use a `List.Deconstruct` node to separate the first item from the remainder. The result is the item 0 as the first output, and a list of the range from 1 to 5 as the second output. +___ +## Example File + +![List.Deconstruct](./DSCore.List.Deconstruct_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Deconstruct_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Deconstruct_img.jpg new file mode 100644 index 00000000000..6965b2656b2 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Deconstruct_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalLeft.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalLeft.dyn new file mode 100644 index 00000000000..ee3e41d079a --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalLeft.dyn @@ -0,0 +1,656 @@ +{ + "Uuid": "aa9906c5-b9be-4395-bd5c-d0dbb896d3c9", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.DiagonalLeft", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "6d95fbe35a234f7983b783a191128e73", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "44b9c2b6b42c49e1931abbf0074a8716", + "Name": "list", + "Description": "A flat list.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "d1396018e4784cf2b3d88ae6ed5e47b3", + "Name": "rowLength", + "Description": "Length of each new sib-list.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "2b29f8d0a56e43d286bf36ba17b1df9f", + "Name": "diagonals", + "Description": "Lists of elements along matrix diagonals.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.DiagonalLeft@var[]..[],int", + "Replication": "Auto", + "Description": "List elements along each diagonal in the matrix from the top left to the lower right.\n\nList.DiagonalLeft (list: var[]..[], rowLength: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "fb8cdb88d78847e986c3bff9e794fe06", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "691421ce2f2f406b9689ab18c74f4fdf", + "Name": "x", + "Description": "X coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "055cf947062d4441991d8a9ae198e3a2", + "Name": "y", + "Description": "Y coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "9d2732d96fda483ab7d1fe1872a7d5f3", + "Name": "z", + "Description": "Z coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "cd83512a6ac14e20bbd8bfec03fd60b4", + "Name": "Point", + "Description": "Point created by coordinates", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Point.ByCoordinates@double,double,double", + "Replication": "CrossProduct", + "Description": "Form a Point given 3 cartesian coordinates\n\nPoint.ByCoordinates (x: double = 0, y: double = 0, z: double = 0): Point" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "a3c2b369dd0d4dce954fe35b687b81b6", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "31677bf55adc4e94a4df73460b9a77f2", + "Name": "", + "Description": "Value of expression at line 2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "//Range from -5 to 5, with 5 total points\n-5..5..#5;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "17c20e04f822455a87c48322a7690b12", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "a56b298ee2f841dd802753ba1354c7d2", + "Name": "bestFitPoints", + "Description": "List of points to best fit line\n\nPoint[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "424940f77db246c0890de7bfe1f5d8ac", + "Name": "Line", + "Description": "Line from fit through points", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Line.ByBestFitThroughPoints@Autodesk.DesignScript.Geometry.Point[]", + "Replication": "Auto", + "Description": "Creates a Line best approximating a scatter plot of Points.\n\nLine.ByBestFitThroughPoints (bestFitPoints: Point[]): Line" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "fa7b3f76c7f9401cbb36e6f96cfcadd3", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "0abfb2e954984168bfc349927346ac42", + "Name": "list", + "Description": "List to get the item count of.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": true, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9e13c3fec9344ae9b96739c25b02c6d6", + "Name": "int", + "Description": "List length.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Count@var[]..[]", + "Replication": "Auto", + "Description": "Returns the number of items stored in the given list.\n\nList.Count (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "82bad57ee75e4197b9ac8907f51512a1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "d7827c7df7df4ec5a64f1a6f38c02388", + "Name": "x", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "d733d98625204739aa7571a3278f8fa9", + "Name": "y", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "88824769faf04d3db7a9cc0b46d88546", + "Name": "bool", + "Description": "Result of equality check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "==@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x and y are equal\n\n== (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "1b5e480b82354e9bb928f9356698cfd1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "2361202dc0cb416f9519a442e5f755f5", + "Name": "x", + "Description": "boolean to reverse.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "32acc25b7d644f4bad9ae841ca63752d", + "Name": "bool", + "Description": "type var[]..[] (reversed boolean)", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Not@var[]..[]", + "Replication": "Auto", + "Description": "Negates the input, e.g. returns false when the input is true.\n\nNot (x: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "b3479370a8ac458e94e465fe4cbdac60", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "f2ecda063d244fc080bcc216ad923919", + "Name": "list", + "Description": "List to filter.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "0ffeea7697034741a410eaf52402faff", + "Name": "mask", + "Description": "List of booleans representing a mask.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d3c4897aea4645c095ee45cc46e0077b", + "Name": "in", + "Description": "Items whose mask index is true.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "fcfb765e3e9a49f493aa5e031f624ff7", + "Name": "out", + "Description": "Items whose mask index is false.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.FilterByBoolMask@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Filters a sequence by looking up corresponding indices in a separate list of booleans.\n\nList.FilterByBoolMask (list: var[]..[], mask: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleInput, CoreNodeModels", + "NumberType": "Double", + "Id": "65105122d233421f9f63ddec2f0e4c44", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "a269c9cc8106441fac9e12e39a48e352", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Creates a number", + "InputValue": 5.0 + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleInput, CoreNodeModels", + "NumberType": "Double", + "Id": "91b8e4f2089c492ebfe592e1add32b82", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ffc8e420f15c4f149e5f7c54df205d04", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Creates a number", + "InputValue": 1.0 + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 358.0, + "WatchHeight": 255.0, + "Id": "7e689b7d64d14ec0bba9275b86f458e7", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "c37d1d2ebe664d5096f96a4b1b8eaf85", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "31c6893a04464da09a45763162177d4e", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 242.0, + "WatchHeight": 211.0, + "Id": "201a50ed977c4a89b3b9e47b59eba684", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "f7d45c047376470caf170d30f694f991", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0d71e688d62640a8acccebfb2f08ea28", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "2b29f8d0a56e43d286bf36ba17b1df9f", + "End": "0abfb2e954984168bfc349927346ac42", + "Id": "79b114d9afd44c10be7211c8fa46e947", + "IsHidden": "False" + }, + { + "Start": "2b29f8d0a56e43d286bf36ba17b1df9f", + "End": "f2ecda063d244fc080bcc216ad923919", + "Id": "3428fbf15a414239988bf0b2d415f496", + "IsHidden": "False" + }, + { + "Start": "2b29f8d0a56e43d286bf36ba17b1df9f", + "End": "c37d1d2ebe664d5096f96a4b1b8eaf85", + "Id": "8733c03832634613b05cb809f3c427b9", + "IsHidden": "False" + }, + { + "Start": "cd83512a6ac14e20bbd8bfec03fd60b4", + "End": "44b9c2b6b42c49e1931abbf0074a8716", + "Id": "9e35b20d54d5455f9430912114962ff1", + "IsHidden": "False" + }, + { + "Start": "cd83512a6ac14e20bbd8bfec03fd60b4", + "End": "f7d45c047376470caf170d30f694f991", + "Id": "0be30b8e7c25430581fb9c1f19f02407", + "IsHidden": "False" + }, + { + "Start": "31677bf55adc4e94a4df73460b9a77f2", + "End": "691421ce2f2f406b9689ab18c74f4fdf", + "Id": "a5811768afe3458d903da3ef7badb4c0", + "IsHidden": "False" + }, + { + "Start": "31677bf55adc4e94a4df73460b9a77f2", + "End": "055cf947062d4441991d8a9ae198e3a2", + "Id": "8385210ba507488b8bc5fac567660ba2", + "IsHidden": "False" + }, + { + "Start": "9e13c3fec9344ae9b96739c25b02c6d6", + "End": "d7827c7df7df4ec5a64f1a6f38c02388", + "Id": "4816015a56fa435c8060eb17d6f2e1fb", + "IsHidden": "False" + }, + { + "Start": "88824769faf04d3db7a9cc0b46d88546", + "End": "2361202dc0cb416f9519a442e5f755f5", + "Id": "fabd8327ec35493ca385efd0d6ea9dab", + "IsHidden": "False" + }, + { + "Start": "32acc25b7d644f4bad9ae841ca63752d", + "End": "0ffeea7697034741a410eaf52402faff", + "Id": "18610f210e9446b2b35624e6543c0412", + "IsHidden": "False" + }, + { + "Start": "d3c4897aea4645c095ee45cc46e0077b", + "End": "a56b298ee2f841dd802753ba1354c7d2", + "Id": "1fa6b6115f0c4b89a4b233ec0b485123", + "IsHidden": "False" + }, + { + "Start": "a269c9cc8106441fac9e12e39a48e352", + "End": "d1396018e4784cf2b3d88ae6ed5e47b3", + "Id": "a27e078d4fd64ba0b9389ddfa8c02b01", + "IsHidden": "False" + }, + { + "Start": "ffc8e420f15c4f149e5f7c54df205d04", + "End": "d733d98625204739aa7571a3278f8fa9", + "Id": "1e27d782350f4537b93e5e126c980601", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.18", + "Data": {} + }, + { + "ExtensionGuid": "DFBD9CC0-DB40-457A-939E-8C8555555A9D", + "Name": "Generative Design", + "Version": "1.2", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -22.494972705841064, + "EyeY": 23.864439010620117, + "EyeZ": -7.4116365909576416, + "LookX": -0.0038232803344726563, + "LookY": -20.693647384643555, + "LookZ": 0.498333215713501, + "UpX": 0.0075275655835866928, + "UpY": 0.19080884754657745, + "UpZ": -0.9815983772277832 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "6d95fbe35a234f7983b783a191128e73", + "Name": "List.DiagonalLeft", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 819.22507159868837, + "Y": 189.06415706919603 + }, + { + "Id": "fb8cdb88d78847e986c3bff9e794fe06", + "Name": "Point.ByCoordinates", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 494.72507159868837, + "Y": 189.06415706919603 + }, + { + "Id": "a3c2b369dd0d4dce954fe35b687b81b6", + "Name": "Number range", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -7.87917056820271, + "Y": 189.06415706919603 + }, + { + "Id": "17c20e04f822455a87c48322a7690b12", + "Name": "Line.ByBestFitThroughPoints", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 2298.2250715986884, + "Y": 189.06415706919603 + }, + { + "Id": "fa7b3f76c7f9401cbb36e6f96cfcadd3", + "Name": "List.Count", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1158.220728175068, + "Y": 437.637995270744 + }, + { + "Id": "82bad57ee75e4197b9ac8907f51512a1", + "Name": "==", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1424.720728175068, + "Y": 437.637995270744 + }, + { + "Id": "1b5e480b82354e9bb928f9356698cfd1", + "Name": "Not", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1689.220728175068, + "Y": 437.637995270744 + }, + { + "Id": "b3479370a8ac458e94e465fe4cbdac60", + "Name": "List.FilterByBoolMask", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1963.7250715986884, + "Y": 189.06415706919603 + }, + { + "Id": "65105122d233421f9f63ddec2f0e4c44", + "Name": "Number", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 586.72507159868837, + "Y": 437.637995270744 + }, + { + "Id": "91b8e4f2089c492ebfe592e1add32b82", + "Name": "Number", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1192.220728175068, + "Y": 617.15169319180359 + }, + { + "Id": "7e689b7d64d14ec0bba9275b86f458e7", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1186.8170762973136, + "Y": 31.5009997432893 + }, + { + "Id": "201a50ed977c4a89b3b9e47b59eba684", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 779.09035989430026, + "Y": 611.758781769933 + } + ], + "Annotations": [], + "X": 565.24796397659907, + "Y": 403.92277922772234, + "Zoom": 0.51600439038061108 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalLeft.md b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalLeft.md new file mode 100644 index 00000000000..f2085ff5856 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalLeft.md @@ -0,0 +1,10 @@ +## In Depth +`List.DiagonalLeft` returns a new list of lists of elements along each diagonal in the list matrix from bottom left to top right. + +In the example below, we create a grid of points with lines running through them diagonally. `List.DiagonalLeft` returns a list of the points diagonally from the bottom left of the grid to the top right. + + +___ +## Example File + +![List.DiagonalLeft](./DSCore.List.DiagonalLeft_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalLeft_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalLeft_img.jpg new file mode 100644 index 00000000000..d31369f577a Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalLeft_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalRight.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalRight.dyn new file mode 100644 index 00000000000..374af9a5606 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalRight.dyn @@ -0,0 +1,656 @@ +{ + "Uuid": "aa9906c5-b9be-4395-bd5c-d0dbb896d3c9", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.DiagonalRight", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "fb8cdb88d78847e986c3bff9e794fe06", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "691421ce2f2f406b9689ab18c74f4fdf", + "Name": "x", + "Description": "X coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "055cf947062d4441991d8a9ae198e3a2", + "Name": "y", + "Description": "Y coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "9d2732d96fda483ab7d1fe1872a7d5f3", + "Name": "z", + "Description": "Z coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "cd83512a6ac14e20bbd8bfec03fd60b4", + "Name": "Point", + "Description": "Point created by coordinates", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Point.ByCoordinates@double,double,double", + "Replication": "CrossProduct", + "Description": "Form a Point given 3 cartesian coordinates\n\nPoint.ByCoordinates (x: double = 0, y: double = 0, z: double = 0): Point" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "a3c2b369dd0d4dce954fe35b687b81b6", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "31677bf55adc4e94a4df73460b9a77f2", + "Name": "", + "Description": "Value of expression at line 2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "//Range from -5 to 5, with 5 total points\n-5..5..#5;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "17c20e04f822455a87c48322a7690b12", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "a56b298ee2f841dd802753ba1354c7d2", + "Name": "bestFitPoints", + "Description": "List of points to best fit line\n\nPoint[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "424940f77db246c0890de7bfe1f5d8ac", + "Name": "Line", + "Description": "Line from fit through points", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Line.ByBestFitThroughPoints@Autodesk.DesignScript.Geometry.Point[]", + "Replication": "Auto", + "Description": "Creates a Line best approximating a scatter plot of Points.\n\nLine.ByBestFitThroughPoints (bestFitPoints: Point[]): Line" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "fa7b3f76c7f9401cbb36e6f96cfcadd3", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "0abfb2e954984168bfc349927346ac42", + "Name": "list", + "Description": "List to get the item count of.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": true, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9e13c3fec9344ae9b96739c25b02c6d6", + "Name": "int", + "Description": "List length.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Count@var[]..[]", + "Replication": "Auto", + "Description": "Returns the number of items stored in the given list.\n\nList.Count (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "82bad57ee75e4197b9ac8907f51512a1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "d7827c7df7df4ec5a64f1a6f38c02388", + "Name": "x", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "d733d98625204739aa7571a3278f8fa9", + "Name": "y", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "88824769faf04d3db7a9cc0b46d88546", + "Name": "bool", + "Description": "Result of equality check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "==@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x and y are equal\n\n== (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "1b5e480b82354e9bb928f9356698cfd1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "2361202dc0cb416f9519a442e5f755f5", + "Name": "x", + "Description": "boolean to reverse.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "32acc25b7d644f4bad9ae841ca63752d", + "Name": "bool", + "Description": "type var[]..[] (reversed boolean)", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Not@var[]..[]", + "Replication": "Auto", + "Description": "Negates the input, e.g. returns false when the input is true.\n\nNot (x: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "b3479370a8ac458e94e465fe4cbdac60", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "f2ecda063d244fc080bcc216ad923919", + "Name": "list", + "Description": "List to filter.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "0ffeea7697034741a410eaf52402faff", + "Name": "mask", + "Description": "List of booleans representing a mask.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d3c4897aea4645c095ee45cc46e0077b", + "Name": "in", + "Description": "Items whose mask index is true.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "fcfb765e3e9a49f493aa5e031f624ff7", + "Name": "out", + "Description": "Items whose mask index is false.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.FilterByBoolMask@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Filters a sequence by looking up corresponding indices in a separate list of booleans.\n\nList.FilterByBoolMask (list: var[]..[], mask: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleInput, CoreNodeModels", + "NumberType": "Double", + "Id": "65105122d233421f9f63ddec2f0e4c44", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "a269c9cc8106441fac9e12e39a48e352", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Creates a number", + "InputValue": 5.0 + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleInput, CoreNodeModels", + "NumberType": "Double", + "Id": "91b8e4f2089c492ebfe592e1add32b82", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ffc8e420f15c4f149e5f7c54df205d04", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Creates a number", + "InputValue": 1.0 + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "3ec43829b3be49aa8c9668753d75854f", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "bee3dbf48b1f4974a0e43b331ff42906", + "Name": "list", + "Description": "A flat list\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "a85d87fb5e67498e8620b249b3cc0297", + "Name": "subLength", + "Description": "Length of each new sub-list.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "180749fb5f0b4de4adc04f336e0d97c1", + "Name": "diagonals", + "Description": "Lists of elements along matrix diagonals.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.DiagonalRight@var[]..[],int", + "Replication": "Auto", + "Description": "List elements along each diagonal in the matrix from the lower left to the top right.\n\nList.DiagonalRight (list: var[]..[], subLength: int): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 403.0, + "WatchHeight": 290.0, + "Id": "80ffb4e873684993a12303a32723c8ac", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "b90e644fffd74543981323d215b2d448", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "000761178a5c4165a8615189e22b6ce5", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 379.0, + "WatchHeight": 237.0, + "Id": "e0d627b9dfc340d8a915a85a6311431c", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "fa237d1961af439d961effabd51d3187", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1740c4cf89fe44e8997f49914150f7cd", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "cd83512a6ac14e20bbd8bfec03fd60b4", + "End": "bee3dbf48b1f4974a0e43b331ff42906", + "Id": "b49e7c130478452ea871d4c7172cb63b", + "IsHidden": "False" + }, + { + "Start": "cd83512a6ac14e20bbd8bfec03fd60b4", + "End": "fa237d1961af439d961effabd51d3187", + "Id": "96bed98cd40e41bda1a1aa3ee8fc23d0", + "IsHidden": "False" + }, + { + "Start": "31677bf55adc4e94a4df73460b9a77f2", + "End": "691421ce2f2f406b9689ab18c74f4fdf", + "Id": "a5811768afe3458d903da3ef7badb4c0", + "IsHidden": "False" + }, + { + "Start": "31677bf55adc4e94a4df73460b9a77f2", + "End": "055cf947062d4441991d8a9ae198e3a2", + "Id": "8385210ba507488b8bc5fac567660ba2", + "IsHidden": "False" + }, + { + "Start": "9e13c3fec9344ae9b96739c25b02c6d6", + "End": "d7827c7df7df4ec5a64f1a6f38c02388", + "Id": "4816015a56fa435c8060eb17d6f2e1fb", + "IsHidden": "False" + }, + { + "Start": "88824769faf04d3db7a9cc0b46d88546", + "End": "2361202dc0cb416f9519a442e5f755f5", + "Id": "fabd8327ec35493ca385efd0d6ea9dab", + "IsHidden": "False" + }, + { + "Start": "32acc25b7d644f4bad9ae841ca63752d", + "End": "0ffeea7697034741a410eaf52402faff", + "Id": "18610f210e9446b2b35624e6543c0412", + "IsHidden": "False" + }, + { + "Start": "d3c4897aea4645c095ee45cc46e0077b", + "End": "a56b298ee2f841dd802753ba1354c7d2", + "Id": "1fa6b6115f0c4b89a4b233ec0b485123", + "IsHidden": "False" + }, + { + "Start": "a269c9cc8106441fac9e12e39a48e352", + "End": "a85d87fb5e67498e8620b249b3cc0297", + "Id": "1f8b55a1cd6c4841be76d47afd3a3d3a", + "IsHidden": "False" + }, + { + "Start": "ffc8e420f15c4f149e5f7c54df205d04", + "End": "d733d98625204739aa7571a3278f8fa9", + "Id": "1e27d782350f4537b93e5e126c980601", + "IsHidden": "False" + }, + { + "Start": "180749fb5f0b4de4adc04f336e0d97c1", + "End": "0abfb2e954984168bfc349927346ac42", + "Id": "971e58340c3d4a56bd13c75b6f6afb8a", + "IsHidden": "False" + }, + { + "Start": "180749fb5f0b4de4adc04f336e0d97c1", + "End": "f2ecda063d244fc080bcc216ad923919", + "Id": "31a4b327db124e5581e75d51dfbeaff8", + "IsHidden": "False" + }, + { + "Start": "180749fb5f0b4de4adc04f336e0d97c1", + "End": "b90e644fffd74543981323d215b2d448", + "Id": "5949951b9a8e4b9bb8665dd0c0b27425", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.18", + "Data": {} + }, + { + "ExtensionGuid": "DFBD9CC0-DB40-457A-939E-8C8555555A9D", + "Name": "Generative Design", + "Version": "1.2", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -16.838971138000488, + "EyeY": 24.245738983154297, + "EyeZ": -0.18390047550201416, + "LookX": -0.086979866027832031, + "LookY": -20.159282684326172, + "LookZ": -4.6980037689208984, + "UpX": -0.016707299277186394, + "UpY": 0.43051084876060486, + "UpZ": -0.90243071317672729 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "fb8cdb88d78847e986c3bff9e794fe06", + "Name": "Point.ByCoordinates", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 494.72507159868837, + "Y": 189.06415706919603 + }, + { + "Id": "a3c2b369dd0d4dce954fe35b687b81b6", + "Name": "Number range", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -7.87917056820271, + "Y": 189.06415706919603 + }, + { + "Id": "17c20e04f822455a87c48322a7690b12", + "Name": "Line.ByBestFitThroughPoints", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 2298.2250715986884, + "Y": 189.06415706919603 + }, + { + "Id": "fa7b3f76c7f9401cbb36e6f96cfcadd3", + "Name": "List.Count", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1158.220728175068, + "Y": 437.637995270744 + }, + { + "Id": "82bad57ee75e4197b9ac8907f51512a1", + "Name": "==", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1424.720728175068, + "Y": 437.637995270744 + }, + { + "Id": "1b5e480b82354e9bb928f9356698cfd1", + "Name": "Not", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1655.0801242405666, + "Y": 414.87759264774309 + }, + { + "Id": "b3479370a8ac458e94e465fe4cbdac60", + "Name": "List.FilterByBoolMask", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1963.7250715986884, + "Y": 189.06415706919603 + }, + { + "Id": "65105122d233421f9f63ddec2f0e4c44", + "Name": "Number", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 633.01587278563215, + "Y": 422.20772820842956 + }, + { + "Id": "91b8e4f2089c492ebfe592e1add32b82", + "Name": "Number", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1192.220728175068, + "Y": 617.15169319180359 + }, + { + "Id": "3ec43829b3be49aa8c9668753d75854f", + "Name": "List.DiagonalRight", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 820.03039782600922, + "Y": 189.06415706919603 + }, + { + "Id": "80ffb4e873684993a12303a32723c8ac", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1308.0771177026006, + "Y": -169.51396822386505 + }, + { + "Id": "e0d627b9dfc340d8a915a85a6311431c", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 633.41280051095714, + "Y": 638.07431172397355 + } + ], + "Annotations": [], + "X": 413.57262168162623, + "Y": 247.28708951260418, + "Zoom": 0.51205641096328613 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalRight.md b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalRight.md new file mode 100644 index 00000000000..05a4d50f136 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalRight.md @@ -0,0 +1,9 @@ +## In Depth +`List.DiagonalRight` returns a new list of lists of values along each diagonal in the list matrix from bottom right to top left. + +In the example below, we create a grid of points with lines running through them diagonally. `List.DiagonalRight` returns a list of the points diagonally from the bottom right of the grid to the top left. + +___ +## Example File + +![List.DiagonalRight](./DSCore.List.DiagonalRight_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalRight_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalRight_img.jpg new file mode 100644 index 00000000000..7443243eb91 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.DiagonalRight_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DropEveryNthItem.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.DropEveryNthItem.dyn new file mode 100644 index 00000000000..35b0425746f --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.DropEveryNthItem.dyn @@ -0,0 +1,492 @@ +{ + "Uuid": "8b9e38ac-21fc-4032-a003-79c826328751", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.DropEveryNthItem", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "99a4242e7a9d4272b83ff8e59811e40f", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "1", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + }, + { + "Id": "a647acdbb958490b8d4e6bb32a698f4e", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "25", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + }, + { + "Id": "94f872bac7f8469188203d9c7d7893d5", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "2", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + }, + { + "Id": "db173e952f6c4b12a288b23a162a8d00", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "2", + "MaximumValue": 10.0, + "MinimumValue": -10.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Range, CoreNodeModels", + "Id": "c98991096d55456c9d70e182a1fc953f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "1da5187f571d4192bdea789420891c8f", + "Name": "start", + "Description": "Number or letter to start the sequence at\r\nDefault value: 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "526a292c9cbb46998887262020df89c9", + "Name": "end", + "Description": "Number or letter to end the sequence at\r\nDefault value: 9", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "e6eb016abb914db8ab00b979fd8867d7", + "Name": "step", + "Description": "Space between numbers or letters\r\nDefault value: 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6150eaa2eefb41ae8f7e545ee1088c07", + "Name": "list", + "Description": "New list of type: var[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Longest", + "Description": "Creates a sequence of numbers or letters in the given range" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "0b3a8b4a851840868d0e49facdfd3f72", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "304ea407faae49fa96b0434d8f49c686", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f387f6981de240b08729d181052b0b56", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 100, + "MinimumValue": 0, + "StepValue": 1, + "Id": "99a4242e7a9d4272b83ff8e59811e40f", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "9373be5774e842c081ac938bba3e93c9", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 1 + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 100, + "MinimumValue": 0, + "StepValue": 1, + "Id": "a647acdbb958490b8d4e6bb32a698f4e", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ecabe8a7dc7a4e75950409dd2934a927", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 25 + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 100, + "MinimumValue": 0, + "StepValue": 1, + "Id": "94f872bac7f8469188203d9c7d7893d5", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "0d9d70a49aea4bb1876fec0c4c9204bf", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 2 + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "95cb9bcda1794743b3933f253e7ce3ee", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "73383c238c02430f93ed6e6d36a0c8d2", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9b37884971014115ae999d5498457422", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 10, + "MinimumValue": -10, + "StepValue": 1, + "Id": "db173e952f6c4b12a288b23a162a8d00", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "d14cb7b6539949e2a22e19eec2f66f9f", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 2 + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "f827b0ad17e6428f80e07fab9a4f67b7", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "5b76c0d610b34456ba21527833756de9", + "Name": "list", + "Description": "List to remove items from/\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "412b62c8cdc24dc78c4b709439a5ceb6", + "Name": "n", + "Description": "Indices that are multiples of this argument will be removed.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "905ede20e61d485db8e24b8336a6ecc4", + "Name": "offset", + "Description": "Amount of items to be ignored from the start of the list.\n\nint\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "e0b2605df3f344618b67c8bb9b282f3d", + "Name": "list", + "Description": "List with items removed.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.DropEveryNthItem@var[]..[],int,int", + "Replication": "Auto", + "Description": "Removes items from the given list at indices that are multiples of the given value, after the given offset.\n\nList.DropEveryNthItem (list: var[]..[], n: int, offset: int = 0): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "6150eaa2eefb41ae8f7e545ee1088c07", + "End": "304ea407faae49fa96b0434d8f49c686", + "Id": "1a52530533dc4cf28128adcb409fd09a", + "IsHidden": "False" + }, + { + "Start": "f387f6981de240b08729d181052b0b56", + "End": "5b76c0d610b34456ba21527833756de9", + "Id": "807b67593d54421abf8fe4194c5323fb", + "IsHidden": "False" + }, + { + "Start": "9373be5774e842c081ac938bba3e93c9", + "End": "1da5187f571d4192bdea789420891c8f", + "Id": "ef695268b73d49bab9a940f295c26e4c", + "IsHidden": "False" + }, + { + "Start": "ecabe8a7dc7a4e75950409dd2934a927", + "End": "526a292c9cbb46998887262020df89c9", + "Id": "43d464b8ebb644f48e045bb10d762ea0", + "IsHidden": "False" + }, + { + "Start": "0d9d70a49aea4bb1876fec0c4c9204bf", + "End": "e6eb016abb914db8ab00b979fd8867d7", + "Id": "bb41a876f54f4957ad40270d67960e38", + "IsHidden": "False" + }, + { + "Start": "d14cb7b6539949e2a22e19eec2f66f9f", + "End": "412b62c8cdc24dc78c4b709439a5ceb6", + "Id": "ff2cb6084872476f974e636e36678b40", + "IsHidden": "False" + }, + { + "Start": "e0b2605df3f344618b67c8bb9b282f3d", + "End": "73383c238c02430f93ed6e6d36a0c8d2", + "Id": "21cd66dce0a84e279ab32a13d2c3522f", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "c98991096d55456c9d70e182a1fc953f", + "Name": "Range", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -106.92930136059499, + "Y": -50.6419806050325 + }, + { + "Id": "0b3a8b4a851840868d0e49facdfd3f72", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 171.070698639405, + "Y": -50.6419806050325 + }, + { + "Id": "99a4242e7a9d4272b83ff8e59811e40f", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -554.929301360595, + "Y": -163.6419806050325 + }, + { + "Id": "a647acdbb958490b8d4e6bb32a698f4e", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -554.929301360595, + "Y": -16.6419806050325 + }, + { + "Id": "94f872bac7f8469188203d9c7d7893d5", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -554.929301360595, + "Y": 130.3580193949675 + }, + { + "Id": "95cb9bcda1794743b3933f253e7ce3ee", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 963.070698639405, + "Y": 89.3580193949675 + }, + { + "Id": "db173e952f6c4b12a288b23a162a8d00", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 171.070698639405, + "Y": 263.35801939496753 + }, + { + "Id": "f827b0ad17e6428f80e07fab9a4f67b7", + "Name": "List.DropEveryNthItem", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 619.070698639405, + "Y": 89.3580193949675 + } + ], + "Annotations": [], + "X": 427.5705189692062, + "Y": 258.86857217719876, + "Zoom": 0.71643454038997212 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DropEveryNthItem.md b/doc/distrib/NodeHelpFiles/DSCore.List.DropEveryNthItem.md new file mode 100644 index 00000000000..490c93f2235 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.DropEveryNthItem.md @@ -0,0 +1,8 @@ +## In Depth +`List.DropEveryNthItem` removes items from the input list at intervals of the input n value. The starting point of the interval can be changed with the `offset` input. For example, inputting 3 into n and leaving the offset as the default of 0 will remove items with indices 2, 5, 8, etc. With an offset of 1, items with indices 0, 3, 6, etc. are removed. Note that the offset “wraps” through the entire list. To keep selected items instead of removing them, see `List.TakeEveryNthItem`. + +In the example below, we first generate a list of numbers using `Range`, and then remove every other number by using 2 as the input for `n`. +___ +## Example File + +![List.DropEveryNthItem](./DSCore.List.DropEveryNthItem_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DropEveryNthItem_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.DropEveryNthItem_img.jpg new file mode 100644 index 00000000000..16dd3cd68bd Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.DropEveryNthItem_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DropItems.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.DropItems.dyn new file mode 100644 index 00000000000..a910c685d02 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.DropItems.dyn @@ -0,0 +1,483 @@ +{ + "Uuid": "2c933687-da66-4c33-85a5-e4b507895f76", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.DropItems", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "225884b08bd3478780cce9576b28aa18", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "1", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + }, + { + "Id": "147437f4ef50415dbf8160c514a5e5a6", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "25", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + }, + { + "Id": "74da6e96af88470da1b069a41ad2e861", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "2", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + }, + { + "Id": "7c845b7086a14bf083290265525a8f54", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "1", + "MaximumValue": 10.0, + "MinimumValue": -10.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Range, CoreNodeModels", + "Id": "af7507b9867744e48127db16e1e32801", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "f6fcd098184240b8a6f2d60c0a11fd75", + "Name": "start", + "Description": "Number or letter to start the sequence at\r\nDefault value: 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "c50b93108a5b402aa7ff8d543b90185f", + "Name": "end", + "Description": "Number or letter to end the sequence at\r\nDefault value: 9", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "91ad5b3dcdf94ff38fe60c36797e3f0a", + "Name": "step", + "Description": "Space between numbers or letters\r\nDefault value: 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ac0c44774dab46e3bc0401407a29094a", + "Name": "list", + "Description": "New list of type: var[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Longest", + "Description": "Creates a sequence of numbers or letters in the given range" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "e3321c22c4c14bec85da6b11763f9016", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "29cb8a3d9b374b9a920f7f6054965f7f", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c186a28a46b14d3aa1eaa3bc449f6081", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 100, + "MinimumValue": 0, + "StepValue": 1, + "Id": "225884b08bd3478780cce9576b28aa18", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "5aa37cbbca1e4a668a47df4aeaa0353d", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 1 + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 100, + "MinimumValue": 0, + "StepValue": 1, + "Id": "147437f4ef50415dbf8160c514a5e5a6", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "19340b5df3f740c38ac6089b092feca4", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 25 + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 100, + "MinimumValue": 0, + "StepValue": 1, + "Id": "74da6e96af88470da1b069a41ad2e861", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "04a11f0c8c2743f9839af956861378ee", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 2 + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "b72eb3620c9b4ae48ad3c87ff5bbdae1", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "9a8ad4436b9b4658a6a7604bc702bcf3", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "bd3c9553d19f48f4a16a9747692743bc", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "1566864a07bd4401b4ce36903da3f91e", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "ba74188c40f54663a1ff0b40ea3698a6", + "Name": "list", + "Description": "List to remove items from.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "0a5b8e4440fe48a3802e60fb69059061", + "Name": "amount", + "Description": "Amount of items to remove. If negative, items are removed from the end of the list.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "4fc7613a4fe147e88354e52280557f46", + "Name": "list", + "Description": "List of remaining items.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.DropItems@var[]..[],int", + "Replication": "Auto", + "Description": "Removes an amount of items from the start of the list. If the amount is a negative value, items are removed from the end of the list.\n\nList.DropItems (list: var[]..[], amount: int): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 10, + "MinimumValue": -10, + "StepValue": 1, + "Id": "7c845b7086a14bf083290265525a8f54", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "b8b1fd1cd800498092afbbcadba1df43", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 1 + } + ], + "Connectors": [ + { + "Start": "ac0c44774dab46e3bc0401407a29094a", + "End": "29cb8a3d9b374b9a920f7f6054965f7f", + "Id": "8606f5c868594c3e996185cfcf9c6947", + "IsHidden": "False" + }, + { + "Start": "c186a28a46b14d3aa1eaa3bc449f6081", + "End": "ba74188c40f54663a1ff0b40ea3698a6", + "Id": "237232f0fc754f798152ac39c640e79a", + "IsHidden": "False" + }, + { + "Start": "5aa37cbbca1e4a668a47df4aeaa0353d", + "End": "f6fcd098184240b8a6f2d60c0a11fd75", + "Id": "b1680685fe1343bfb67b92e8e3903ca1", + "IsHidden": "False" + }, + { + "Start": "19340b5df3f740c38ac6089b092feca4", + "End": "c50b93108a5b402aa7ff8d543b90185f", + "Id": "e678d5ddc5db48b3a283699f48be871d", + "IsHidden": "False" + }, + { + "Start": "04a11f0c8c2743f9839af956861378ee", + "End": "91ad5b3dcdf94ff38fe60c36797e3f0a", + "Id": "b54199e00c3849be98e36a878c70c38e", + "IsHidden": "False" + }, + { + "Start": "4fc7613a4fe147e88354e52280557f46", + "End": "9a8ad4436b9b4658a6a7604bc702bcf3", + "Id": "75659b125cef4675b125ae63960ee31f", + "IsHidden": "False" + }, + { + "Start": "b8b1fd1cd800498092afbbcadba1df43", + "End": "0a5b8e4440fe48a3802e60fb69059061", + "Id": "2b81be92a0454225a36c8118a026871e", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "af7507b9867744e48127db16e1e32801", + "Name": "Range", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -88.472561334083025, + "Y": -49.778657751677031 + }, + { + "Id": "e3321c22c4c14bec85da6b11763f9016", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 189.52743866591697, + "Y": -49.778657751677031 + }, + { + "Id": "225884b08bd3478780cce9576b28aa18", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -536.472561334083, + "Y": -162.77865775167703 + }, + { + "Id": "147437f4ef50415dbf8160c514a5e5a6", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -536.472561334083, + "Y": -15.778657751677031 + }, + { + "Id": "74da6e96af88470da1b069a41ad2e861", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -536.472561334083, + "Y": 131.22134224832297 + }, + { + "Id": "b72eb3620c9b4ae48ad3c87ff5bbdae1", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 932.527438665917, + "Y": 90.221342248322969 + }, + { + "Id": "1566864a07bd4401b4ce36903da3f91e", + "Name": "List.DropItems", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 637.527438665917, + "Y": 90.221342248322969 + }, + { + "Id": "7c845b7086a14bf083290265525a8f54", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 189.52743866591697, + "Y": 264.22134224832297 + } + ], + "Annotations": [], + "X": 425.13385674434755, + "Y": 256.05404001641273, + "Zoom": 0.736540664375716 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DropItems.md b/doc/distrib/NodeHelpFiles/DSCore.List.DropItems.md new file mode 100644 index 00000000000..999655c5792 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.DropItems.md @@ -0,0 +1,8 @@ +## In Depth +`List.DropItems` removes the number of items from a list specified by the `amount` input. If the `amount` input is positive, the items are removed from the beginning of the list. If the `amount` input is negative, the items are removed from the end of the list. + +In the example below, we first create a list using `Range`, then remove the first item from the list by using `List.DropItems` with an `amount` input of 1. Since the `amount` input is positive, the item is removed from the beginning of the list. +___ +## Example File + +![List.DropItems](./DSCore.List.DropItems_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.DropItems_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.DropItems_img.jpg new file mode 100644 index 00000000000..304d356a0fc Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.DropItems_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.FilterByBoolMask.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.FilterByBoolMask.dyn new file mode 100644 index 00000000000..2b728ff2a2d --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.FilterByBoolMask.dyn @@ -0,0 +1,408 @@ +{ + "Uuid": "dcdf0386-21e4-4617-917f-e83ad1d2f488", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.FilterByBoolMask", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "aec63b0f375947a09dd6429ed17b5ec2", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "88f1675747ff4fb99703698e50b5d0a0", + "Name": "", + "Description": "data", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "data = [\n\t\t\"Marble\",\n\t\t\"Quartz\",\n\t\t\"Wood\",\n\t\t\"Porcelain\",\n\t\t\"Stone\",\n\t\t\"Quartz\",\n\t\t\"Stone\",\n\t\t\"Wood\",\n\t\t\"Laminate\"\n];" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "8091259948c34cf1bf269346ed6ee1e1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "1816fcae96b542e297dc9217692b955c", + "Name": "list", + "Description": "List to filter.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "3bc9d44600104c9c8404964bc82eefbf", + "Name": "mask", + "Description": "List of booleans representing a mask.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c70350643e81410c9dd2feef47701e71", + "Name": "in", + "Description": "Items whose mask index is true.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "b02aac1888f74b7591a55ce4ef6e812d", + "Name": "out", + "Description": "Items whose mask index is false.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.FilterByBoolMask@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Filters a sequence by looking up corresponding indices in a separate list of booleans.\n\nList.FilterByBoolMask (list: var[]..[], mask: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "f1d57e2a827e4d2192503d1d0f464e9a", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "16b47a07233140dcaf67d8c1c98eb346", + "Name": "x", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "e89c93f20472462f871d640b2f8ffff4", + "Name": "y", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0727ccd2cef7406a9da2b1d9e779a1c2", + "Name": "bool", + "Description": "Result of equality check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "==@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x and y are equal\n\n== (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "e495afcb63d54e31b01a9dbdf46aad1e", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "5c6a9a9cf9624a59b6d98b99065ba33c", + "Name": "x", + "Description": "var[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "fbff2724fa3e48b2ab43b6431036a4e0", + "Name": "y", + "Description": "var[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1f04b1553c4e44e0af7d1a6ae4e77995", + "Name": "bool", + "Description": "True if any of the inputs are true", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "||@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Logical OR operator\n\n|| (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "7418204ba35642f2bb165f4f0e27affd", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "f348fc80f34e45879d3d2925942d7732", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "4253d4e7534a43dd961a344c18095f7f", + "Name": "", + "Description": "Value of expression at line 2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "\"Wood\";\n\"Laminate\";" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "89221736106440f99579b5ec8adf8187", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "d0837e8155544a68855c86b2530fde82", + "Name": "x", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "e7cef74d03d1404db485d741408d644f", + "Name": "y", + "Description": "Basic type object to compare (e.g. bool, int, double, string, etc.)\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b3a18f7a0c064ef08df1b5b1bc85f85e", + "Name": "bool", + "Description": "Result of equality check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "==@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x and y are equal\n\n== (x: var[]..[], y: var[]..[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "88f1675747ff4fb99703698e50b5d0a0", + "End": "16b47a07233140dcaf67d8c1c98eb346", + "Id": "d5c0c69c6f994be8ac1ac8ff8c3b2acf", + "IsHidden": "False" + }, + { + "Start": "88f1675747ff4fb99703698e50b5d0a0", + "End": "d0837e8155544a68855c86b2530fde82", + "Id": "3dc52a2ec3d0468fab7b404e5cdf7f26", + "IsHidden": "False" + }, + { + "Start": "88f1675747ff4fb99703698e50b5d0a0", + "End": "1816fcae96b542e297dc9217692b955c", + "Id": "b372fa3ffce146fcb98402d64fe687ce", + "IsHidden": "False" + }, + { + "Start": "0727ccd2cef7406a9da2b1d9e779a1c2", + "End": "5c6a9a9cf9624a59b6d98b99065ba33c", + "Id": "b743097a6a77488dbce0f15e8c8aa2d2", + "IsHidden": "False" + }, + { + "Start": "1f04b1553c4e44e0af7d1a6ae4e77995", + "End": "3bc9d44600104c9c8404964bc82eefbf", + "Id": "66014326829e4160b4ca03ed284b21c2", + "IsHidden": "False" + }, + { + "Start": "f348fc80f34e45879d3d2925942d7732", + "End": "e89c93f20472462f871d640b2f8ffff4", + "Id": "514ef4c77e66488a9a9137326511fb3c", + "IsHidden": "False" + }, + { + "Start": "4253d4e7534a43dd961a344c18095f7f", + "End": "e7cef74d03d1404db485d741408d644f", + "Id": "4f53d28023e249e0af7cbac0c16f3bc1", + "IsHidden": "False" + }, + { + "Start": "b3a18f7a0c064ef08df1b5b1bc85f85e", + "End": "fbff2724fa3e48b2ab43b6431036a4e0", + "Id": "023dabe35a274495addc2e8b8c700777", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "aec63b0f375947a09dd6429ed17b5ec2", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 507.55614987303761, + "Y": 186.84511789697768 + }, + { + "Id": "8091259948c34cf1bf269346ed6ee1e1", + "Name": "List.FilterByBoolMask", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1377.0561498730376, + "Y": 186.84511789697768 + }, + { + "Id": "f1d57e2a827e4d2192503d1d0f464e9a", + "Name": "==", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 848.05614987303761, + "Y": 259.01761789697775 + }, + { + "Id": "e495afcb63d54e31b01a9dbdf46aad1e", + "Name": "||", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1112.5561498730376, + "Y": 331.01761789697775 + }, + { + "Id": "7418204ba35642f2bb165f4f0e27affd", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 507.55614987303761, + "Y": 491.8451178969778 + }, + { + "Id": "89221736106440f99579b5ec8adf8187", + "Name": "==", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 848.05614987303761, + "Y": 437.01761789697775 + } + ], + "Annotations": [ + { + "Id": "957e0933fc4c45f98267ec8cfa3636fc", + "Title": "\"Or\" operator that checks if any condition coming in is True. ", + "DescriptionText": null, + "IsExpanded": true, + "WidthAdjustment": 0.0, + "HeightAdjustment": 0.0, + "Nodes": [], + "HasNestedGroups": false, + "Left": 1044.5561498730376, + "Top": 266.01761789697775, + "Width": 0.0, + "Height": 0.0, + "FontSize": 36.0, + "GroupStyleId": "00000000-0000-0000-0000-000000000000", + "InitialTop": 0.0, + "InitialHeight": 0.0, + "TextblockHeight": 0.0, + "Background": "#FFC1D676", + "PinnedNode": "e495afcb63d54e31b01a9dbdf46aad1e" + } + ], + "X": -488.33744172839954, + "Y": 118.78083570676938, + "Zoom": 0.99506560212327688 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.FilterByBoolMask.md b/doc/distrib/NodeHelpFiles/DSCore.List.FilterByBoolMask.md new file mode 100644 index 00000000000..cedac20de3e --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.FilterByBoolMask.md @@ -0,0 +1,8 @@ +## In Depth +`List.FilterByBoolMask ` takes two lists as inputs. The first list is split into two separate lists according to a corresponding list of Boolean (True or False) values. Items from the `list` input that correspond to True in the `mask` input are directed to the output labeled In, while those items that correspond to a False value are directed to the output labeled `out`. + +In the example below, `List.FilterByBoolMask ` is used to pick out wood and laminate from a list of materials. We first compare two lists to find matching items, then use an `Or` operator to check for True list items. Then, list items are filtered depending on whether they are wood or laminate, or something else. +___ +## Example File + +![List.FilterByBoolMask](./DSCore.List.FilterByBoolMask_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.FilterByBoolMask_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.FilterByBoolMask_img.jpg new file mode 100644 index 00000000000..96e12b21ae6 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.FilterByBoolMask_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.FirstIndexOf.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.FirstIndexOf.dyn new file mode 100644 index 00000000000..ac8039950d7 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.FirstIndexOf.dyn @@ -0,0 +1,417 @@ +{ + "Uuid": "24be9d81-2bf2-4ed3-85e9-e6c7acfe6980", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.FirstIndexOf", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "4e0f5578c32b4855ae45d10ce4aabadd", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "572df61aa3634bb78a0521457ebd12de", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b39db9f4c9b74f12a53de30a805120ba", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 28.0, + "WatchHeight": 38.0, + "Id": "4696b44ec21942ca9862418000019489", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "9a7827bff90a45bfb60130644e480358", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c577d780cbdd4fd2a78039beb5642cae", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "af866cd702ab42f4804eb4f284bac803", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "355641c429824358871a5ddd225975d0", + "Name": "amount", + "Description": "Amount of random numbers the result list will contain.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6f2f1b58999e4ddda27ba3f217c8d2ce", + "Name": "number", + "Description": "List of random numbers between 0 and 1.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.RandomList@int", + "Replication": "Auto", + "Description": "Produces a list containing the given amount of random doubles in the range of [0, 1).\n\nMath.RandomList (amount: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "4581036bbe21441298b948661d8f2501", + "NodeType": "CodeBlockNode", + "Inputs": [ + { + "Id": "20fdec04c10d4b9bb5ff65319582dac3", + "Name": "x", + "Description": "x", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1fb34f84791e4a8198305536dd25fd90", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "x*5;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "23e3af85330640bd82a5724586bf1f55", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "9ef37377d5824147803dae07cb38ee14", + "Name": "number", + "Description": "Number to round down\n\ndouble", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "533439ab86f74a9f98e48171f1396e80", + "Name": "int", + "Description": "First integer smaller than the number", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.Floor@double", + "Replication": "Auto", + "Description": "Returns the first integer smaller than the number.\n\nMath.Floor (number: double): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "c08c19d947e54d4c80ea3763194db378", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "2abe2fe593fa4728997cb9ee3d3223d4", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "10;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "ce4c8296560c40e183266e18f3737469", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "a90bf0858b1447e49544532406a9f55f", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "1;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "25e4de152ead43cba1ac89fb14a76ed4", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "65b5473e580445f28ea81712eb2efb85", + "Name": "list", + "Description": "List to search in. If this argument is null, -1 is returned.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "4d9e29e1ea774d98ba7aafe794c63e3d", + "Name": "item", + "Description": "Item to look for.\n\nvar", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d4224090888247a8b71e69c1966c2d86", + "Name": "int", + "Description": "Zero-based index of the item in the list, or -1 if it is not found.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.FirstIndexOf@var[]..[],var", + "Replication": "Auto", + "Description": "Given an item, returns the zero-based index of its first occurrence in the list. If the item cannot be found in the list, -1 is returned.\n\nList.FirstIndexOf (list: var[]..[], item: var): int" + } + ], + "Connectors": [ + { + "Start": "b39db9f4c9b74f12a53de30a805120ba", + "End": "65b5473e580445f28ea81712eb2efb85", + "Id": "ce80640d037b488ea8953118608f6245", + "IsHidden": "False" + }, + { + "Start": "6f2f1b58999e4ddda27ba3f217c8d2ce", + "End": "20fdec04c10d4b9bb5ff65319582dac3", + "Id": "f399a9ce5a564c86ab63da313c3e3490", + "IsHidden": "False" + }, + { + "Start": "1fb34f84791e4a8198305536dd25fd90", + "End": "9ef37377d5824147803dae07cb38ee14", + "Id": "28200faa4f1647f79de1b1e9ddebac0e", + "IsHidden": "False" + }, + { + "Start": "533439ab86f74a9f98e48171f1396e80", + "End": "572df61aa3634bb78a0521457ebd12de", + "Id": "d79274026e3848e794ba1c957b62a3a1", + "IsHidden": "False" + }, + { + "Start": "2abe2fe593fa4728997cb9ee3d3223d4", + "End": "355641c429824358871a5ddd225975d0", + "Id": "d29cd2fd67b444efa59938c6d0526781", + "IsHidden": "False" + }, + { + "Start": "a90bf0858b1447e49544532406a9f55f", + "End": "4d9e29e1ea774d98ba7aafe794c63e3d", + "Id": "afe2d4479bc342088396fb5c0ce150cb", + "IsHidden": "False" + }, + { + "Start": "d4224090888247a8b71e69c1966c2d86", + "End": "9a7827bff90a45bfb60130644e480358", + "Id": "7c765be53e67447caa0bf5c586ee7e21", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "4e0f5578c32b4855ae45d10ce4aabadd", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 342.576824218899, + "Y": -54.206758706685662 + }, + { + "Id": "4696b44ec21942ca9862418000019489", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1016.576824218899, + "Y": 85.793241293314338 + }, + { + "Id": "af866cd702ab42f4804eb4f284bac803", + "Name": "Math.RandomList", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -525.423175781101, + "Y": -54.3792587066856 + }, + { + "Id": "4581036bbe21441298b948661d8f2501", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -206.02620251693682, + "Y": -57.585312178357555 + }, + { + "Id": "23e3af85330640bd82a5724586bf1f55", + "Name": "Math.Floor", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 49.576824218899, + "Y": -54.2067587066857 + }, + { + "Id": "c08c19d947e54d4c80ea3763194db378", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -779.423175781101, + "Y": -54.5517587066857 + }, + { + "Id": "ce4c8296560c40e183266e18f3737469", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 342.576824218899, + "Y": 259.62074129331438 + }, + { + "Id": "25e4de152ead43cba1ac89fb14a76ed4", + "Name": "List.FirstIndexOf", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 719.576824218899, + "Y": 86.816551688763639 + } + ], + "Annotations": [], + "X": 566.374167353023, + "Y": 220.81699729827696, + "Zoom": 0.57965394315479013 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.FirstIndexOf.md b/doc/distrib/NodeHelpFiles/DSCore.List.FirstIndexOf.md new file mode 100644 index 00000000000..cf1b25f0b71 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.FirstIndexOf.md @@ -0,0 +1,8 @@ +## In Depth +`List.FirstIndexOf` searches through a given list for an item specified in the Item input and returns the index of the first instance of that item on the list. The node returns -1 if the item is not found on the list. + +In the example below, we first generate a list of 10 random numbers between 0 and 4. By using a `List.FirstIndexOf node`, we search for a specific item and retrieve the index of the first time that item is found in the list. +___ +## Example File + +![List.FirstIndexOf](./DSCore.List.FirstIndexOf_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.FirstIndexOf_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.FirstIndexOf_img.jpg new file mode 100644 index 00000000000..aba0cda541f Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.FirstIndexOf_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.FirstItem.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.FirstItem.dyn new file mode 100644 index 00000000000..f30cde162ef --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.FirstItem.dyn @@ -0,0 +1,508 @@ +{ + "Uuid": "786e15b4-aa45-4d65-9281-d64893301586", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.FirstItem", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 267.0, + "WatchHeight": 422.0, + "Id": "227cff52baad4af4845b73383f405a22", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "239507879a6d4da393e779578af3fde9", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8f5ea9c7d16c4ead84aec0267e78dd29", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "c6672f6a7f8f4290a1455f99d561613d", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "632d11fa3fce4496a80a48318e66e67d", + "Name": "list", + "Description": "List to get the first item from.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 3, + "UseLevels": true, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "7574d1ed570a4a418e5f9e2f6c22e4a6", + "Name": "item", + "Description": "First item in the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.FirstItem@var[]..[]", + "Replication": "Auto", + "Description": "Returns the first item in a list.\n\nList.FirstItem (list: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 253.0, + "WatchHeight": 304.0, + "Id": "2868ccdbf3354cc4a066411058451a3d", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "0c721d92907e47c5818ff62880117548", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "2342b1f4fa874b8b863d4223eccc763a", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "f93e51f71ecc4f4fa62ffc90dfb107d4", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "42b17fee70f24026898a778053374479", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "1..10..1;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "cb7f01a88c8c4144a4ff5c1ad2f62476", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "519efe30fa2746a1951d0c0cf28ece94", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "1..10..1;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "303c68b026174618b661ef3098b07370", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "b933985375274b66bc8fec4ff9d7adac", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "1..10..1;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "6a7b95e505d9407eb08d949b7db7b6f7", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "b76ffdfcaba64cf48dd8bf2c0c5ee554", + "Name": "list", + "Description": "List to shuffle.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "a8ae978cf3fb4c88a6a1f0912d317c69", + "Name": "list", + "Description": "Randomized list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Shuffle@var[]..[]", + "Replication": "Auto", + "Description": "Shuffles a list, randomizing the order of its items.\n\nList.Shuffle (list: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "0adfd07b033c4f33948e66e7cfb550d6", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "5798532b5a3c4cacb436d404a800d5d7", + "Name": "list", + "Description": "List to shuffle.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "24520a4af6db459dac155c83f09e3860", + "Name": "list", + "Description": "Randomized list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Shuffle@var[]..[]", + "Replication": "Auto", + "Description": "Shuffles a list, randomizing the order of its items.\n\nList.Shuffle (list: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "e7808532425b4099b4ff3be01eb7defb", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "b4b2d99f802f467990330155e65c9743", + "Name": "list", + "Description": "List to shuffle.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "872925afc46e443fab891bb8d5a54923", + "Name": "list", + "Description": "Randomized list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Shuffle@var[]..[]", + "Replication": "Auto", + "Description": "Shuffles a list, randomizing the order of its items.\n\nList.Shuffle (list: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "3e32a3f4ecab45358e9b74ab76fb3767", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "b7c71e7a9a9249ec8202d8f87a0dd044", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "6d6cc385a67b4464b06c7b29953d8ada", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "1aa16becee784577ab2b4a9a60b824cd", + "Name": "item2", + "Description": "Item Index #2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f29a5567385c423595b5f870cfdf1cd3", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + } + ], + "Connectors": [ + { + "Start": "8f5ea9c7d16c4ead84aec0267e78dd29", + "End": "632d11fa3fce4496a80a48318e66e67d", + "Id": "27278b75f63f417cb76f82e0103271eb", + "IsHidden": "False" + }, + { + "Start": "7574d1ed570a4a418e5f9e2f6c22e4a6", + "End": "0c721d92907e47c5818ff62880117548", + "Id": "816fccca00d04f4ebdf6dd48e3c4344e", + "IsHidden": "False" + }, + { + "Start": "42b17fee70f24026898a778053374479", + "End": "b76ffdfcaba64cf48dd8bf2c0c5ee554", + "Id": "72e2ffee92644792b8ee0eb455f5c40d", + "IsHidden": "False" + }, + { + "Start": "519efe30fa2746a1951d0c0cf28ece94", + "End": "5798532b5a3c4cacb436d404a800d5d7", + "Id": "acaa7622b75642858abfa6c03c0b00a3", + "IsHidden": "False" + }, + { + "Start": "b933985375274b66bc8fec4ff9d7adac", + "End": "b4b2d99f802f467990330155e65c9743", + "Id": "329cee46242a4a6bbc8bb5ff2763177e", + "IsHidden": "False" + }, + { + "Start": "a8ae978cf3fb4c88a6a1f0912d317c69", + "End": "b7c71e7a9a9249ec8202d8f87a0dd044", + "Id": "6f0bad7479e84441a37f0c3c65bb49a6", + "IsHidden": "False" + }, + { + "Start": "24520a4af6db459dac155c83f09e3860", + "End": "6d6cc385a67b4464b06c7b29953d8ada", + "Id": "4d96fddedb074b98b98a896ed4dffae2", + "IsHidden": "False" + }, + { + "Start": "872925afc46e443fab891bb8d5a54923", + "End": "1aa16becee784577ab2b4a9a60b824cd", + "Id": "dfcd971c44084add9d004364cdf0a347", + "IsHidden": "False" + }, + { + "Start": "f29a5567385c423595b5f870cfdf1cd3", + "End": "239507879a6d4da393e779578af3fde9", + "Id": "7973e4f96d4a4f87a8336c4de49d177d", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "227cff52baad4af4845b73383f405a22", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 34.058484517978059, + "Y": 438.16434209431969 + }, + { + "Id": "c6672f6a7f8f4290a1455f99d561613d", + "Name": "List.FirstItem", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 482.306827709159, + "Y": 440.166683200042 + }, + { + "Id": "2868ccdbf3354cc4a066411058451a3d", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 729.85228199355936, + "Y": 453.32810213414569 + }, + { + "Id": "f93e51f71ecc4f4fa62ffc90dfb107d4", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -707.13437188787884, + "Y": 391.74131492675593 + }, + { + "Id": "cb7f01a88c8c4144a4ff5c1ad2f62476", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -717.69760228629411, + "Y": 588.86491718220111 + }, + { + "Id": "303c68b026174618b661ef3098b07370", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -718.38675544246837, + "Y": 758.43366241281308 + }, + { + "Id": "6a7b95e505d9407eb08d949b7db7b6f7", + "Name": "List.Shuffle", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -482.827017241917, + "Y": 392.58229307599674 + }, + { + "Id": "0adfd07b033c4f33948e66e7cfb550d6", + "Name": "List.Shuffle", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -490.42717459898233, + "Y": 590.193571128172 + }, + { + "Id": "e7808532425b4099b4ff3be01eb7defb", + "Name": "List.Shuffle", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -478.28346477454681, + "Y": 762.25073663863236 + }, + { + "Id": "3e32a3f4ecab45358e9b74ab76fb3767", + "Name": "List Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -232.70682892279706, + "Y": 430.72335426049005 + } + ], + "Annotations": [], + "X": 820.874348651962, + "Y": -154.656315170595, + "Zoom": 0.88999203099859392 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.FirstItem.md b/doc/distrib/NodeHelpFiles/DSCore.List.FirstItem.md new file mode 100644 index 00000000000..2d7876ba61f --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.FirstItem.md @@ -0,0 +1,10 @@ +## In Depth +`List.FirstItem` returns the first item of an input list. + +In the example below, we generate a list with three sublists of 10 random numbers between 1 and 10. We then use a FirstItem node to return the first item of the list. + +Use the list level picker in the `List.FirstItem` node to experiment with different ways to return the first item from a nested list. Setting it to L1 returns all items from all sublists as a single, flat list. Setting it to L2 returns the first item of each sublist. Setting it to L3 returns all items on the 0 list. +___ +## Example File + +![List.FirstItem](./DSCore.List.FirstItem_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.FirstItem_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.FirstItem_img.jpg new file mode 100644 index 00000000000..d024b48da11 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.FirstItem_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Flatten.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Flatten.dyn new file mode 100644 index 00000000000..638d8c651e3 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Flatten.dyn @@ -0,0 +1,754 @@ +{ + "Uuid": "9a1f134f-1457-4049-be02-6d016a9d9d23", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Flatten", + "ElementResolver": { + "ResolutionMap": { + "Point": { + "Key": "Autodesk.DesignScript.Geometry.Point", + "Value": "ProtoGeometry.dll" + } + } + }, + "Inputs": [ + { + "Id": "a1a367474f1f406f89a1d7ba04034e61", + "Name": "Index", + "Type": "number", + "Type2": "number", + "Value": "39", + "MaximumValue": 120.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + }, + { + "Id": "b185ac82b85843ff83aaef3680b19d25", + "Name": "Index", + "Type": "number", + "Type2": "number", + "Value": "3", + "MaximumValue": 10.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "f7d9b0dc6713426cbc0ac181164ace2a", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "544a34430b6e41b6a12617e48d10a8e2", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..19..#11;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "5094f8eef28c42eb890e35601ea7c770", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "c0d169bcbc4443c391bff00d56e0d623", + "Name": "x", + "Description": "X coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "9a2a720a639a400bb5781ebe99131626", + "Name": "y", + "Description": "Y coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "faeedf2363f8408181e9aed77544abcd", + "Name": "z", + "Description": "Z coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "11d8393946e34e7c9d6136c7ff7c0d45", + "Name": "Point", + "Description": "Point created by coordinates", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Point.ByCoordinates@double,double,double", + "Replication": "CrossProduct", + "Description": "Form a Point given 3 cartesian coordinates\n\nPoint.ByCoordinates (x: double = 0, y: double = 0, z: double = 0): Point" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "437a7f7694df46e6bfcaa2679c19f90b", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "49072007c2f9469ba9bd9473bf65b2dc", + "Name": "list", + "Description": "List to flatten.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "956ceb058cd74fddb045227e67df1bf4", + "Name": "amount", + "Description": "Layers of list nesting to remove (-1 will remove all list nestings)\n\nint\nDefault value : -1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "590a5273b53b4c59bd84fc29f2843c80", + "Name": "list", + "Description": "Flattened list by amount", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Flatten@var[]..[],int", + "Replication": "Auto", + "Description": "Flattens a nested list of lists by a certain amount.\n\nList.Flatten (list: var[]..[], amount: int = -1): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "8cbf6b7e36e8433bb337a1fdeb719eb6", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "42f48d1ac7e841eba65c9ccca5cf3a7e", + "Name": "list", + "Description": "List to fetch an item from.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "3f7cbdb1d0ba4a738d53a39ddac9bdb3", + "Name": "index", + "Description": "Index of the item to be fetched.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c5227ba624a34ce590c9524e62d9a610", + "Name": "item", + "Description": "Item in the list at the given index.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.GetItemAtIndex@var[]..[],int", + "Replication": "Auto", + "Description": "Returns an item from the given list that's located at the specified index.\n\nList.GetItemAtIndex (list: var[]..[], index: int): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 120, + "MinimumValue": 0, + "StepValue": 1, + "Id": "a1a367474f1f406f89a1d7ba04034e61", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "5fcb22ae54c24813943c7ce151b90d33", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 39 + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 312.0, + "WatchHeight": 38.0, + "Id": "24328d05a5ad40f99d4428798855f201", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "46c6e2670b8f41e39b233622647175e9", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "4751f56895a84a83b7eed637034fc1f1", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "6ebd154971c84a1fa8799049b506ddd9", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ca812543aa2f42b3b42ad82b5640af3a", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "1668bde46a534e71a9e4ddd3e4463ea6", + "Name": "", + "Description": "Value of expression at line 2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "25..44..#11;\n0..19..#11;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "d2d0791faf2149e9af05abd17ed53ab3", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "90bebb737e204626bb069a8c9d1e0998", + "Name": "x", + "Description": "X coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "1e207436c65f4435b4156d7fff3cd501", + "Name": "y", + "Description": "Y coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "2ebdb283b83a48fb82c56a6f9a311143", + "Name": "z", + "Description": "Z coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "5754bd7cce964cc59466939804490082", + "Name": "Point", + "Description": "Point created by coordinates", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Point.ByCoordinates@double,double,double", + "Replication": "CrossProduct", + "Description": "Form a Point given 3 cartesian coordinates\n\nPoint.ByCoordinates (x: double = 0, y: double = 0, z: double = 0): Point" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "ad50bd1157764374963af580087ade0d", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "49da287be0ff42b09a2b435fa053547e", + "Name": "list", + "Description": "List to fetch an item from.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "2e9e984e1f0045dd890c0ce7abfbc749", + "Name": "index", + "Description": "Index of the item to be fetched.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "e592761907c942de8122bf681b8caf39", + "Name": "item", + "Description": "Item in the list at the given index.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.GetItemAtIndex@var[]..[],int", + "Replication": "Auto", + "Description": "Returns an item from the given list that's located at the specified index.\n\nList.GetItemAtIndex (list: var[]..[], index: int): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 10, + "MinimumValue": 0, + "StepValue": 1, + "Id": "b185ac82b85843ff83aaef3680b19d25", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "8ca4ad4ff08e400ebe0843b44f7f66a3", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 3 + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "b0a16b5b785a49d1be76ae7a29f59286", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "401c072db3574c93b5332ad78d687cee", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "a737c5073daa441b9640c35535357db7", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "024ecbc8116344fa92c28fc6439aab03", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "1574359ee58a4594b7f7424cc5f25565", + "Name": "centerPoint", + "Description": "Point\nDefault value : Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "7169b52d9b2247a2966e15ca348303f6", + "Name": "radius", + "Description": "double\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1c8d333a0ed6452888df94fe2e06e6de", + "Name": "Sphere", + "Description": "Sphere", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Sphere.ByCenterPointRadius@Autodesk.DesignScript.Geometry.Point,double", + "Replication": "Auto", + "Description": "Create a Solid Sphere cetered at the input Point, with given radius.\n\nSphere.ByCenterPointRadius (centerPoint: Point = Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0), radius: double = 1): Sphere" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "bd2ac09e6138464e843a2c61245e7d30", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "5280a9bd300b409086cb806768c6a775", + "Name": "centerPoint", + "Description": "Point\nDefault value : Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "45b3e5564f4247ce8966c4e02e594de4", + "Name": "radius", + "Description": "double\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9b2613d39eb34e13ab9d55d1b1a50021", + "Name": "Sphere", + "Description": "Sphere", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Sphere.ByCenterPointRadius@Autodesk.DesignScript.Geometry.Point,double", + "Replication": "Auto", + "Description": "Create a Solid Sphere cetered at the input Point, with given radius.\n\nSphere.ByCenterPointRadius (centerPoint: Point = Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0), radius: double = 1): Sphere" + } + ], + "Connectors": [ + { + "Start": "544a34430b6e41b6a12617e48d10a8e2", + "End": "c0d169bcbc4443c391bff00d56e0d623", + "Id": "4dd3d9caf9f942c2ad40d564224fe5c1", + "IsHidden": "False" + }, + { + "Start": "544a34430b6e41b6a12617e48d10a8e2", + "End": "9a2a720a639a400bb5781ebe99131626", + "Id": "66b1297a020d4430b925471bf3d1f120", + "IsHidden": "False" + }, + { + "Start": "11d8393946e34e7c9d6136c7ff7c0d45", + "End": "49072007c2f9469ba9bd9473bf65b2dc", + "Id": "bbced5b230ef419b8819f0e16f51ca16", + "IsHidden": "False" + }, + { + "Start": "590a5273b53b4c59bd84fc29f2843c80", + "End": "42f48d1ac7e841eba65c9ccca5cf3a7e", + "Id": "cd137d5662b54c3d86deaddafb0303f7", + "IsHidden": "False" + }, + { + "Start": "c5227ba624a34ce590c9524e62d9a610", + "End": "46c6e2670b8f41e39b233622647175e9", + "Id": "f10a5683c3684f1d80ffad78dd3a512e", + "IsHidden": "False" + }, + { + "Start": "5fcb22ae54c24813943c7ce151b90d33", + "End": "3f7cbdb1d0ba4a738d53a39ddac9bdb3", + "Id": "fb88faa23718418a903158a4fc0db909", + "IsHidden": "False" + }, + { + "Start": "4751f56895a84a83b7eed637034fc1f1", + "End": "1574359ee58a4594b7f7424cc5f25565", + "Id": "d2f6d631740346b9bb5bb03b9f26bd87", + "IsHidden": "False" + }, + { + "Start": "ca812543aa2f42b3b42ad82b5640af3a", + "End": "90bebb737e204626bb069a8c9d1e0998", + "Id": "33335b406e8f40038f115e23a6ddb4f0", + "IsHidden": "False" + }, + { + "Start": "1668bde46a534e71a9e4ddd3e4463ea6", + "End": "1e207436c65f4435b4156d7fff3cd501", + "Id": "eb2fd83ae13d4778afc6c1d9e040454e", + "IsHidden": "False" + }, + { + "Start": "5754bd7cce964cc59466939804490082", + "End": "49da287be0ff42b09a2b435fa053547e", + "Id": "75c54cfc121c4bad912d2e0faab75b43", + "IsHidden": "False" + }, + { + "Start": "e592761907c942de8122bf681b8caf39", + "End": "401c072db3574c93b5332ad78d687cee", + "Id": "1fa91e428d644f20a5f513517802b40f", + "IsHidden": "False" + }, + { + "Start": "8ca4ad4ff08e400ebe0843b44f7f66a3", + "End": "2e9e984e1f0045dd890c0ce7abfbc749", + "Id": "cc643b84f4aa4b7d892f4960de05bead", + "IsHidden": "False" + }, + { + "Start": "a737c5073daa441b9640c35535357db7", + "End": "5280a9bd300b409086cb806768c6a775", + "Id": "14f272e83e9d4b4f848fc932fe273c7d", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": 21.517470312340574, + "EyeY": 32.684655430092079, + "EyeZ": 14.450030377340898, + "LookX": 0.086173105017824062, + "LookY": -30.830712177528603, + "LookZ": -26.072732975912675, + "UpX": 0.0020074250642210245, + "UpY": 0.79441457986831665, + "UpZ": -0.607372522354126 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "f7d9b0dc6713426cbc0ac181164ace2a", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -639.285558458808, + "Y": 2564.4206934364497 + }, + { + "Id": "5094f8eef28c42eb890e35601ea7c770", + "Name": "Point.ByCoordinates", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -368.28555845880805, + "Y": 2547.59319343645 + }, + { + "Id": "437a7f7694df46e6bfcaa2679c19f90b", + "Name": "List.Flatten", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -43.285558458808055, + "Y": 2547.59319343645 + }, + { + "Id": "8cbf6b7e36e8433bb337a1fdeb719eb6", + "Name": "List.GetItemAtIndex", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 404.71444154119195, + "Y": 2619.59319343645 + }, + { + "Id": "a1a367474f1f406f89a1d7ba04034e61", + "Name": "Index", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -43.285558458808055, + "Y": 2725.59319343645 + }, + { + "Id": "24328d05a5ad40f99d4428798855f201", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 727.714441541192, + "Y": 2619.59319343645 + }, + { + "Id": "6ebd154971c84a1fa8799049b506ddd9", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 54.179942150812053, + "Y": 2889.8131956525394 + }, + { + "Id": "d2d0791faf2149e9af05abd17ed53ab3", + "Name": "Point.ByCoordinates", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 333.17994215081205, + "Y": 2881.1581956525397 + }, + { + "Id": "ad50bd1157764374963af580087ade0d", + "Name": "List.GetItemAtIndex", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 781.179942150812, + "Y": 2970.1581956525397 + }, + { + "Id": "b185ac82b85843ff83aaef3680b19d25", + "Name": "Index", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 333.17994215081205, + "Y": 3093.1581956525397 + }, + { + "Id": "b0a16b5b785a49d1be76ae7a29f59286", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1104.1799421508122, + "Y": 2970.1581956525397 + }, + { + "Id": "024ecbc8116344fa92c28fc6439aab03", + "Name": "Sphere.ByCenterPointRadius", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1216.7144415411919, + "Y": 2619.59319343645 + }, + { + "Id": "bd2ac09e6138464e843a2c61245e7d30", + "Name": "Sphere.ByCenterPointRadius", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1481.1799421508122, + "Y": 2970.1581956525397 + } + ], + "Annotations": [], + "X": 360.9183475182553, + "Y": -1086.5815684792044, + "Zoom": 0.44028875215393004 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Flatten.md b/doc/distrib/NodeHelpFiles/DSCore.List.Flatten.md new file mode 100644 index 00000000000..9b9cf4f2400 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Flatten.md @@ -0,0 +1,8 @@ +## In Depth +`List.Flatten` returns a one-dimensional list (a list with a single level) from a multi-dimensional list (a list with at least one nested list). + +In the example below, two list structures of a point grid are compared by creating a sphere at a specified index of each grid. The flattened list of points returns 1 point at an index location. The unflattened list returns 10 points at an index location, as each index contains a row of points. +___ +## Example File + +![List.Flatten](./DSCore.List.Flatten_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Flatten_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Flatten_img.jpg new file mode 100644 index 00000000000..2731cebcd6a Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Flatten_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.GetItemAtIndex.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.GetItemAtIndex.dyn new file mode 100644 index 00000000000..0ec83d0f081 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.GetItemAtIndex.dyn @@ -0,0 +1,279 @@ +{ + "Uuid": "3c9d0464-8643-5ffe-96e5-ab1769818209", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.GetItemAtIndex", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "494f3cf5280d4f13a9f2269b2190b316", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "e8b37381bbeb42e1bfbff21eb684fc7d", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "600e36b9623642888370141001f8dcbc", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "328f7916c1fd484c8f8f09bc48b465e5", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "bb0e9cf7c02f49828448fdd1577f10b3", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 28.0, + "WatchHeight": 38.0, + "Id": "016b9a0e5a9645dab9065efaeb951f97", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "270480b221d8414c9054b690bdbcd67d", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1ba4b02f07e943a9829e9982057885ce", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "79163ff7a99d4ab3888b8e959ef70971", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "48ce777fc4834865b08938376729d32b", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "4;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "504af2800f5e4c75a383587aa0ca09c4", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "78a55236ade3496ea7512208981d9a85", + "Name": "list", + "Description": "List to fetch an item from.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "fa92d81529484ea9b52ae63afc9c8fb5", + "Name": "index", + "Description": "Index of the item to be fetched.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "85fff67bab194c20a1a5f02855b0d0b4", + "Name": "item", + "Description": "Item in the list at the given index.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.GetItemAtIndex@var[]..[],int", + "Replication": "Auto", + "Description": "Returns an item from the given list that's located at the specified index.\n\nList.GetItemAtIndex (list: var[]..[], index: int): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "e8b37381bbeb42e1bfbff21eb684fc7d", + "End": "328f7916c1fd484c8f8f09bc48b465e5", + "Id": "9691f83e8e084e8aa622b7ef1d66b437", + "IsHidden": "False" + }, + { + "Start": "bb0e9cf7c02f49828448fdd1577f10b3", + "End": "78a55236ade3496ea7512208981d9a85", + "Id": "b979ee0de7554d7685256b790117db00", + "IsHidden": "False" + }, + { + "Start": "48ce777fc4834865b08938376729d32b", + "End": "fa92d81529484ea9b52ae63afc9c8fb5", + "Id": "5f55b294aac14456849c62b556b50d9a", + "IsHidden": "False" + }, + { + "Start": "85fff67bab194c20a1a5f02855b0d0b4", + "End": "270480b221d8414c9054b690bdbcd67d", + "Id": "701fff26aecc49d4a7b33cf50a5d189f", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -29.3873760641881, + "EyeY": 31.836324069537106, + "EyeZ": 142.03898431024245, + "LookX": 29.3873760641881, + "LookY": -31.836324069537106, + "LookZ": -142.03898431024245, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "494f3cf5280d4f13a9f2269b2190b316", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -149.36612242381523, + "Y": 326.95977261167195 + }, + { + "Id": "600e36b9623642888370141001f8dcbc", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 104.63387757618477, + "Y": 327.13227261167197 + }, + { + "Id": "016b9a0e5a9645dab9065efaeb951f97", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 804.63387757618477, + "Y": 467.13227261167197 + }, + { + "Id": "79163ff7a99d4ab3888b8e959ef70971", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 210.21203138057581, + "Y": 655.03685978559065 + }, + { + "Id": "504af2800f5e4c75a383587aa0ca09c4", + "Name": "List.GetItemAtIndex", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 481.63387757618477, + "Y": 467.13227261167197 + } + ], + "Annotations": [], + "X": 323.38273301678, + "Y": -187.78688195036534, + "Zoom": 1.0126819029850747 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.GetItemAtIndex.md b/doc/distrib/NodeHelpFiles/DSCore.List.GetItemAtIndex.md new file mode 100644 index 00000000000..1482ff2db0b --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.GetItemAtIndex.md @@ -0,0 +1,8 @@ +## In Depth +`List.GetItemAtIndex` takes an input list and an index (integer) and returns the item from the list found at the given index. + +In the example below, we first use a code block to generate a range of numbers from 0 to 5, stepping by 1. We then extract a single element at index 4 by using a `List.GetItemAtIndex` node. +___ +## Example File + +![List.GetItemAtIndex](./DSCore.List.GetItemAtIndex_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.GetItemAtIndex_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.GetItemAtIndex_img.jpg new file mode 100644 index 00000000000..5642cb8aab3 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.GetItemAtIndex_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IndexOf.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.IndexOf.dyn new file mode 100644 index 00000000000..ec5d08292df --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IndexOf.dyn @@ -0,0 +1,279 @@ +{ + "Uuid": "3c9d0464-8643-5ffe-96e5-ab1769818209", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.IndexOf", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "b4760fc7400e4878ad46698d1974c17c", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "4741285a87a74557b4f040b7bbac6496", + "Name": "list", + "Description": "The list to find the element in.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "36094d3283c44ed39c0b17d20e39741e", + "Name": "element", + "Description": "The element whose index is to be returned.\n\nvar", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "91fff7db286a44fd98874a51003412b4", + "Name": "int", + "Description": "The index of the element in the list. Invalid index -1 will be returned if strict match not found.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.IndexOf@var[]..[],var", + "Replication": "Auto", + "Description": "Returns the index of the element in the given list. Match between given list and target element must be a strict match (i.e. int to int, double to double, string to string, object to object etc.)\n\nList.IndexOf (list: var[]..[], element: var): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "d59e73c300094857a3666e335f6243bd", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "2d1446a9c38e4ab0a90d08a869fc09c5", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..19..#11;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "5cb99cb28a3e4ac6b40b71f1a0946deb", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "6e993626ebdc43c6a402768431f2a375", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "3.8;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 28.0, + "WatchHeight": 38.0, + "Id": "b5816650ee87421da4e0adde5fbfae3a", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a1ad62c72a824465b7aa3523d531d501", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6515f3b8435e4d24890fdbe57e42fb81", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "f81af81272c1430380398f98296f0daa", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "c064e821201046a6a906446676722d6e", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "db18207e63f24751b28c5145190195f4", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "91fff7db286a44fd98874a51003412b4", + "End": "a1ad62c72a824465b7aa3523d531d501", + "Id": "1bef7ea82868467fb3a250d6eafe1a09", + "IsHidden": "False" + }, + { + "Start": "2d1446a9c38e4ab0a90d08a869fc09c5", + "End": "c064e821201046a6a906446676722d6e", + "Id": "7a319f1f914444f8a2c041905ed8abd3", + "IsHidden": "False" + }, + { + "Start": "6e993626ebdc43c6a402768431f2a375", + "End": "36094d3283c44ed39c0b17d20e39741e", + "Id": "d4111ab3ad174183af26d35bfe853a0e", + "IsHidden": "False" + }, + { + "Start": "db18207e63f24751b28c5145190195f4", + "End": "4741285a87a74557b4f040b7bbac6496", + "Id": "0ccf90b938884d2dbc15047fd0dd49ba", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -10.351632118225098, + "EyeY": 13.915582656860352, + "EyeZ": 16.000629425048828, + "LookX": 16.128910064697266, + "LookY": -8.1650753021240234, + "LookZ": -20.504016876220703, + "UpX": 0.053885128349065781, + "UpY": 0.99619466066360474, + "UpZ": -0.068501941859722137 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "b4760fc7400e4878ad46698d1974c17c", + "Name": "List.IndexOf", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 259.05324280743, + "Y": 2612.1890880143 + }, + { + "Id": "d59e73c300094857a3666e335f6243bd", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -388.94675719257049, + "Y": 2472.0165880143 + }, + { + "Id": "5cb99cb28a3e4ac6b40b71f1a0946deb", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -117.94675719257, + "Y": 2786.0165880143 + }, + { + "Id": "b5816650ee87421da4e0adde5fbfae3a", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 554.05324280742957, + "Y": 2612.1890880143 + }, + { + "Id": "f81af81272c1430380398f98296f0daa", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -117.94675719257049, + "Y": 2472.1890880143 + } + ], + "Annotations": [], + "X": 458.68606789263856, + "Y": -2409.77855203425, + "Zoom": 1.0232846371347786 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IndexOf.md b/doc/distrib/NodeHelpFiles/DSCore.List.IndexOf.md new file mode 100644 index 00000000000..a327d7ff357 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IndexOf.md @@ -0,0 +1,8 @@ +## In Depth +`List.IndexOf` returns the index location of a given element in a list. If the given element isn’t found in the list or its data type does not match the list element (for example, the input is a double and the list element is a string), `List.IndexOf` returns -1. + +Note that this node returns only the first index, even if the element appears multiple times on the list. To return multiple indices, use `List.AllIndicesOf` instead. +___ +## Example File + +![List.IndexOf](./DSCore.List.IndexOf_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IndexOf_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.IndexOf_img.jpg new file mode 100644 index 00000000000..def48f1ae34 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.IndexOf_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsEmpty.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.IsEmpty.dyn new file mode 100644 index 00000000000..4287032cb33 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IsEmpty.dyn @@ -0,0 +1,234 @@ +{ + "Uuid": "fa649541-25a9-4979-81b4-b23516b002c8", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.IsEmpty", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "1480d419d6284b81a150578f712e4948", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "526a4d33306a4d88a5e05bf1bdf2aa54", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "fef4745dce154a37a35225bebf2182ba", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "1b0ebd9170a64febbb25d89b02101b85", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "fcd1b317140845ee8daf1c54bca10dca", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "25ee154d898b41a69db726cafbb71541", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "c66db7e800b9420db97cf7e63e60d57d", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b49137f545624d05868b433c38c2b340", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "c9976d07194441eb80b1647cfc59ca9e", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "1a64d5b007e0416590842409536f5873", + "Name": "list", + "Description": "List to be checked if it is empty\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d47866be02d842dfb79c55190cdc3bef", + "Name": "bool", + "Description": "True if list is empty, false if it isnt", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.IsEmpty@var[]..[]", + "Replication": "Auto", + "Description": "Determines if the given list is empty.\n\nList.IsEmpty (list: var[]..[]): bool" + } + ], + "Connectors": [ + { + "Start": "fef4745dce154a37a35225bebf2182ba", + "End": "1a64d5b007e0416590842409536f5873", + "Id": "2c2e825d86e44a81867d78b2979ad715", + "IsHidden": "False" + }, + { + "Start": "fcd1b317140845ee8daf1c54bca10dca", + "End": "526a4d33306a4d88a5e05bf1bdf2aa54", + "Id": "aba0b9167a1e40ed85c8066cd7099ad2", + "IsHidden": "False" + }, + { + "Start": "d47866be02d842dfb79c55190cdc3bef", + "End": "c66db7e800b9420db97cf7e63e60d57d", + "Id": "5844a76edf0544c9906e8a4a6cbfea8d", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "1480d419d6284b81a150578f712e4948", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -107.2287337160858, + "Y": 22.439138255411919 + }, + { + "Id": "1b0ebd9170a64febbb25d89b02101b85", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -361.2287337160858, + "Y": 22.26663825541192 + }, + { + "Id": "25ee154d898b41a69db726cafbb71541", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 545.7712662839142, + "Y": 22.439138255411919 + }, + { + "Id": "c9976d07194441eb80b1647cfc59ca9e", + "Name": "List.IsEmpty", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 268.90773081996463, + "Y": 22.439138255411919 + } + ], + "Annotations": [], + "X": 464.58174666075075, + "Y": 98.583281106477, + "Zoom": 1.1580300308991469 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsEmpty.md b/doc/distrib/NodeHelpFiles/DSCore.List.IsEmpty.md new file mode 100644 index 00000000000..41455c8e800 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IsEmpty.md @@ -0,0 +1,8 @@ +## In Depth +`List.IsEmpty` returns a Boolean value of True if the input list is empty, and False if it’s not empty. + +In the example below, we first use a code block to generate a range of numbers from 0 to 5, stepping by 1. We input this list into an `List.IsEmpty` node. Since the list is not empty, `List.IsEmpty` returns a False value. +___ +## Example File + +![List.IsEmpty](./DSCore.List.IsEmpty_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsEmpty_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.IsEmpty_img.jpg new file mode 100644 index 00000000000..22b7c4af3b8 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.IsEmpty_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsHomogeneous.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.IsHomogeneous.dyn new file mode 100644 index 00000000000..9ed469fe6dd --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IsHomogeneous.dyn @@ -0,0 +1,510 @@ +{ + "Uuid": "5b460586-f2a0-48ef-9134-65409d454351", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.IsHomogeneous", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "b583eb9c9eaf4f31b98e66ac0bae799d", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "d3e93aa379eb4403a169b6efbcd772bc", + "Name": "list", + "Description": "The list the element will be inserted to\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "69a8311f605c444fa314b960f784fcb3", + "Name": "element", + "Description": "The element to be inserted\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "c9bd2eeaeb3843a3b0d2a0ee0908fa90", + "Name": "index", + "Description": "Specifies the location in the list of the element to be inserted\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9741aa970ae84b879571a2a096ae3b58", + "Name": "list", + "Description": "List with the element inserted", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Insert@var[]..[],var[]..[],int", + "Replication": "Auto", + "Description": "Inserts an element into a list at specified index.\n\nList.Insert (list: var[]..[], element: var[]..[], index: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "6070c1a592c6446997ccd3dd2b8a7a30", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "7e6588edf7474c3da63e73c1d0e8622e", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..12..#6;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "4877d9c0f3874caabf34026222cbd727", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "4f7df6f9040745189533719adbcc9db5", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c59f0c169195409c9d8d2df3983a2595", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "4efaf27840c040e4a6c382650c70e978", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "211a23c34b104417a2ef6679ea8ffbe0", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "\"a string\";" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "16e1c681868f45de9fb54a324fbbeca2", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "7f965df0ffd748c4b1b7a805e9202e2c", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "2;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "dba0ef146fd549e3a39917aad4abb7c7", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "c8acd9f12ecd4af79683266e41238e06", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "195ffbbf8ae64fd3a4bb1b4f348a8a74", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "c559e41d16f14fda8015807535f72f73", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "323b0c1faba4493281b5b298d3f1e2c8", + "Name": "list", + "Description": "List to be checked if it's homogeneous.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8c5285044b6643e4a1d59e0b1506048a", + "Name": "bool", + "Description": "Whether the list is homogeneous.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.IsHomogeneous@var[]..[]", + "Replication": "Auto", + "Description": "Check if the items in the list are of the same type.\n\nList.IsHomogeneous (list: var[]..[]): bool" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "239f796245bc4c649f4cde5d4f167cc7", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "474c268523f74c308b284dfbf8e125ba", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "09588e0fa48e4aadbf514de0a18f927c", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "2b3dbbd3128d41558dbe0b48a1a579e4", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "fa5a34368c0b442789d55d36117fa816", + "Name": "list", + "Description": "List to be checked if it's homogeneous.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "244ef61f289d4909aa18db45a1464e37", + "Name": "bool", + "Description": "Whether the list is homogeneous.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.IsHomogeneous@var[]..[]", + "Replication": "Auto", + "Description": "Check if the items in the list are of the same type.\n\nList.IsHomogeneous (list: var[]..[]): bool" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "e89d23fb11184ff094f153fc20f552a7", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "f669c85117a74d2d9869bbd1de175334", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "e9822777e39e4431a7f67e1db57f1963", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "9741aa970ae84b879571a2a096ae3b58", + "End": "c8acd9f12ecd4af79683266e41238e06", + "Id": "e7603babf83344ca9c8f38134f2842c5", + "IsHidden": "False" + }, + { + "Start": "7e6588edf7474c3da63e73c1d0e8622e", + "End": "d3e93aa379eb4403a169b6efbcd772bc", + "Id": "def1e9db17114a1ab36810005826a450", + "IsHidden": "False" + }, + { + "Start": "7e6588edf7474c3da63e73c1d0e8622e", + "End": "4f7df6f9040745189533719adbcc9db5", + "Id": "ce4d2c9a577b4e0794e14ff70f1b1a3b", + "IsHidden": "False" + }, + { + "Start": "c59f0c169195409c9d8d2df3983a2595", + "End": "fa5a34368c0b442789d55d36117fa816", + "Id": "3de8232142314e90b5891db32d2bb8ac", + "IsHidden": "False" + }, + { + "Start": "211a23c34b104417a2ef6679ea8ffbe0", + "End": "69a8311f605c444fa314b960f784fcb3", + "Id": "6fd4a661febc47f4823ff69c377888d7", + "IsHidden": "False" + }, + { + "Start": "7f965df0ffd748c4b1b7a805e9202e2c", + "End": "c9bd2eeaeb3843a3b0d2a0ee0908fa90", + "Id": "0377523b62cc46db812267a41080c55b", + "IsHidden": "False" + }, + { + "Start": "195ffbbf8ae64fd3a4bb1b4f348a8a74", + "End": "323b0c1faba4493281b5b298d3f1e2c8", + "Id": "1514c927009e4284b72512eb1b720e91", + "IsHidden": "False" + }, + { + "Start": "8c5285044b6643e4a1d59e0b1506048a", + "End": "474c268523f74c308b284dfbf8e125ba", + "Id": "93ad01d0a0bf40518a29b673ed5e038c", + "IsHidden": "False" + }, + { + "Start": "244ef61f289d4909aa18db45a1464e37", + "End": "f669c85117a74d2d9869bbd1de175334", + "Id": "f680a5daaf5d4a6dbf8641497c74d001", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -10.351632118225098, + "EyeY": 13.915582656860352, + "EyeZ": 16.000629425048828, + "LookX": 16.128910064697266, + "LookY": -8.1650753021240234, + "LookZ": -20.504016876220703, + "UpX": 0.053885128349065781, + "UpY": 0.99619466066360474, + "UpZ": -0.068501941859722137 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "b583eb9c9eaf4f31b98e66ac0bae799d", + "Name": "List.Insert", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -14.333612309007719, + "Y": 2802.8271359073951 + }, + { + "Id": "6070c1a592c6446997ccd3dd2b8a7a30", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -285.33361230900772, + "Y": 2636.654635907395 + }, + { + "Id": "4877d9c0f3874caabf34026222cbd727", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 282.66638769099228, + "Y": 2488.8271359073951 + }, + { + "Id": "4efaf27840c040e4a6c382650c70e978", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -285.33361230900772, + "Y": 2784.654635907395 + }, + { + "Id": "16e1c681868f45de9fb54a324fbbeca2", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -285.33361230900772, + "Y": 2931.654635907395 + }, + { + "Id": "dba0ef146fd549e3a39917aad4abb7c7", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 282.66638769099228, + "Y": 2802.8271359073951 + }, + { + "Id": "c559e41d16f14fda8015807535f72f73", + "Name": "List.IsHomogeneous", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 659.66638769099222, + "Y": 2721.8271359073951 + }, + { + "Id": "239f796245bc4c649f4cde5d4f167cc7", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 986.66638769099222, + "Y": 2721.8271359073951 + }, + { + "Id": "2b3dbbd3128d41558dbe0b48a1a579e4", + "Name": "List.IsHomogeneous", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 659.66638769099222, + "Y": 2569.8271359073951 + }, + { + "Id": "e89d23fb11184ff094f153fc20f552a7", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 986.66638769099222, + "Y": 2569.8271359073951 + } + ], + "Annotations": [], + "X": 347.62083080379966, + "Y": -1642.9675910234655, + "Zoom": 0.6979310693429851 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsHomogeneous.md b/doc/distrib/NodeHelpFiles/DSCore.List.IsHomogeneous.md new file mode 100644 index 00000000000..e33ade84968 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IsHomogeneous.md @@ -0,0 +1,8 @@ +## In Depth +`List.IsHomogeneous` returns a Boolean value based on whether the elements in a list are all of the same type. + +In the example below, a simple list of numbers is compared to the same list with a string inserted. The original list is homogeneous (numbers only), so `List.IsHomogeneous` returns True. The new list is not homogeneous (numbers and a string), so `List.IsHomogeneous` returns False. +___ +## Example File + +![List.IsHomogeneous](./DSCore.List.IsHomogeneous_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsHomogeneous_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.IsHomogeneous_img.jpg new file mode 100644 index 00000000000..c7de99dca7d Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.IsHomogeneous_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsRectangular.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.IsRectangular.dyn new file mode 100644 index 00000000000..c6ebc19654b --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IsRectangular.dyn @@ -0,0 +1,900 @@ +{ + "Uuid": "353c278e-71b3-449a-8053-5a41693d2d89", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.IsRectangular", + "ElementResolver": { + "ResolutionMap": { + "Point": { + "Key": "Autodesk.DesignScript.Geometry.Point", + "Value": "ProtoGeometry.dll" + } + } + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "ea82c6435ecd4f1c83c374f314aea9fc", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "0369defec3074dc0b0986c83ce71e0f8", + "Name": "amount", + "Description": "Amount of random numbers the result list will contain.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "50c9b9bcc5834dfeb9e339186e0d987a", + "Name": "number", + "Description": "List of random numbers between 0 and 1.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.RandomList@int", + "Replication": "Auto", + "Description": "Produces a list containing the given amount of random doubles in the range of [0, 1).\n\nMath.RandomList (amount: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "19d57b62f4584704bba4a1048c55ace5", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "730c76fe35494d46bc41fd7ed8fe2540", + "Name": "list", + "Description": "List to get the item count of.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "44d55c1be9cf41cc8c454b325c9b841c", + "Name": "int", + "Description": "List length.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Count@var[]..[]", + "Replication": "Auto", + "Description": "Returns the number of items stored in the given list.\n\nList.Count (list: var[]..[]): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "e5cb9e92d29144b4a46340afdd4bff1f", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "0cf32c62948a49bdaf3fe9fd88982ed1", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..9..#10;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "1e1521351f77412caabefbd127a6c970", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "d2dd1e09342b486c920e54e0bbf81906", + "Name": "x", + "Description": "X coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "36658fe27fc14da68e86cec2307ba143", + "Name": "y", + "Description": "Y coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1341f87322b54699b34eadf9d36f4d11", + "Name": "Point", + "Description": "Point created by coordinates", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Point.ByCoordinates@double,double", + "Replication": "CrossProduct", + "Description": "Form a Point in the XY plane given two 2 cartesian coordinates. The Z component is 0.\n\nPoint.ByCoordinates (x: double = 0, y: double = 0): Point" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "e74792a281da4212b481797e8e4d25af", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "afbd1aef238946fbb8ec1d526ff58056", + "Name": "vector", + "Description": "Autodesk.DesignScript.Geometry.Vector", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "0d82fe55308d43a68c521ba2b6f9854b", + "Name": "scale_factor", + "Description": "Scale factor\n\ndouble\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "70111e4d0a9346dfb0843e876a89e7ac", + "Name": "Vector", + "Description": "Scaled vector", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Vector.Scale@double", + "Replication": "Auto", + "Description": "Scale Vector uniformly around the origin\n\nVector.Scale (scale_factor: double = 1): Vector" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "44f94556d96e4e419bd0fb899f704a03", + "NodeType": "FunctionNode", + "Inputs": [], + "Outputs": [ + { + "Id": "4f4cb104f00c489f973f65b7a1c18ed9", + "Name": "Vector", + "Description": "Vector", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Vector.ZAxis", + "Replication": "Auto", + "Description": "Get the canonical Z axis Vector (0,0,1)\n\nVector.ZAxis ( ): Vector" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "622509981b794953b066c0844430aa30", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "30a96553c8f54fe89a7fc3c37eda2da3", + "Name": "geometry", + "Description": "Autodesk.DesignScript.Geometry.Geometry", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "c61b6ab4510740a7bde86f671b733510", + "Name": "direction", + "Description": "Vector", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b8fd82cd12ca487e899a064199201afd", + "Name": "Geometry", + "Description": "Geometry", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Geometry.Translate@Autodesk.DesignScript.Geometry.Vector", + "Replication": "Auto", + "Description": "Translate geometry in the given direction by the vector length\n\nGeometry.Translate (direction: Vector): Geometry" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "36f1e76f2fe94c69b76f6960d23067f2", + "NodeType": "CodeBlockNode", + "Inputs": [ + { + "Id": "181ec7fd626447b58ea58cfc4137f91d", + "Name": "x", + "Description": "x", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "31da4e0c043f49b6b87ccce426529c5b", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "x*2;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "6d67a956629d4dc8925edebf52f91419", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "8311bd7f823141609fb11971d4e52da3", + "Name": "points", + "Description": "Grid of points for nurbs surface\n\nPoint[][]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "56ae5273a0c14d6fb3cf71a9b456a078", + "Name": "uDegree", + "Description": "Degree in u direction\n\nint\nDefault value : 3", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "3c3dd236c3fc43cc8bb7c00bbe66ee89", + "Name": "vDegree", + "Description": "Degree in v direction\n\nint\nDefault value : 3", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8e1a2cefb73f4c659d9a4e142f8978b8", + "Name": "NurbsSurface", + "Description": "Nurbs surface created by points", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.NurbsSurface.ByPoints@Autodesk.DesignScript.Geometry.Point[][],int,int", + "Replication": "Auto", + "Description": "Creates a NurbsSurface with specified interpolated points and U and V degrees. The resultant surface will pass through all of the points.\n\nNurbsSurface.ByPoints (points: Point[][], uDegree: int = 3, vDegree: int = 3): NurbsSurface" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "bd9ae64a00e247ce9691744a082aaa56", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "adc1548f4cc54ce7938cbffc677ab698", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "3f2d9f9cd0b44e53826a9b1eb227e511", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "dfb1d74dd9904a1da029bc061dd3438c", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "f4f4da0a1498423a93e436b3da0728ae", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "Point.ByCoordinates(1,0..20..2,0.142);" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "df0f8ecff9834ce8b5f3c2e946b4a00b", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "3c2235784d454ec8945732738f7f45e5", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "5dee53f4044f4510adb36fe01b683be5", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "44797faf158444db8c99bc905a9b56d9", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c4f78840597a44de8fc6a383ea922f31", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "810bde7d41024cf78a758d5ac2251cf2", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "ded7ba4856a841a3baf8da6444fceb9b", + "Name": "list", + "Description": "The list the element will be inserted to\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "09920ef40ebd49229840213386c913a5", + "Name": "element", + "Description": "The element to be inserted\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "2d6d2c3ecf814e45a551605d95a29094", + "Name": "index", + "Description": "Specifies the location in the list of the element to be inserted\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8dcc530ecaad4cb59c4a3f1be5769d15", + "Name": "list", + "Description": "List with the element inserted", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Insert@var[]..[],var[]..[],int", + "Replication": "Auto", + "Description": "Inserts an element into a list at specified index.\n\nList.Insert (list: var[]..[], element: var[]..[], index: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "972741144d4b44dbb4214598e9155c50", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "2145af0c47e64449ba2a38ab97f93db9", + "Name": "points", + "Description": "Grid of points for nurbs surface\n\nPoint[][]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "be62c3d2727c44a38244473a455c6d1d", + "Name": "uDegree", + "Description": "Degree in u direction\n\nint\nDefault value : 3", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "ffdbd4beb5d543f9b5f2e64978057235", + "Name": "vDegree", + "Description": "Degree in v direction\n\nint\nDefault value : 3", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9e138141528f47dcaea7fd4881575ae2", + "Name": "NurbsSurface", + "Description": "Nurbs surface created by points", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.NurbsSurface.ByPoints@Autodesk.DesignScript.Geometry.Point[][],int,int", + "Replication": "Auto", + "Description": "Creates a NurbsSurface with specified interpolated points and U and V degrees. The resultant surface will pass through all of the points.\n\nNurbsSurface.ByPoints (points: Point[][], uDegree: int = 3, vDegree: int = 3): NurbsSurface" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "d2f42705b42c4115a9900b667ddd902a", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "ace445a7740346c58a783c215aa359b6", + "Name": "list", + "Description": "List to be checked if the rows have the same number of items.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "bc25f971e3a04cfcae2171dc7a50d939", + "Name": "bool", + "Description": "Whether the list has the same number of items in all rows.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.IsRectangular@var[]..[]", + "Replication": "Auto", + "Description": "Check if the number of items in all rows of the list are the same.\n\nList.IsRectangular (list: var[]..[]): bool" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "62b9e2c76a3e4feabab914d58fd44e80", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "b088f71b9f2f40f0a250b680b627fd62", + "Name": "list", + "Description": "List to be checked if the rows have the same number of items.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8d699aeebc0b4591810ce2ffb401babf", + "Name": "bool", + "Description": "Whether the list has the same number of items in all rows.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.IsRectangular@var[]..[]", + "Replication": "Auto", + "Description": "Check if the number of items in all rows of the list are the same.\n\nList.IsRectangular (list: var[]..[]): bool" + } + ], + "Connectors": [ + { + "Start": "50c9b9bcc5834dfeb9e339186e0d987a", + "End": "0d82fe55308d43a68c521ba2b6f9854b", + "Id": "627b0d4519454d558731b8d8ca6fb23d", + "IsHidden": "False" + }, + { + "Start": "44d55c1be9cf41cc8c454b325c9b841c", + "End": "0369defec3074dc0b0986c83ce71e0f8", + "Id": "68c2634a63594390b79e68e741d8fbcc", + "IsHidden": "False" + }, + { + "Start": "0cf32c62948a49bdaf3fe9fd88982ed1", + "End": "181ec7fd626447b58ea58cfc4137f91d", + "Id": "b8f6270a5a8246688406b303d6ce238c", + "IsHidden": "False" + }, + { + "Start": "1341f87322b54699b34eadf9d36f4d11", + "End": "730c76fe35494d46bc41fd7ed8fe2540", + "Id": "0413c99753554bb099a914928574fab6", + "IsHidden": "False" + }, + { + "Start": "1341f87322b54699b34eadf9d36f4d11", + "End": "30a96553c8f54fe89a7fc3c37eda2da3", + "Id": "5b9ddebf71af457593eeef241a16f19f", + "IsHidden": "False" + }, + { + "Start": "70111e4d0a9346dfb0843e876a89e7ac", + "End": "c61b6ab4510740a7bde86f671b733510", + "Id": "92eaecccd46f4f4aa831420d0ff0d649", + "IsHidden": "False" + }, + { + "Start": "4f4cb104f00c489f973f65b7a1c18ed9", + "End": "afbd1aef238946fbb8ec1d526ff58056", + "Id": "2f0ac68227b14fd0be120c710c21bf85", + "IsHidden": "False" + }, + { + "Start": "b8fd82cd12ca487e899a064199201afd", + "End": "8311bd7f823141609fb11971d4e52da3", + "Id": "36c568c41f004046a7cffae681c320d8", + "IsHidden": "False" + }, + { + "Start": "b8fd82cd12ca487e899a064199201afd", + "End": "adc1548f4cc54ce7938cbffc677ab698", + "Id": "7b3acc69e4434bca8adc81416efcbb55", + "IsHidden": "False" + }, + { + "Start": "31da4e0c043f49b6b87ccce426529c5b", + "End": "d2dd1e09342b486c920e54e0bbf81906", + "Id": "52c5a81f25f342daa273d73706c86b12", + "IsHidden": "False" + }, + { + "Start": "31da4e0c043f49b6b87ccce426529c5b", + "End": "36658fe27fc14da68e86cec2307ba143", + "Id": "059995d1cba94931bc0c85221ba92126", + "IsHidden": "False" + }, + { + "Start": "3f2d9f9cd0b44e53826a9b1eb227e511", + "End": "ded7ba4856a841a3baf8da6444fceb9b", + "Id": "861c1b1f80904ecfbcf9fafe6fa1b7ee", + "IsHidden": "False" + }, + { + "Start": "3f2d9f9cd0b44e53826a9b1eb227e511", + "End": "ace445a7740346c58a783c215aa359b6", + "Id": "ddbf047a3b674a8393e56b93a2043df2", + "IsHidden": "False" + }, + { + "Start": "f4f4da0a1498423a93e436b3da0728ae", + "End": "09920ef40ebd49229840213386c913a5", + "Id": "33229c9a6dbb49b19b3e53f88aae32b2", + "IsHidden": "False" + }, + { + "Start": "3c2235784d454ec8945732738f7f45e5", + "End": "2d6d2c3ecf814e45a551605d95a29094", + "Id": "fcd0615f34b64b3ab5f1b2fbcc8f944d", + "IsHidden": "False" + }, + { + "Start": "c4f78840597a44de8fc6a383ea922f31", + "End": "2145af0c47e64449ba2a38ab97f93db9", + "Id": "67f4e985e3274607b5c4339c9c4e401b", + "IsHidden": "False" + }, + { + "Start": "c4f78840597a44de8fc6a383ea922f31", + "End": "b088f71b9f2f40f0a250b680b627fd62", + "Id": "46732074516e445ab8c43814da501205", + "IsHidden": "False" + }, + { + "Start": "8dcc530ecaad4cb59c4a3f1be5769d15", + "End": "44797faf158444db8c99bc905a9b56d9", + "Id": "3c3644bb7fd84a75942fb6eaf141df3c", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -2.5453084177726026, + "EyeY": 40.058149201346168, + "EyeZ": 15.788147503364858, + "LookX": 11.546876258348775, + "LookY": -39.600163233948479, + "LookZ": -25.232938343513784, + "UpX": 0.28165623545646667, + "UpY": 0.73609703779220581, + "UpZ": -0.61549234390258789 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "ea82c6435ecd4f1c83c374f314aea9fc", + "Name": "Math.RandomList", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 339.7415394273969, + "Y": 2864.71541215083 + }, + { + "Id": "19d57b62f4584704bba4a1048c55ace5", + "Name": "List.Count", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 72.7415394273969, + "Y": 2864.71541215083 + }, + { + "Id": "e5cb9e92d29144b4a46340afdd4bff1f", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -769.2584605726031, + "Y": 2818.87041215083 + }, + { + "Id": "1e1521351f77412caabefbd127a6c970", + "Name": "Point.ByCoordinates", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": false, + "X": -252.2584605726031, + "Y": 2802.21541215083 + }, + { + "Id": "e74792a281da4212b481797e8e4d25af", + "Name": "Vector.Scale", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 660.7415394273969, + "Y": 2773.71541215083 + }, + { + "Id": "44f94556d96e4e419bd0fb899f704a03", + "Name": "Vector.ZAxis", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 339.7415394273969, + "Y": 2716.71541215083 + }, + { + "Id": "622509981b794953b066c0844430aa30", + "Name": "Geometry.Translate", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 999.7415394273969, + "Y": 2739.71541215083 + }, + { + "Id": "36f1e76f2fe94c69b76f6960d23067f2", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -506.2584605726031, + "Y": 2819.04291215083 + }, + { + "Id": "6d67a956629d4dc8925edebf52f91419", + "Name": "NurbsSurface.ByPoints", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": false, + "X": 1347.6866982501963, + "Y": 2589.2523966265053 + }, + { + "Id": "bd9ae64a00e247ce9691744a082aaa56", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1341.7415394273969, + "Y": 2845.21541215083 + }, + { + "Id": "dfb1d74dd9904a1da029bc061dd3438c", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1341.7415394273969, + "Y": 3159.04291215083 + }, + { + "Id": "df0f8ecff9834ce8b5f3c2e946b4a00b", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1341.7415394273969, + "Y": 3307.04291215083 + }, + { + "Id": "5dee53f4044f4510adb36fe01b683be5", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 2119.7415394273967, + "Y": 3112.21541215083 + }, + { + "Id": "810bde7d41024cf78a758d5ac2251cf2", + "Name": "List.Insert", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1822.7415394273969, + "Y": 3112.21541215083 + }, + { + "Id": "972741144d4b44dbb4214598e9155c50", + "Name": "NurbsSurface.ByPoints", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 2496.7415394273967, + "Y": 3006.21541215083 + }, + { + "Id": "d2f42705b42c4115a9900b667ddd902a", + "Name": "List.IsRectangular", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1744.860002048403, + "Y": 2803.2606153988772 + }, + { + "Id": "62b9e2c76a3e4feabab914d58fd44e80", + "Name": "List.IsRectangular", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 2496.7415394273967, + "Y": 3218.21541215083 + } + ], + "Annotations": [], + "X": 489.1537888734473, + "Y": -1114.90631550054, + "Zoom": 0.4781170395587766 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsRectangular.md b/doc/distrib/NodeHelpFiles/DSCore.List.IsRectangular.md new file mode 100644 index 00000000000..7208d1155ab --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IsRectangular.md @@ -0,0 +1,8 @@ +## In Depth +`List.IsRectangular` returns a Boolean value based on whether a list's rows have the same number of elements. + +In the example below, a False value is returned for a grid of points with an extra point added to a row. A NurbsSurface can be created from an irregular point collection, but it may not behave as expected. +___ +## Example File + +![List.IsRectangular](./DSCore.List.IsRectangular_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsRectangular_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.IsRectangular_img.jpg new file mode 100644 index 00000000000..6a1db0832be Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.IsRectangular_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsUniformDepth.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.IsUniformDepth.dyn new file mode 100644 index 00000000000..b06e57b5ede --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IsUniformDepth.dyn @@ -0,0 +1,572 @@ +{ + "Uuid": "b7c0ed80-aa35-4c6a-8e15-813b63f5cb7c", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.IsUniformDepth", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "aa6485fbdba041a0be096bc1b16cf87a", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "362efba1182b46989cdffba02ed4e2d6", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..12..#6;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "ee6a06d5a0404e4badef869436b6369a", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a3139ec8820e475c9d7cc35cdd5e0950", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "3880f66281bd46a6809856e18bd28c66", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "1407a57cb6f24993aeb5400b81780038", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "9977e9cccd1c4851bb3fd74aff5a8581", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "92624f2be65b4d7084c59673ee87994c", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "4d12f7a1005c4b33adb0b3c02a4afc6d", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5064f25194be4ba395a8422eb28329b5", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6884e6b5fc9c4224a130bcb310f08937", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "80332419215541bd8b17334bd5ccd528", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "0cdb6514554c456db5858eacc0e251e1", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "cacb71644dc748c3973822328813a39c", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "fa6e48d923104b3fb1a2a47942b3258e", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "f27fda2574ad4ab7b6b9f9e58e873d64", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "e9417bc1bd0f4e8a89f5661f346dfb3a", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "5475d1fba8584bdf96a4d6f1a226ec90", + "Name": "item2", + "Description": "Item Index #2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9f0d613559ef40489651a64ff8757494", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "3924643fbe864e1488418e0ff4f42114", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a0fcd56b04804ea086c4a05d0cc590b0", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "165aa2cc702641dfbf3973bd717c2ff9", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "5fa7d1d1df424e8d98f79118585299fd", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "052fe308e7464a588758594eb662476b", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "665551c5bf1346ffa6e35a679e1c9a71", + "Name": "list", + "Description": "List to be checked if the items have the same depth.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "cc4139feb89744b9921349b1f64fa47e", + "Name": "bool", + "Description": "Whether the depth of the list is uniform.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.IsUniformDepth@var[]..[]", + "Replication": "Auto", + "Description": "Check if the items in the list have the same depth.\n\nList.IsUniformDepth (list: var[]..[]): bool" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "f37f217aee90482e8097ba846e9a5bb6", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "e723455275f84d1f90c2a894dc4c4d08", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "111ce8ff70c64123a0b15c10791b22bc", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6382287fac8c4e8b97ebe6bdeeacc9f0", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "1c485c189711487eab74efeb884295eb", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "f4871ec0e2fb489c94eb992879e02a69", + "Name": "list", + "Description": "List to be checked if the items have the same depth.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "83278d4462454a2ab949c4a4b492d9b5", + "Name": "bool", + "Description": "Whether the depth of the list is uniform.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.IsUniformDepth@var[]..[]", + "Replication": "Auto", + "Description": "Check if the items in the list have the same depth.\n\nList.IsUniformDepth (list: var[]..[]): bool" + } + ], + "Connectors": [ + { + "Start": "362efba1182b46989cdffba02ed4e2d6", + "End": "f27fda2574ad4ab7b6b9f9e58e873d64", + "Id": "84282eb55dc944cd81cd8fa029db5f96", + "IsHidden": "False" + }, + { + "Start": "362efba1182b46989cdffba02ed4e2d6", + "End": "e9417bc1bd0f4e8a89f5661f346dfb3a", + "Id": "53c840ae61c0473d8397fd7c427dd140", + "IsHidden": "False" + }, + { + "Start": "362efba1182b46989cdffba02ed4e2d6", + "End": "a0fcd56b04804ea086c4a05d0cc590b0", + "Id": "dd0732ec915a4423a57638123b3c323a", + "IsHidden": "False" + }, + { + "Start": "362efba1182b46989cdffba02ed4e2d6", + "End": "5475d1fba8584bdf96a4d6f1a226ec90", + "Id": "4d917bf2c0374af99ec14257cd617ced", + "IsHidden": "False" + }, + { + "Start": "362efba1182b46989cdffba02ed4e2d6", + "End": "165aa2cc702641dfbf3973bd717c2ff9", + "Id": "d6f03289c6e34f67a4002c6b9e912be8", + "IsHidden": "False" + }, + { + "Start": "362efba1182b46989cdffba02ed4e2d6", + "End": "e723455275f84d1f90c2a894dc4c4d08", + "Id": "9fe40fefb90f41e7896e4385387e5c1a", + "IsHidden": "False" + }, + { + "Start": "3880f66281bd46a6809856e18bd28c66", + "End": "665551c5bf1346ffa6e35a679e1c9a71", + "Id": "6fa1be4cab804090963333c11995f6de", + "IsHidden": "False" + }, + { + "Start": "92624f2be65b4d7084c59673ee87994c", + "End": "f4871ec0e2fb489c94eb992879e02a69", + "Id": "0a069c58b17e4e0d88e1e797f7009865", + "IsHidden": "False" + }, + { + "Start": "9f0d613559ef40489651a64ff8757494", + "End": "a3139ec8820e475c9d7cc35cdd5e0950", + "Id": "a18b39959dcd4ce2b0a4929187070a21", + "IsHidden": "False" + }, + { + "Start": "5fa7d1d1df424e8d98f79118585299fd", + "End": "111ce8ff70c64123a0b15c10791b22bc", + "Id": "c1fdfb4a12da4aa7ae8a0b4bdf920d0c", + "IsHidden": "False" + }, + { + "Start": "cc4139feb89744b9921349b1f64fa47e", + "End": "0cdb6514554c456db5858eacc0e251e1", + "Id": "dcac26655c194267a55bdca0c6c8a9a1", + "IsHidden": "False" + }, + { + "Start": "6382287fac8c4e8b97ebe6bdeeacc9f0", + "End": "9977e9cccd1c4851bb3fd74aff5a8581", + "Id": "2a1b7ef495f848a4a27415bc5a60f755", + "IsHidden": "False" + }, + { + "Start": "83278d4462454a2ab949c4a4b492d9b5", + "End": "5064f25194be4ba395a8422eb28329b5", + "Id": "f3280657213448a7b55170b8eadfe578", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -10.351632118225098, + "EyeY": 13.915582656860352, + "EyeZ": 16.000629425048828, + "LookX": 16.128910064697266, + "LookY": -8.1650753021240234, + "LookZ": -20.504016876220703, + "UpX": 0.053885128349065781, + "UpY": 0.99619466066360474, + "UpZ": -0.068501941859722137 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "aa6485fbdba041a0be096bc1b16cf87a", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -446.17102675160197, + "Y": 2754.3689002910846 + }, + { + "Id": "ee6a06d5a0404e4badef869436b6369a", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 336.82897324839803, + "Y": 2563.5414002910848 + }, + { + "Id": "1407a57cb6f24993aeb5400b81780038", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 336.82897324839803, + "Y": 2877.5414002910848 + }, + { + "Id": "4d12f7a1005c4b33adb0b3c02a4afc6d", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1037.8289732483981, + "Y": 2796.5414002910848 + }, + { + "Id": "80332419215541bd8b17334bd5ccd528", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1037.8289732483981, + "Y": 2644.5414002910848 + }, + { + "Id": "fa6e48d923104b3fb1a2a47942b3258e", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 76.828973248398029, + "Y": 2563.5414002910848 + }, + { + "Id": "3924643fbe864e1488418e0ff4f42114", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -183.17102675160197, + "Y": 2911.5414002910848 + }, + { + "Id": "052fe308e7464a588758594eb662476b", + "Name": "List.IsUniformDepth", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 713.828973248398, + "Y": 2644.5414002910848 + }, + { + "Id": "f37f217aee90482e8097ba846e9a5bb6", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 76.828973248398029, + "Y": 2877.5414002910848 + }, + { + "Id": "1c485c189711487eab74efeb884295eb", + "Name": "List.IsUniformDepth", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 713.828973248398, + "Y": 2796.5414002910848 + } + ], + "Annotations": [], + "X": 319.08300901221696, + "Y": -1317.2267744836363, + "Zoom": 0.57078412980454207 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsUniformDepth.md b/doc/distrib/NodeHelpFiles/DSCore.List.IsUniformDepth.md new file mode 100644 index 00000000000..1ce3b314a94 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.IsUniformDepth.md @@ -0,0 +1,8 @@ +## In Depth +`List.IsUniformDepth` returns a Boolean value based on whether the list's depth is consistent, which means that each list has the same number of lists nested inside of it. + +In the example below, two lists are compared, one of uniform depth and one of non-uniform depth, to show the difference. The uniform list contains three lists with no nested lists. The non-uniform list contains two lists. The first list has no nested lists, but the second one has two nested lists. The lists at [0] and [1] are not equal in depth, so `List.IsUniformDepth` returns False. +___ +## Example File + +![List.IsUniformDepth](./DSCore.List.IsUniformDepth_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.IsUniformDepth_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.IsUniformDepth_img.jpg new file mode 100644 index 00000000000..c3be45a9343 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.IsUniformDepth_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Join.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Join.dyn new file mode 100644 index 00000000000..e0efa827810 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Join.dyn @@ -0,0 +1,327 @@ +{ + "Uuid": "6608dbed-ab63-43af-8b76-8231e428a6c2", + "IsCustomNode": false, + "Description": "", + "Name": "Dynamo.Graph.Nodes.ZeroTouch.DSVarArgFunction", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "b57cf0e5a4104fb6a542dfae0dfab74e", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "647333a64cd74c0594200ac02fd4e59d", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "e1182bc737c948319dfb4887054e3196", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "07a66fd90cba4165b0be7cc12e9cb611", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "7e246873c7f44a049babfa68989a234a", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "1..5..2;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSVarArgFunction, DynamoCore", + "FunctionSignature": "DSCore.List.Join@var[]..[]", + "FunctionType": "VariableArgument", + "Id": "d356f6df0ce44cc3afa43350d0370bdc", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "c4eca4d694fd4b17b4072bc859245819", + "Name": "list0", + "Description": "Lists to join into one.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "2e93f86084f64e0a80eb095f4ca44a94", + "Name": "list1", + "Description": "var[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "da216f699e5e45ea9081071fa1dfa838", + "Name": "list", + "Description": "Joined list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Auto", + "Description": "Concatenates all given lists into a single list.\n\nList.Join (lists: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "a8db1246b8b0433496ca712ac3710b15", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "86064adacb7741a3b860818e6c2b0be1", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "84d31aa8dd704eca876755f44a8ae76d", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "1a320613594a4fd8b720cf5f8b66347f", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "8402a2de6c7e48d7b82061857dabc794", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..4..2;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "ab54c164714b401aa736b8fa7c3ed8e5", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "cc2e5e015578491783c5bfb34b5de179", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8f72fedf83b045e7b131390128f8aff1", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "e1182bc737c948319dfb4887054e3196", + "End": "c4eca4d694fd4b17b4072bc859245819", + "Id": "3a7df184228d4236977b15bfb4496074", + "IsHidden": "False" + }, + { + "Start": "7e246873c7f44a049babfa68989a234a", + "End": "647333a64cd74c0594200ac02fd4e59d", + "Id": "ba51514eb79e438cb4a3d5eb4acd501c", + "IsHidden": "False" + }, + { + "Start": "da216f699e5e45ea9081071fa1dfa838", + "End": "cc2e5e015578491783c5bfb34b5de179", + "Id": "c401586df54f48ba8ad119ed44f4540b", + "IsHidden": "False" + }, + { + "Start": "84d31aa8dd704eca876755f44a8ae76d", + "End": "2e93f86084f64e0a80eb095f4ca44a94", + "Id": "b1066082b9854193b916d3e232a14362", + "IsHidden": "False" + }, + { + "Start": "8402a2de6c7e48d7b82061857dabc794", + "End": "86064adacb7741a3b860818e6c2b0be1", + "Id": "d236cfd3c5eb44f5a5ab5a23881c3aa5", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "b57cf0e5a4104fb6a542dfae0dfab74e", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -238.07357860229502, + "Y": -62.37224358430683 + }, + { + "Id": "07a66fd90cba4165b0be7cc12e9cb611", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -492.073578602295, + "Y": -62.544743584306815 + }, + { + "Id": "d356f6df0ce44cc3afa43350d0370bdc", + "Name": "List.Join", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 138.92642139770498, + "Y": 77.62775641569317 + }, + { + "Id": "a8db1246b8b0433496ca712ac3710b15", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -238.07357860229502, + "Y": 251.6277564156932 + }, + { + "Id": "1a320613594a4fd8b720cf5f8b66347f", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -492.073578602295, + "Y": 251.45525641569319 + }, + { + "Id": "ab54c164714b401aa736b8fa7c3ed8e5", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 460.926421397705, + "Y": 77.62775641569317 + } + ], + "Annotations": [], + "X": 354.82414109605759, + "Y": 193.76938771530305, + "Zoom": 0.49960308430225236 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Join.md b/doc/distrib/NodeHelpFiles/DSCore.List.Join.md new file mode 100644 index 00000000000..791cf18c5c6 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Join.md @@ -0,0 +1,9 @@ +## In Depth +`List.Join` combines the input lists into a single list. You can adjust the number of input lists by using the + and - buttons on the Join node. + +In the example below, we first use two code blocks to generate two ranges of numbers. The first list is odd numbers [1,3,5], and the second is even numbers [0,2,4]. With the `List.Join` node, we can join these two lists into a single list [1,3,5,0,2,4]. + +___ +## Example File + +![List.Join](./DSCore.List.Join_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Join_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Join_img.jpg new file mode 100644 index 00000000000..7e1b4296c0e Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Join_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.LastItem.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.LastItem.dyn new file mode 100644 index 00000000000..9104e152ac5 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.LastItem.dyn @@ -0,0 +1,372 @@ +{ + "Uuid": "b26c39da-16fa-4617-92be-e6239a376dd1", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.LastItem", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "2f8c8eceda354487b19757b59bc24d42", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "827a3693ff4e4d21b039cfdfb12c7f5d", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9db9dea4d475423c8bf46975d6c11058", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 28.0, + "WatchHeight": 38.0, + "Id": "00e00b60e0c84a7c909d6c17d82d4b08", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "b537094a7a4c4e6389fd7eca74f5891a", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "78607c5200a847e7baaafd753531979a", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "29dc247a93174765af43a90eb531240d", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "e640ea79b8324c5d81e07c73fe1a0b87", + "Name": "amount", + "Description": "Amount of random numbers the result list will contain.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "07689dd5ca6844f8b3fdceda72a0984d", + "Name": "number", + "Description": "List of random numbers between 0 and 1.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.RandomList@int", + "Replication": "Auto", + "Description": "Produces a list containing the given amount of random doubles in the range of [0, 1).\n\nMath.RandomList (amount: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "3f61c6b9ef234077a5d0db1c09b420e8", + "NodeType": "CodeBlockNode", + "Inputs": [ + { + "Id": "714fe55901b740b8937adf817bbe9cbd", + "Name": "x", + "Description": "x", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8bc92bb7c5334687a5a817fb2ea98fce", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "x*5;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "9cea1fb43d7242eb929636675a36cb43", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "89e913e889444534a5d8ceccccc74a31", + "Name": "number", + "Description": "Number to round down\n\ndouble", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9c7329b4b58c412485dfc5f1d756b388", + "Name": "int", + "Description": "First integer smaller than the number", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.Floor@double", + "Replication": "Auto", + "Description": "Returns the first integer smaller than the number.\n\nMath.Floor (number: double): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "bfa3aebf48c145968a04da51dfb844a9", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "7557c58584d747408b1c85b8d74fd144", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "10;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "89c4465f794043b3bff8c6b98b7c0c96", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "fea30635705b45b1b463a1e50688989c", + "Name": "list", + "Description": "List to get the last item of\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0113153eafeb4cc198361b9551d18510", + "Name": "item", + "Description": "Last item in the list", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.LastItem@var[]..[]", + "Replication": "Auto", + "Description": "Retrieves the last item in a list.\n\nList.LastItem (list: var[]..[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "9db9dea4d475423c8bf46975d6c11058", + "End": "fea30635705b45b1b463a1e50688989c", + "Id": "bee4ef8ebe564711afa23a0bd1db3767", + "IsHidden": "False" + }, + { + "Start": "07689dd5ca6844f8b3fdceda72a0984d", + "End": "714fe55901b740b8937adf817bbe9cbd", + "Id": "26d78d591b904e8f81ba9ca95692cea1", + "IsHidden": "False" + }, + { + "Start": "8bc92bb7c5334687a5a817fb2ea98fce", + "End": "89e913e889444534a5d8ceccccc74a31", + "Id": "ef6587e18ee1410eb023bc5855a31d31", + "IsHidden": "False" + }, + { + "Start": "9c7329b4b58c412485dfc5f1d756b388", + "End": "827a3693ff4e4d21b039cfdfb12c7f5d", + "Id": "cb68150f194245b4a3a8c304a7bd2796", + "IsHidden": "False" + }, + { + "Start": "7557c58584d747408b1c85b8d74fd144", + "End": "e640ea79b8324c5d81e07c73fe1a0b87", + "Id": "50b825778543477fa89b2ac61082941c", + "IsHidden": "False" + }, + { + "Start": "0113153eafeb4cc198361b9551d18510", + "End": "b537094a7a4c4e6389fd7eca74f5891a", + "Id": "3b3adf2b1551472cb4437e2ff1c51825", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "2f8c8eceda354487b19757b59bc24d42", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 298.294217450484, + "Y": 19.657318184732986 + }, + { + "Id": "00e00b60e0c84a7c909d6c17d82d4b08", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 951.294217450484, + "Y": 19.657318184732986 + }, + { + "Id": "29dc247a93174765af43a90eb531240d", + "Name": "Math.RandomList", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -569.705782549516, + "Y": 19.484818184733 + }, + { + "Id": "3f61c6b9ef234077a5d0db1c09b420e8", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -248.70578254951602, + "Y": 19.484818184733 + }, + { + "Id": "9cea1fb43d7242eb929636675a36cb43", + "Name": "Math.Floor", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 5.2942174504839841, + "Y": 19.657318184732986 + }, + { + "Id": "bfa3aebf48c145968a04da51dfb844a9", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -823.705782549516, + "Y": 19.312318184732987 + }, + { + "Id": "89c4465f794043b3bff8c6b98b7c0c96", + "Name": "List.LastItem", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 676.22589443634138, + "Y": 19.657318184732986 + } + ], + "Annotations": [], + "X": 589.58036785984029, + "Y": 227.13577591887656, + "Zoom": 0.67934495509772852 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.LastItem.md b/doc/distrib/NodeHelpFiles/DSCore.List.LastItem.md new file mode 100644 index 00000000000..08a46bae0ac --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.LastItem.md @@ -0,0 +1,8 @@ +## In Depth +`List.LastItem` returns the last item in an input list. + +In the example below, we generate a list of 10 random numbers between 0 and 5. We then use a `List.LastItem` node to return the last item of the list. +___ +## Example File + +![List.LastItem](./DSCore.List.LastItem_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.LastItem_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.LastItem_img.jpg new file mode 100644 index 00000000000..ed8733b52a1 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.LastItem_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.MaximumItem.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.MaximumItem.dyn new file mode 100644 index 00000000000..2268da62aaf --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.MaximumItem.dyn @@ -0,0 +1,372 @@ +{ + "Uuid": "afcf5036-3002-46c5-a36e-25c4da12e1c9", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.MaximumItem", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "0c676d0b0a4546b88c0843e176d58d57", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "c6197fc6c72b4f3ea700d8b46aa1beef", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "a5d3ed0eedcc442fb7b5ba4fa0aa2a71", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 35.0, + "WatchHeight": 38.0, + "Id": "f41b65fefa6c4aa7a082d4f47a7906c1", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "4502b5f26fb1498b97d0da7430c55a50", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d0af9821cad44ee8b58dd6caa55942ff", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "f3e07f0d122e43169cfcc0007e83b219", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "18e6fc5f829f4d629b1c6f4a59c99c03", + "Name": "amount", + "Description": "Amount of random numbers the result list will contain.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "028f7516ed174a4183dfabf69db6ee71", + "Name": "number", + "Description": "List of random numbers between 0 and 1.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.RandomList@int", + "Replication": "Auto", + "Description": "Produces a list containing the given amount of random doubles in the range of [0, 1).\n\nMath.RandomList (amount: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "7f13163ed3a54ba4978debc1a3cafa5f", + "NodeType": "CodeBlockNode", + "Inputs": [ + { + "Id": "d00176b6ae00476bafd693bc393f13b3", + "Name": "x", + "Description": "x", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "da86f80fbca2451aabac24236591fee2", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "x*50;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "8eab9999f5ec400ebc5813ea14c71fc0", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "4f278c1c7edd431cbfc4803ba5942550", + "Name": "number", + "Description": "Number to round down\n\ndouble", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "8bd167d072e64de0bd3ed455b5419892", + "Name": "int", + "Description": "First integer smaller than the number", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.Floor@double", + "Replication": "Auto", + "Description": "Returns the first integer smaller than the number.\n\nMath.Floor (number: double): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "89f2d277366e460eb072541e043f2e97", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "2156abe259fd4a2697fa5de3ec8432e6", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "10;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "79f19e32db714a84a3362753c96a9e57", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "092ad21b77114f0db877622d2ce9f64f", + "Name": "list", + "Description": "List of comparable items to take the maximum value from\n\nvar[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "72fa0ff6028643f8bed6f0959a06c223", + "Name": "item", + "Description": "Maximum item from the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.MaximumItem@var[]", + "Replication": "Auto", + "Description": "Returns the maximum value from a list.\n\nList.MaximumItem (list: var[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "a5d3ed0eedcc442fb7b5ba4fa0aa2a71", + "End": "092ad21b77114f0db877622d2ce9f64f", + "Id": "3bb7fdb9efc742329d270ddf207c4daa", + "IsHidden": "False" + }, + { + "Start": "028f7516ed174a4183dfabf69db6ee71", + "End": "d00176b6ae00476bafd693bc393f13b3", + "Id": "ea8d01852a6d4eeabe99ea7a8b6b3c2c", + "IsHidden": "False" + }, + { + "Start": "da86f80fbca2451aabac24236591fee2", + "End": "4f278c1c7edd431cbfc4803ba5942550", + "Id": "6cbbb195504542b980f70f48f9385655", + "IsHidden": "False" + }, + { + "Start": "8bd167d072e64de0bd3ed455b5419892", + "End": "c6197fc6c72b4f3ea700d8b46aa1beef", + "Id": "33ae35bacb3e4622901960a282eeaed7", + "IsHidden": "False" + }, + { + "Start": "2156abe259fd4a2697fa5de3ec8432e6", + "End": "18e6fc5f829f4d629b1c6f4a59c99c03", + "Id": "6e7b1176ce124a67afcdf8391780578d", + "IsHidden": "False" + }, + { + "Start": "72fa0ff6028643f8bed6f0959a06c223", + "End": "4502b5f26fb1498b97d0da7430c55a50", + "Id": "47b654f6c67e4964983cbdb8f8c3d8da", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "0c676d0b0a4546b88c0843e176d58d57", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 286.16378246138549, + "Y": 19.656272907786132 + }, + { + "Id": "f41b65fefa6c4aa7a082d4f47a7906c1", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 975.16378246138549, + "Y": 19.656272907786132 + }, + { + "Id": "f3e07f0d122e43169cfcc0007e83b219", + "Name": "Math.RandomList", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -581.83621753861451, + "Y": 19.483772907786147 + }, + { + "Id": "7f13163ed3a54ba4978debc1a3cafa5f", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -260.83621753861451, + "Y": 19.483772907786147 + }, + { + "Id": "8eab9999f5ec400ebc5813ea14c71fc0", + "Name": "Math.Floor", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -6.8362175386145054, + "Y": 19.656272907786132 + }, + { + "Id": "89f2d277366e460eb072541e043f2e97", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -835.83621753861451, + "Y": 19.311272907786133 + }, + { + "Id": "79f19e32db714a84a3362753c96a9e57", + "Name": "List.MaximumItem", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 663.16378246138549, + "Y": 19.656272907786132 + } + ], + "Annotations": [], + "X": 587.22414502574293, + "Y": 229.17748472814259, + "Zoom": 0.66666666666666663 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.MaximumItem.md b/doc/distrib/NodeHelpFiles/DSCore.List.MaximumItem.md new file mode 100644 index 00000000000..a2b113691e9 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.MaximumItem.md @@ -0,0 +1,8 @@ +## In Depth +`List.MaximumItem` searches through a list of values and returns the item with the highest value. + +In the example below, we generate a list of 10 random numbers between 0 and 49. We then use a `List.MaximumItem` node to find the largest item in the list. +___ +## Example File + +![List.MaximumItem](./DSCore.List.MaximumItem_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.MaximumItem_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.MaximumItem_img.jpg new file mode 100644 index 00000000000..97ebbd52933 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.MaximumItem_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.MinimumItem.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.MinimumItem.dyn new file mode 100644 index 00000000000..0b00b6a57fb --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.MinimumItem.dyn @@ -0,0 +1,372 @@ +{ + "Uuid": "8c3d6a1c-7f42-4741-9a4a-3ec04abcb613", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.MinimumItem", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "146c265913404c64ac30cfb78d228fe5", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "cca677ccea644b8abc5eec937bb34226", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0e4614bde21649c997984080c1e74102", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 28.0, + "WatchHeight": 38.0, + "Id": "7d1e5eea04024e1498b3ba63e4e784da", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "ff1c209f0d55428e943a42b71ed792c2", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "fba4829bcfd741abac51d37181ac5f60", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "a40e33a67bd945759b980e2133d94a92", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "816fbd11cf2f45beb8dd8969388cd696", + "Name": "amount", + "Description": "Amount of random numbers the result list will contain.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0e0d89f1c17b4874821115f83372671f", + "Name": "number", + "Description": "List of random numbers between 0 and 1.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.RandomList@int", + "Replication": "Auto", + "Description": "Produces a list containing the given amount of random doubles in the range of [0, 1).\n\nMath.RandomList (amount: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "43faeb4471764c62a82da4f0de90eefb", + "NodeType": "CodeBlockNode", + "Inputs": [ + { + "Id": "18956641dc304c648556807bd711e54c", + "Name": "x", + "Description": "x", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ea69295ff2e4496f83f81fd2f6ffc702", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "x*50;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "0cca7ba03e934011ba289d382d61a9ad", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "90b1a510eaa34d2ea01559be7bbd18fa", + "Name": "number", + "Description": "Number to round down\n\ndouble", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "557a8c4a13b94031b7fe3fea163478d6", + "Name": "int", + "Description": "First integer smaller than the number", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.Floor@double", + "Replication": "Auto", + "Description": "Returns the first integer smaller than the number.\n\nMath.Floor (number: double): int" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "4e1ce64d782648a58c42e6daff47a4a3", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "abba3e159a89458792a144768d6513b4", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "10;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "68d43694fb70442ba880343ab9c4d654", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "691f08c66660447791084b2e74fb4ba7", + "Name": "list", + "Description": "List of comparable items to take the minimum value from\n\nvar[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c4c8facefbd24f30b6f4a92dc134b80f", + "Name": "item", + "Description": "Minimum item from the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.MinimumItem@var[]", + "Replication": "Auto", + "Description": "Returns the minimum value from a list.\n\nList.MinimumItem (list: var[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "0e4614bde21649c997984080c1e74102", + "End": "691f08c66660447791084b2e74fb4ba7", + "Id": "fedf590fdbe94330a598526d2815d7c5", + "IsHidden": "False" + }, + { + "Start": "0e0d89f1c17b4874821115f83372671f", + "End": "18956641dc304c648556807bd711e54c", + "Id": "c9dc678b1a1844029986b3cbfefafd6f", + "IsHidden": "False" + }, + { + "Start": "ea69295ff2e4496f83f81fd2f6ffc702", + "End": "90b1a510eaa34d2ea01559be7bbd18fa", + "Id": "ed146c7854aa4b5da063870af9ac6748", + "IsHidden": "False" + }, + { + "Start": "557a8c4a13b94031b7fe3fea163478d6", + "End": "cca677ccea644b8abc5eec937bb34226", + "Id": "923d65f50df1479d9da401af3b4e9930", + "IsHidden": "False" + }, + { + "Start": "abba3e159a89458792a144768d6513b4", + "End": "816fbd11cf2f45beb8dd8969388cd696", + "Id": "dda4fc3a7e7443fb89562ce7d3562394", + "IsHidden": "False" + }, + { + "Start": "c4c8facefbd24f30b6f4a92dc134b80f", + "End": "ff1c209f0d55428e943a42b71ed792c2", + "Id": "5162ad51344b439983046aee77ff713c", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "146c265913404c64ac30cfb78d228fe5", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 287.66378246138549, + "Y": 19.706991293314331 + }, + { + "Id": "7d1e5eea04024e1498b3ba63e4e784da", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 973.66378246138549, + "Y": 19.706991293314331 + }, + { + "Id": "a40e33a67bd945759b980e2133d94a92", + "Name": "Math.RandomList", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -580.33621753861451, + "Y": 19.534491293314346 + }, + { + "Id": "43faeb4471764c62a82da4f0de90eefb", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -259.33621753861451, + "Y": 19.534491293314346 + }, + { + "Id": "0cca7ba03e934011ba289d382d61a9ad", + "Name": "Math.Floor", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -5.3362175386145054, + "Y": 19.706991293314331 + }, + { + "Id": "4e1ce64d782648a58c42e6daff47a4a3", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -834.33621753861451, + "Y": 19.361991293314333 + }, + { + "Id": "68d43694fb70442ba880343ab9c4d654", + "Name": "List.MinimumItem", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 664.66378246138549, + "Y": 19.706991293314331 + } + ], + "Annotations": [], + "X": 577.81682054690691, + "Y": 211.52027647790487, + "Zoom": 0.53830836930333847 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.MinimumItem.md b/doc/distrib/NodeHelpFiles/DSCore.List.MinimumItem.md new file mode 100644 index 00000000000..52bd5220ee5 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.MinimumItem.md @@ -0,0 +1,8 @@ +## In Depth +`List.MinimumItem` searches through a list of values and returns the item with the smallest value. + +In the example below, we generate a list of 10 random numbers between 0 and 49. We then use a `MinimumItem` node to find the smallest item in the list. +___ +## Example File + +![List.MinimumItem](./DSCore.List.MinimumItem_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.MinimumItem_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.MinimumItem_img.jpg new file mode 100644 index 00000000000..3a7cfe34ce2 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.MinimumItem_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.OfRepeatedItem.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.OfRepeatedItem.dyn new file mode 100644 index 00000000000..27bf853504e --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.OfRepeatedItem.dyn @@ -0,0 +1,232 @@ +{ + "Uuid": "745d27aa-6fd8-487c-8635-9388cf1697b4", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.OfRepeatedItem", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "385eb607a0f94f1485f247bd265481f3", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "c9414a63f8e94fd5b6733fdcd18cfe6a", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "4;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "deefe4f34ec34b648b77442c82597fb1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "95ce9ff222654a859a8a9d1286dfbd1a", + "Name": "item", + "Description": "The item to repeat.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "5d9197737f694854957975668c695dd8", + "Name": "amount", + "Description": "The number of times to repeat.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "e0c5393031dd44689271e8c6e412b5e8", + "Name": "list", + "Description": "List of repeated items.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.OfRepeatedItem@var[]..[],int", + "Replication": "Auto", + "Description": "Creates a list containing the given item the given number of times.\n\nList.OfRepeatedItem (item: var[]..[], amount: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "b3c7d2e85f74483599c97a8e6f0e93f2", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "c91ba401a3844f6da22cdc131d617b05", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "10;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 216.0, + "WatchHeight": 252.0, + "Id": "e6559e7ee1704b58a92620103582c694", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "0af21007b5ca4551a71891b28f3da377", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "35d4dfc91b7b49069b06ee647f148743", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "c9414a63f8e94fd5b6733fdcd18cfe6a", + "End": "95ce9ff222654a859a8a9d1286dfbd1a", + "Id": "ea7f2eb36e5c4b9a86a8720d0825c046", + "IsHidden": "False" + }, + { + "Start": "e0c5393031dd44689271e8c6e412b5e8", + "End": "0af21007b5ca4551a71891b28f3da377", + "Id": "03b55aa01b3241ef8cd0d7d229c53a0f", + "IsHidden": "False" + }, + { + "Start": "c91ba401a3844f6da22cdc131d617b05", + "End": "5d9197737f694854957975668c695dd8", + "Id": "d25638a3b77b4b68b6bf4b9f4bd9da3f", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "385eb607a0f94f1485f247bd265481f3", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -239.980657128281, + "Y": 6.9859110867535037 + }, + { + "Id": "deefe4f34ec34b648b77442c82597fb1", + "Name": "List.OfRepeatedItem", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 14.019342871719005, + "Y": 64.158411086753517 + }, + { + "Id": "b3c7d2e85f74483599c97a8e6f0e93f2", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -239.980657128281, + "Y": 154.9859110867535 + }, + { + "Id": "e6559e7ee1704b58a92620103582c694", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 342.23429077036451, + "Y": 61.728515289462166 + } + ], + "Annotations": [], + "X": 237.06544241972972, + "Y": 125.76379987287018, + "Zoom": 0.82308056264365181 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.OfRepeatedItem.md b/doc/distrib/NodeHelpFiles/DSCore.List.OfRepeatedItem.md new file mode 100644 index 00000000000..2a189c3ff05 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.OfRepeatedItem.md @@ -0,0 +1,11 @@ +## In Depth +`List.OfRepeatedItem` creates a list by repeating a given item a number of times specified by the amount input. + +In the example below, we create a list consisting of the number 4 repeated 10 times. + + + +___ +## Example File + +![List.OfRepeatedItem](./DSCore.List.OfRepeatedItem_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.OfRepeatedItem_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.OfRepeatedItem_img.jpg new file mode 100644 index 00000000000..574d155ea32 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.OfRepeatedItem_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Permutations.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Permutations.dyn new file mode 100644 index 00000000000..74e51efc49e --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Permutations.dyn @@ -0,0 +1,279 @@ +{ + "Uuid": "67a4d078-2f6c-43c2-bc7c-976405648b40", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Permutations", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "9ebdfc4bffa84f86baa297f7dbdd470d", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "45cbcafe394742aa80f8035d2c5e4376", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "dd99cbd11a6e4034885e0e31dc630171", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "89150087874b469f8942c2225fc5cae5", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0c2a75c1822441bbaedb5bdc8e6eeb30", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 216.0, + "WatchHeight": 360.0, + "Id": "0f77fe71369a47059dc4d827e77fba6c", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5dee53ae7db340bdb71d6b07e408c60c", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "60251500f518436eaae6a8430781f54a", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "3dd466fca733400088bd605d92c82784", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "857263adfed345c0816361e3aa2dacf5", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "3;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "a8a9d2f51cc84b798a7b615bd91bd10e", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "a1961c27849840d49e8a65e7f842ea30", + "Name": "list", + "Description": "List to permute.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "2084c83d1d6145d3bc9d4c588de0125e", + "Name": "length", + "Description": "Length of each permutation.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "4edc44f3f4904e31b97aaf8c2f6537ad", + "Name": "permutations", + "Description": "Permutations of the list of the given length (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Permutations@var[]..[],int", + "Replication": "Auto", + "Description": "Produces all permutations of the given length of a given list.\n\nList.Permutations (list: var[]..[], length: int): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "45cbcafe394742aa80f8035d2c5e4376", + "End": "89150087874b469f8942c2225fc5cae5", + "Id": "22179e87c83942cfad5a8ac0f8d853e1", + "IsHidden": "False" + }, + { + "Start": "0c2a75c1822441bbaedb5bdc8e6eeb30", + "End": "a1961c27849840d49e8a65e7f842ea30", + "Id": "dec026fd13e4421c873a1dc1a926970b", + "IsHidden": "False" + }, + { + "Start": "857263adfed345c0816361e3aa2dacf5", + "End": "2084c83d1d6145d3bc9d4c588de0125e", + "Id": "de7e65dd132e43dbb45179c9aef06064", + "IsHidden": "False" + }, + { + "Start": "4edc44f3f4904e31b97aaf8c2f6537ad", + "End": "5dee53ae7db340bdb71d6b07e408c60c", + "Id": "5f7cf92a550d4e05b80c3be2600bf9a1", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "9ebdfc4bffa84f86baa297f7dbdd470d", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -199.9045156296965, + "Y": 252.49181227385293 + }, + { + "Id": "dd99cbd11a6e4034885e0e31dc630171", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 54.095484370303495, + "Y": 252.66431227385294 + }, + { + "Id": "0f77fe71369a47059dc4d827e77fba6c", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 760.30028930240042, + "Y": 259.82958764589182 + }, + { + "Id": "3dd466fca733400088bd605d92c82784", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 54.095484370303495, + "Y": 566.49181227385293 + }, + { + "Id": "a8a9d2f51cc84b798a7b615bd91bd10e", + "Name": "List.Permutations", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 431.0954843703035, + "Y": 392.66431227385294 + } + ], + "Annotations": [], + "X": 161.90130694039374, + "Y": 28.7428505105499, + "Zoom": 0.56558884941769572 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Permutations.md b/doc/distrib/NodeHelpFiles/DSCore.List.Permutations.md new file mode 100644 index 00000000000..70ec75bfd26 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Permutations.md @@ -0,0 +1,8 @@ +## In Depth +`List.Permutations` creates a nested list consisting of all permutations of a given length from a given input list. + +In the example below, we use a code block to create a range of numbers from 0 to 5, stepping by 1. We then use a `List.Permutations` node with a Length input of 3 to generate all permutations of 3 elements from the range [0,1,2,3,4,5]. +___ +## Example File + +![List.Permutations](./DSCore.List.Permutations_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Permutations_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Permutations_img.jpg new file mode 100644 index 00000000000..c74059070dc Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Permutations_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.RemoveItemAtIndex.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.RemoveItemAtIndex.dyn new file mode 100644 index 00000000000..7a848fc7584 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.RemoveItemAtIndex.dyn @@ -0,0 +1,279 @@ +{ + "Uuid": "d4d700d3-833d-48a5-b839-6f3366df398a", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.RemoveItemAtIndex", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "96f3933bc6ba4aafa4388de1a6ed9b9c", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "b46f2136189a4649bf06a8a3d6efe99c", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "451364ba43944b6fa2ac0f0e2e91138e", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "dd68b0624ec14d1ea4b12d90cbe6b642", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "5e13325ee0c846ceacbed72095073a60", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "ba62d0c5efad4bc6836b7806cd3f6933", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a67da6c6ecc24cf598c02a076ddf3d38", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f14f051c45ec4c0980b025bbf16625f8", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "ce439b1c596f4827b1c4942f19f7114c", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "2d6aa5ceb8ba4cde827a52d3a1ad3457", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "3;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "ef8a1116cc6c477789fd101693ecb754", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "e3d1dbec1d6040088e2fbc8a41038a71", + "Name": "list", + "Description": "List to remove an item or items from.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "f7cfc85846dd4100aa40e9d1a803a80c", + "Name": "indices", + "Description": "Index or indices of the item(s) to be removed.\n\nint[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "76a9a66d841a47fc91c4ad34a8706e1d", + "Name": "list", + "Description": "List with items removed.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.RemoveItemAtIndex@var[]..[],int[]", + "Replication": "Auto", + "Description": "Removes an item from the given list at the specified index.\n\nList.RemoveItemAtIndex (list: var[]..[], indices: int[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "b46f2136189a4649bf06a8a3d6efe99c", + "End": "dd68b0624ec14d1ea4b12d90cbe6b642", + "Id": "a2fb286fd2c24da4941ffce15025ab2e", + "IsHidden": "False" + }, + { + "Start": "5e13325ee0c846ceacbed72095073a60", + "End": "e3d1dbec1d6040088e2fbc8a41038a71", + "Id": "1d3e3f1e4b534520a3aecfa5b8eebb04", + "IsHidden": "False" + }, + { + "Start": "2d6aa5ceb8ba4cde827a52d3a1ad3457", + "End": "f7cfc85846dd4100aa40e9d1a803a80c", + "Id": "c291be4e147741babe84a03fbc603501", + "IsHidden": "False" + }, + { + "Start": "76a9a66d841a47fc91c4ad34a8706e1d", + "End": "a67da6c6ecc24cf598c02a076ddf3d38", + "Id": "e2b15c37cd9c41429a12cff881bb0548", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "96f3933bc6ba4aafa4388de1a6ed9b9c", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -205.9045156296965, + "Y": 252.49181227385293 + }, + { + "Id": "451364ba43944b6fa2ac0f0e2e91138e", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 48.095484370303495, + "Y": 252.66431227385294 + }, + { + "Id": "ba62d0c5efad4bc6836b7806cd3f6933", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 783.09548437030344, + "Y": 392.66431227385294 + }, + { + "Id": "ce439b1c596f4827b1c4942f19f7114c", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 48.095484370303495, + "Y": 566.49181227385293 + }, + { + "Id": "ef8a1116cc6c477789fd101693ecb754", + "Name": "List.RemoveItemAtIndex", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 425.0954843703035, + "Y": 392.66431227385294 + } + ], + "Annotations": [], + "X": 239.15735157961274, + "Y": -138.88504785479853, + "Zoom": 1.0157977883096367 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.RemoveItemAtIndex.md b/doc/distrib/NodeHelpFiles/DSCore.List.RemoveItemAtIndex.md new file mode 100644 index 00000000000..e0d7fa53e73 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.RemoveItemAtIndex.md @@ -0,0 +1,8 @@ +## In Depth +`List.RemoveItemAtIndex` removes items from an input list at a given index or indices. + +In the example below, we start with a range of numbers from 0 to 5. We then remove the item with index 3. +___ +## Example File + +![List.RemoveItemAtIndex](./DSCore.List.RemoveItemAtIndex_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.RemoveItemAtIndex_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.RemoveItemAtIndex_img.jpg new file mode 100644 index 00000000000..9f3fb4c89aa Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.RemoveItemAtIndex_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.RestOfItems.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.RestOfItems.dyn new file mode 100644 index 00000000000..a54e20724c6 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.RestOfItems.dyn @@ -0,0 +1,234 @@ +{ + "Uuid": "4ad4a2b7-d346-4d31-bf4f-8d3be7e6ae99", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.RestOfItems", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "010f50f7419a457b8d6e037803e610ff", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "e13fc87807a946c4a922eb95253d7854", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "94aa4de55d6a410db2c700bb86e2bb9a", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "e2051c1c143845e68d1541f82c45d524", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "7156b805bea0497b845704741661e82a", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "9ff5e57c765c40f5aa6746b2b4193076", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "86474e1f45434beea8ce1594aeecffe6", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1e1bb04db1c540ad8a5152eeca706e6e", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "9255b90f444d4d6aa637d38e80e9a86a", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "76de993ead7649f38c47fc8e754f843a", + "Name": "list", + "Description": "List to get the rest of.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "cd6143b8da9f491faed492f5f513403b", + "Name": "rest", + "Description": "Rest of the list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.RestOfItems@var[]..[]", + "Replication": "Auto", + "Description": "Removes the first item from the given list.\n\nList.RestOfItems (list: var[]..[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "e13fc87807a946c4a922eb95253d7854", + "End": "e2051c1c143845e68d1541f82c45d524", + "Id": "7a7219e3433d49729377b89e1455b0a8", + "IsHidden": "False" + }, + { + "Start": "7156b805bea0497b845704741661e82a", + "End": "76de993ead7649f38c47fc8e754f843a", + "Id": "1c788a0525ee446a9b86867cbd8ec31a", + "IsHidden": "False" + }, + { + "Start": "cd6143b8da9f491faed492f5f513403b", + "End": "86474e1f45434beea8ce1594aeecffe6", + "Id": "a1ce92e24c6f4c1d9c310995e3f94d1a", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "010f50f7419a457b8d6e037803e610ff", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -177.68116623246721, + "Y": 316.648488261978 + }, + { + "Id": "94aa4de55d6a410db2c700bb86e2bb9a", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 76.3188337675328, + "Y": 316.820988261978 + }, + { + "Id": "9ff5e57c765c40f5aa6746b2b4193076", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 750.31883376753285, + "Y": 316.820988261978 + }, + { + "Id": "9255b90f444d4d6aa637d38e80e9a86a", + "Name": "List.RestOfItems", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 453.31883376753279, + "Y": 316.820988261978 + } + ], + "Annotations": [], + "X": 393.22324500216956, + "Y": 0.76610282334598878, + "Zoom": 0.75708374481327789 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.RestOfItems.md b/doc/distrib/NodeHelpFiles/DSCore.List.RestOfItems.md new file mode 100644 index 00000000000..9db8c77e024 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.RestOfItems.md @@ -0,0 +1,8 @@ +## In Depth +`List.RestOfItems` removes the first element from a list and returns the remaining elements in a new list. + +In the example below, we start with a range of numbers from 0 to 5, stepping by 1. By using a `List.RestOfItems` node, we remove the first item on the list, and the output is a list of numbers from 1 to 5. +___ +## Example File + +![List.RestOfItems](./DSCore.List.RestOfItems_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.RestOfItems_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.RestOfItems_img.jpg new file mode 100644 index 00000000000..b0035fb4137 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.RestOfItems_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.SetDifference.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.SetDifference.dyn new file mode 100644 index 00000000000..cc7e7cbbba9 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.SetDifference.dyn @@ -0,0 +1,326 @@ +{ + "Uuid": "4607f854-4a56-4d73-9339-2c09959520e1", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.SetDifference", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "ace017498fce4e5e9065f879ac78b22d", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "52fbeb772b214f44a1fb72cadde0404e", + "Name": "list1", + "Description": "List of objects to be included in the new list\n\nvar[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "6031f5b0a1d64135bc20be57dafe02af", + "Name": "list2", + "Description": "List of objects to be excluded in the new list\n\nvar[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "61f975dca052434f9f56dbed852df9de", + "Name": "list", + "Description": "The new list that contains objects in List1 but not in List2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.SetDifference@var[],var[]", + "Replication": "Auto", + "Description": "Returns a new list that includes objects in List1 but excludes objects in List2.\n\nList.SetDifference (list1: var[], list2: var[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "1b28603b90354184b32b8ccc47609e25", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "d67a50ba40b445c19bead5823b39b932", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..9..#10;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "69ba72968d2a4754a803c1c05fd06b9f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "c5cc9cb424d9479aa09a48da5abb11de", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "4763c6e005b3410dadc8f0c4c305ec8c", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "17c90b66b1e04907889da40493817637", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "38d79adc78e44a5784cfc8cc23b02821", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "bad2d32f05894fd1a6e579549d940538", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "dba206003b1c4cd79f0195167d1700ea", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "05a3846531a0483ba49e38256ae52279", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..18..#10;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "255fe316f4b14e7b8480e26cc03800bb", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "8d894d3ca57f46f9ab79852e7bbeadc1", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b6da600239154cf28eb50cb617dd0210", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "61f975dca052434f9f56dbed852df9de", + "End": "8d894d3ca57f46f9ab79852e7bbeadc1", + "Id": "5e28f798c5704eef9b5aa6239a3f3b91", + "IsHidden": "False" + }, + { + "Start": "d67a50ba40b445c19bead5823b39b932", + "End": "c5cc9cb424d9479aa09a48da5abb11de", + "Id": "df4c9d187d9f4a6795b0a08c1a008430", + "IsHidden": "False" + }, + { + "Start": "4763c6e005b3410dadc8f0c4c305ec8c", + "End": "52fbeb772b214f44a1fb72cadde0404e", + "Id": "1eefa8b51102430ab56a29658c1c3991", + "IsHidden": "False" + }, + { + "Start": "bad2d32f05894fd1a6e579549d940538", + "End": "6031f5b0a1d64135bc20be57dafe02af", + "Id": "4cfb72fa691e4348a6caeb1eb50fdcda", + "IsHidden": "False" + }, + { + "Start": "05a3846531a0483ba49e38256ae52279", + "End": "38d79adc78e44a5784cfc8cc23b02821", + "Id": "e9bb68ecfaed4f37be60c603f2307938", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -10.351632118225098, + "EyeY": 13.915582656860352, + "EyeZ": 16.000629425048828, + "LookX": 16.128910064697266, + "LookY": -8.1650753021240234, + "LookZ": -20.504016876220703, + "UpX": 0.053885128349065781, + "UpY": 0.99619466066360474, + "UpZ": -0.068501941859722137 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "ace017498fce4e5e9065f879ac78b22d", + "Name": "List.SetDifference", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 298.320170685833, + "Y": 3029.3130537581051 + }, + { + "Id": "1b28603b90354184b32b8ccc47609e25", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -349.679829314167, + "Y": 2889.1405537581049 + }, + { + "Id": "69ba72968d2a4754a803c1c05fd06b9f", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -78.679829314167023, + "Y": 2889.3130537581051 + }, + { + "Id": "17c90b66b1e04907889da40493817637", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -78.679829314167023, + "Y": 3203.3130537581051 + }, + { + "Id": "dba206003b1c4cd79f0195167d1700ea", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -349.679829314167, + "Y": 3203.1405537581049 + }, + { + "Id": "255fe316f4b14e7b8480e26cc03800bb", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 603.320170685833, + "Y": 3029.3130537581051 + } + ], + "Annotations": [], + "X": 509.40465788929879, + "Y": -1004.2982039988597, + "Zoom": 0.42493293726678605 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.SetDifference.md b/doc/distrib/NodeHelpFiles/DSCore.List.SetDifference.md new file mode 100644 index 00000000000..8c82383b498 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.SetDifference.md @@ -0,0 +1,8 @@ +## In Depth +`List.SetDifference` returns a new list that includes only those objects from list1 that are not also in list2. + +In the example below, a list of 0 to 9, stepping by 1, is compared to a list of 0 to 18, stepping by 2. `List.SetDifference` returns odd numbers below 10 because they are contained only in List1 and not in List2. +___ +## Example File + +![List.SetDifference](./DSCore.List.SetDifference_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.SetDifference_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.SetDifference_img.jpg new file mode 100644 index 00000000000..c589e140e01 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.SetDifference_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.SetIntersection.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.SetIntersection.dyn new file mode 100644 index 00000000000..33a4a7ca6a9 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.SetIntersection.dyn @@ -0,0 +1,326 @@ +{ + "Uuid": "0c8daa1a-83a3-4d14-874d-87100d76151e", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.SetIntersection", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "30db2ce4e0034d70b9bf7a721a712354", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "cf7f59b348a24066b79bfe245eb90a7c", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..9..#10;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "39c5ad0b34b84964b4993c9ba8cf4b40", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "d54fbaaf6a9041b9acf0c432e1a4879f", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b22b0df79c58455f936585b975b35036", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "9959136d9ee8418d84ff4a9f0635c621", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "b9421f83e21049409c0e3c860d6f6215", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "cf45c56a70354592835f28736b0dbba9", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "f9d3ca93731c48c590445faf93f0e257", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "af2cd66b5d3746a685860b3e62b853fd", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..18..#10;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "3f3758c172cd4d869423221ac1ec18b1", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "0732f0321a234edaae3989b469084ab1", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ef6d14af7334446888512ed3a25fe152", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "33f7c94433b24674a320d3bfdaeeb55f", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "6dec6d6f2c9d407d83d2d71afb6889e6", + "Name": "list1", + "Description": "List of objects to be compared with list2\n\nvar[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "b343248138984b79ba091c7cbb79a7df", + "Name": "list2", + "Description": "List of objects to be compared with list1\n\nvar[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d011ecafa87d441ba75b6a0bd28cadb0", + "Name": "list", + "Description": "The new list that contains objects that are in both List1 and List2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.SetIntersection@var[],var[]", + "Replication": "Auto", + "Description": "Returns a new list that includes objects that are present in both List1 and List2.\n\nList.SetIntersection (list1: var[], list2: var[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "cf7f59b348a24066b79bfe245eb90a7c", + "End": "d54fbaaf6a9041b9acf0c432e1a4879f", + "Id": "3d64d852220549d18b183a83dc951655", + "IsHidden": "False" + }, + { + "Start": "b22b0df79c58455f936585b975b35036", + "End": "6dec6d6f2c9d407d83d2d71afb6889e6", + "Id": "5c2c39f7af3a4dc9af4061e3afcc4a8d", + "IsHidden": "False" + }, + { + "Start": "cf45c56a70354592835f28736b0dbba9", + "End": "b343248138984b79ba091c7cbb79a7df", + "Id": "53650887c453429598b01c345989feb9", + "IsHidden": "False" + }, + { + "Start": "af2cd66b5d3746a685860b3e62b853fd", + "End": "b9421f83e21049409c0e3c860d6f6215", + "Id": "ac4ff50b7e534b89982457d105f3ada1", + "IsHidden": "False" + }, + { + "Start": "d011ecafa87d441ba75b6a0bd28cadb0", + "End": "0732f0321a234edaae3989b469084ab1", + "Id": "6fb0133bdd524dd99ca866751de0d936", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -10.351632118225098, + "EyeY": 13.915582656860352, + "EyeZ": 16.000629425048828, + "LookX": 16.128910064697266, + "LookY": -8.1650753021240234, + "LookZ": -20.504016876220703, + "UpX": 0.053885128349065781, + "UpY": 0.99619466066360474, + "UpZ": -0.068501941859722137 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "30db2ce4e0034d70b9bf7a721a712354", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -357.679829314167, + "Y": 2889.1405537581049 + }, + { + "Id": "39c5ad0b34b84964b4993c9ba8cf4b40", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -86.679829314167023, + "Y": 2889.3130537581051 + }, + { + "Id": "9959136d9ee8418d84ff4a9f0635c621", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -86.679829314167023, + "Y": 3203.3130537581051 + }, + { + "Id": "f9d3ca93731c48c590445faf93f0e257", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -357.679829314167, + "Y": 3203.1405537581049 + }, + { + "Id": "3f3758c172cd4d869423221ac1ec18b1", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 611.320170685833, + "Y": 3029.3130537581051 + }, + { + "Id": "33f7c94433b24674a320d3bfdaeeb55f", + "Name": "List.SetIntersection", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 290.320170685833, + "Y": 3029.3130537581051 + } + ], + "Annotations": [], + "X": 400.64776571189134, + "Y": -2935.7145288065308, + "Zoom": 1.0265040670827941 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.SetIntersection.md b/doc/distrib/NodeHelpFiles/DSCore.List.SetIntersection.md new file mode 100644 index 00000000000..1560114cdbf --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.SetIntersection.md @@ -0,0 +1,8 @@ +## In Depth +`List.SetIntersection` returns a new list that includes only the objects contained in both input lists. + +In the example below, `List.SetIntersection` compares a list of 0 to 9, stepping by 1, to a list of 0 to 18, stepping by 2. Even numbers below 10 are returned because they are contained in both List1 and List2. +___ +## Example File + +![List.SetIntersection](./DSCore.List.SetIntersection_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.SetIntersection_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.SetIntersection_img.jpg new file mode 100644 index 00000000000..7f7fd1178b0 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.SetIntersection_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.SetUnion.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.SetUnion.dyn new file mode 100644 index 00000000000..c97f3997348 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.SetUnion.dyn @@ -0,0 +1,326 @@ +{ + "Uuid": "18f34931-19c8-4566-b86e-4bedd71546f3", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.SetUnion", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "34ffc137c9df474983855fbc1529470e", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "74c5095613584b89be22f6f237f13f6a", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..9..#10;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "f3a98bb5dc8f49099cf5c124abdb8ef6", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "df10f15308ec4840b8e641d004e71f16", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "e9f3a269b8e74b1e93758d5acd3ef430", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "eedc0571e6d94949872955c661f5c294", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "0efc80ccf92e416089a0fcf3a5f66f7f", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "5083453812394662b7a6f3a473841cb7", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "c96374ab3fe4484aabc9e432a4cabe6c", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "1a435567e4fb441faf720aade0a6e473", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..18..#10;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 182.0, + "WatchHeight": 338.0, + "Id": "c732abdc563a4486b91e8f0fae57c9de", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "49faf76b7e7844e5938f1bf4f0f2d432", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "02e92597229f4dd39d5645ea7e94c7b6", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "ac8e1883ccdd4fab8e262ce4a30843ea", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "a860de8f30d54b1884a218cb4c0b5c2b", + "Name": "list1", + "Description": "List of objects to be included\n\nvar[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "2af2b33d977947ac84a5444cef4ee120", + "Name": "list2", + "Description": "List of objects to be included to List1\n\nvar[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "5f928aeac2664e639e4026b0a1321193", + "Name": "list", + "Description": "The new list that contains objects that are either in List1 or List2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.SetUnion@var[],var[]", + "Replication": "Auto", + "Description": "Returns a new list that includes objects that are present in either List1 or List2.\n\nList.SetUnion (list1: var[], list2: var[]): var[]..[]" + } + ], + "Connectors": [ + { + "Start": "74c5095613584b89be22f6f237f13f6a", + "End": "df10f15308ec4840b8e641d004e71f16", + "Id": "32f29383e0d64bada01d4a3df5d18306", + "IsHidden": "False" + }, + { + "Start": "e9f3a269b8e74b1e93758d5acd3ef430", + "End": "a860de8f30d54b1884a218cb4c0b5c2b", + "Id": "5ba71f9fbc6a4dfda4eb3c2bee532007", + "IsHidden": "False" + }, + { + "Start": "5083453812394662b7a6f3a473841cb7", + "End": "2af2b33d977947ac84a5444cef4ee120", + "Id": "87a83d27cbc94de5a62930ddbaa0b8ef", + "IsHidden": "False" + }, + { + "Start": "1a435567e4fb441faf720aade0a6e473", + "End": "0efc80ccf92e416089a0fcf3a5f66f7f", + "Id": "772a3c6f9ca24789a847698b04ea0748", + "IsHidden": "False" + }, + { + "Start": "5f928aeac2664e639e4026b0a1321193", + "End": "49faf76b7e7844e5938f1bf4f0f2d432", + "Id": "5f4c44b2444c47fe87f9488e13a56bec", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -10.351632118225098, + "EyeY": 13.915582656860352, + "EyeZ": 16.000629425048828, + "LookX": 16.128910064697266, + "LookY": -8.1650753021240234, + "LookZ": -20.504016876220703, + "UpX": 0.053885128349065781, + "UpY": 0.99619466066360474, + "UpZ": -0.068501941859722137 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "34ffc137c9df474983855fbc1529470e", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -334.679829314167, + "Y": 2889.1405537581049 + }, + { + "Id": "f3a98bb5dc8f49099cf5c124abdb8ef6", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -63.679829314167023, + "Y": 2889.3130537581051 + }, + { + "Id": "eedc0571e6d94949872955c661f5c294", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -63.679829314167023, + "Y": 3203.3130537581051 + }, + { + "Id": "c96374ab3fe4484aabc9e432a4cabe6c", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -334.679829314167, + "Y": 3203.1405537581049 + }, + { + "Id": "c732abdc563a4486b91e8f0fae57c9de", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 588.320170685833, + "Y": 3029.3130537581051 + }, + { + "Id": "ac8e1883ccdd4fab8e262ce4a30843ea", + "Name": "List.SetUnion", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 313.320170685833, + "Y": 3029.3130537581051 + } + ], + "Annotations": [], + "X": 425.80927418624026, + "Y": -2440.1525869176207, + "Zoom": 0.865094717188082 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.SetUnion.md b/doc/distrib/NodeHelpFiles/DSCore.List.SetUnion.md new file mode 100644 index 00000000000..e082c8775f5 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.SetUnion.md @@ -0,0 +1,8 @@ +## In Depth +`List.SetUnion` returns a new list by combining the objects of two input lists and eliminating duplicate values. + +In the example below, a list of 0 to 9, stepping by 1, is combined with a list of 0 to 18, stepping by 2. The resulting list contains all elements from List1 and List2 with duplicates (0, 2, 4, etc.) eliminated. +___ +## Example File + +![List.SetUnion](./DSCore.List.SetUnion_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.SetUnion_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.SetUnion_img.jpg new file mode 100644 index 00000000000..cd9988def1b Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.SetUnion_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Slice.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Slice.dyn new file mode 100644 index 00000000000..3af97809bb5 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Slice.dyn @@ -0,0 +1,333 @@ +{ + "Uuid": "2ee3bc8c-b642-4be7-87e0-6568567a6ae2", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Slice", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "bccd9fb72f9f4baba8cb33684ba2ba3b", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ca5f673f50054399a59b5df9986cbd53", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "073d6affbb4c415da79df2bd3ef05b57", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "5467dc986da04e2a945dd83422be48aa", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f11023620ea04a71a1148013399754b9", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "b46e3f4aa3914bb2a9ead9bf11bff10e", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "c8ec03880b8e456180999ce53f2b5a13", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c7787769177a4ebd9ee88293e51c6b7c", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "55870f1acd694a9eabb0cf29a5529277", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "2c872423458e422ea4ff4119b08c8e3b", + "Name": "list", + "Description": "List to take a slice of.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "baead2bc76874f74b9921f3d1502ca02", + "Name": "start", + "Description": "Index to start the slice from.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "43091e545b5a43df92c403341464c0a3", + "Name": "end", + "Description": "Index to end the slice at.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "1d218785066f4acf9c9deebe26886bf2", + "Name": "step", + "Description": "Amount the indices of the items are separate by in the original list.\n\nint\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "569a76778e4341d091fe2c0eb2e782d8", + "Name": "items", + "Description": "Items in the slice of the given list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Slice@var[]..[],int,int,int", + "Replication": "Auto", + "Description": "Returns a single sub-list from the given list, based on starting index, ending index, and a step amount.\n\nList.Slice (list: var[]..[], start: int, end: int, step: int = 1): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "01eefe5c139d4d21a6a231b9e5686fd8", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "354e79ea981b49a2af75e0f0602ed18e", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "2;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "68bb9f0dbdd2420f9e0e49fbf0362730", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "4c32319313fc4cdca02c84f28c7e4a35", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "5;" + } + ], + "Connectors": [ + { + "Start": "ca5f673f50054399a59b5df9986cbd53", + "End": "5467dc986da04e2a945dd83422be48aa", + "Id": "4280e3c44cc14459bae83883d34fa373", + "IsHidden": "False" + }, + { + "Start": "f11023620ea04a71a1148013399754b9", + "End": "2c872423458e422ea4ff4119b08c8e3b", + "Id": "e9bcb1d9c67642de9e5fbf3e7084b5f3", + "IsHidden": "False" + }, + { + "Start": "569a76778e4341d091fe2c0eb2e782d8", + "End": "c8ec03880b8e456180999ce53f2b5a13", + "Id": "1226c72243aa4d939c7240008080c544", + "IsHidden": "False" + }, + { + "Start": "354e79ea981b49a2af75e0f0602ed18e", + "End": "baead2bc76874f74b9921f3d1502ca02", + "Id": "c72ef9b0ce2c48d2935da0b7b9e85de9", + "IsHidden": "False" + }, + { + "Start": "4c32319313fc4cdca02c84f28c7e4a35", + "End": "43091e545b5a43df92c403341464c0a3", + "Id": "6b4f68cadd7e4f849a70b50020341785", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "bccd9fb72f9f4baba8cb33684ba2ba3b", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -116.13872216121717, + "Y": 168.734738261978 + }, + { + "Id": "073d6affbb4c415da79df2bd3ef05b57", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 137.86127783878283, + "Y": 168.90723826197802 + }, + { + "Id": "b46e3f4aa3914bb2a9ead9bf11bff10e", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 805.86127783878283, + "Y": 393.907238261978 + }, + { + "Id": "55870f1acd694a9eabb0cf29a5529277", + "Name": "List.Slice", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 514.86127783878283, + "Y": 393.907238261978 + }, + { + "Id": "01eefe5c139d4d21a6a231b9e5686fd8", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 137.86127783878283, + "Y": 483.734738261978 + }, + { + "Id": "68bb9f0dbdd2420f9e0e49fbf0362730", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 137.86127783878283, + "Y": 630.734738261978 + } + ], + "Annotations": [], + "X": 189.63872216121717, + "Y": -121.73473826197801, + "Zoom": 1.0 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Slice.md b/doc/distrib/NodeHelpFiles/DSCore.List.Slice.md new file mode 100644 index 00000000000..84387fd3eb3 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Slice.md @@ -0,0 +1,8 @@ +## In Depth +`List.Slice` returns a sublist from an input list based on a given start, end, and step. The `start` input specifies the starting index of the output list. The `end` input specifies its ending index. This index is not included in the output list. The `step` input determines the number of indices separating the list items. By default, this is 1. + +In the example below, using a start index of 2 and an end index of 5 results in a new list consisting of the items with indices 2, 3, and 4 from the original list. +___ +## Example File + +![List.Slice](./DSCore.List.Slice_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Slice_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Slice_img.jpg new file mode 100644 index 00000000000..319f757038b Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Slice_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Sublists.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.Sublists.dyn new file mode 100644 index 00000000000..e65f782a092 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Sublists.dyn @@ -0,0 +1,277 @@ +{ + "Uuid": "5bc70017-c889-4b6d-a3b7-9a4c6a443002", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.Sublists", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "3052ff8e55e549449494fe226d01b133", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "d1f80ecb84fe4232bd007c327a92000e", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..9..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 207.0, + "WatchHeight": 590.0, + "Id": "e4f471f7e4414d888cc12794672a7e16", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "8a074690f2204218889c1f4f07ec4c4a", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c8c347638bd24e20a4589c6718c5d778", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "c9a6f6e635924da5a5a028d597f5f601", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "e9b783389ace44daa96a4a991c32456a", + "Name": "list", + "Description": "The list from which to create sublists.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "8f06eaeda35b44a1a607185ac52df17a", + "Name": "ranges", + "Description": "The index ranges of the sublist elements. Ex. \\\"{0..3,5,2}\\\"\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "bf6fbb1837544255bc8764d27014102b", + "Name": "offset", + "Description": "The offset to apply to the sublist. Ex. the range \\\"0..3\\\" with an offset of 2 will yield {0,1,2,3}{2,3,4,5}{4,5,6,7}...\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "3c8774616c87450caadb4620ae339da8", + "Name": "lists", + "Description": "type: var[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.Sublists@var[]..[],var[]..[],int", + "Replication": "Auto", + "Description": "Build sublists from a list using DesignScript range syntax.\n\nList.Sublists (list: var[]..[], ranges: var[]..[], offset: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "be059b6cc249409d92b447c830615b34", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "14bba3fd47324f079b68f8cbe297b9d9", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..5;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "133459c6d25b46ffb5c4909e5fdc2632", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "3b4993a0e85b46f484ae2df83504176a", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "2;" + } + ], + "Connectors": [ + { + "Start": "d1f80ecb84fe4232bd007c327a92000e", + "End": "e9b783389ace44daa96a4a991c32456a", + "Id": "29f7f512b0c745a9aee92455088e8d07", + "IsHidden": "False" + }, + { + "Start": "3c8774616c87450caadb4620ae339da8", + "End": "8a074690f2204218889c1f4f07ec4c4a", + "Id": "bf43502890d149769e0108c6c2a706b4", + "IsHidden": "False" + }, + { + "Start": "14bba3fd47324f079b68f8cbe297b9d9", + "End": "8f06eaeda35b44a1a607185ac52df17a", + "Id": "5e40663efa3d44b4aa92437084017a4d", + "IsHidden": "False" + }, + { + "Start": "3b4993a0e85b46f484ae2df83504176a", + "End": "bf6fbb1837544255bc8764d27014102b", + "Id": "cf2c1b1b33bd4f03b46287ed13795422", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -83.2733050072657, + "EyeY": 26.278053449735108, + "EyeZ": 97.537147413392489, + "LookX": 83.2733050072657, + "LookY": -26.278053449735108, + "LookZ": -97.537147413392489, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "3052ff8e55e549449494fe226d01b133", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 5.953044389746708, + "Y": -49.709864325069077 + }, + { + "Id": "e4f471f7e4414d888cc12794672a7e16", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 549.16029254666933, + "Y": -152.18628325616532 + }, + { + "Id": "c9a6f6e635924da5a5a028d597f5f601", + "Name": "List.Sublists", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 259.95304438974671, + "Y": 64.462635674930922 + }, + { + "Id": "be059b6cc249409d92b447c830615b34", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 5.953044389746708, + "Y": 98.2901356749309 + }, + { + "Id": "133459c6d25b46ffb5c4909e5fdc2632", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 5.953044389746708, + "Y": 246.29013567493098 + } + ], + "Annotations": [], + "X": 214.53261152922806, + "Y": 166.22593066413998, + "Zoom": 0.86314762576532433 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Sublists.md b/doc/distrib/NodeHelpFiles/DSCore.List.Sublists.md new file mode 100644 index 00000000000..7211a77ea4b --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.Sublists.md @@ -0,0 +1,9 @@ +## In Depth +`List.Sublists` takes an input list and returns a series of sublists based on the input range and offset. The range determines which elements of the input list to put into the first sublist. The offset determines where subsequent sublists begin, for example, an offset of 2 begins the next sublist at index 2, the following sublist at 4, and so on. This process repeats, increasing the range by the given offset until the resulting sublist is empty. + +The example below starts with a range of numbers from 0 to 9. The sublist range is 0 to 5, with an offset of 2. In the output of nested sublists, the first list contains the elements with indices in the range 0..5, and the second list contains the elements with indices 2..7. As this is repeated, the subsequent sublists get shorter as the end of the range becomes larger than the length of the initial list. + +___ +## Example File + +![List.Sublists](./DSCore.List.Sublists_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.Sublists_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.Sublists_img.jpg new file mode 100644 index 00000000000..79334dcb0db Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.Sublists_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.TakeItems.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.TakeItems.dyn new file mode 100644 index 00000000000..853284de634 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.TakeItems.dyn @@ -0,0 +1,250 @@ +{ + "Uuid": "9b08b53f-46a3-4f85-983d-3de2d40a34f2", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.TakeItems", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "0849e3432a0d48c983593c5c1aa06c82", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "4", + "MaximumValue": 10.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "17875470479e491c8aa1b20df0ed6335", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "a3ec10402bda4a18946edba6efe485ff", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..9..1;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "3806ccce36f44a2dbe3ec3050db737fa", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "4a61c7d14e7d44249e54efc774602aad", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f373799344344958899273a54589fbfe", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "8520b806562d4908aedb31bf33838000", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "61a4539817ce4ca79259c5b433bc0b2a", + "Name": "list", + "Description": "List to take from.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "16125cb41b954f3886ad5ab0bdb776f2", + "Name": "amount", + "Description": "Amount of items to take. If negative, items are taken from the end of the list.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ab83257d495a4acaa283639699e7b151", + "Name": "list", + "Description": "List of extracted items.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.TakeItems@var[]..[],int", + "Replication": "Auto", + "Description": "Fetches an amount of items from the start of the list.\n\nList.TakeItems (list: var[]..[], amount: int): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 10, + "MinimumValue": 0, + "StepValue": 1, + "Id": "0849e3432a0d48c983593c5c1aa06c82", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "f11fdf66d11e408bbfb866c8608f02ac", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 4 + } + ], + "Connectors": [ + { + "Start": "a3ec10402bda4a18946edba6efe485ff", + "End": "61a4539817ce4ca79259c5b433bc0b2a", + "Id": "7bfcaeca620e494a8795bd368f0c4bec", + "IsHidden": "False" + }, + { + "Start": "ab83257d495a4acaa283639699e7b151", + "End": "4a61c7d14e7d44249e54efc774602aad", + "Id": "f1b1248b063f4e35a9b44bac616b16c7", + "IsHidden": "False" + }, + { + "Start": "f11fdf66d11e408bbfb866c8608f02ac", + "End": "16125cb41b954f3886ad5ab0bdb776f2", + "Id": "7fdfb7b96e864f8db614ab433916751c", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "17875470479e491c8aa1b20df0ed6335", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -167.2253286244266, + "Y": -16.422273111939433 + }, + { + "Id": "3806ccce36f44a2dbe3ec3050db737fa", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 575.77467137557346, + "Y": 40.750226888060567 + }, + { + "Id": "8520b806562d4908aedb31bf33838000", + "Name": "List.TakeItems", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 281.56782845177867, + "Y": 40.750226888060567 + }, + { + "Id": "0849e3432a0d48c983593c5c1aa06c82", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -167.2253286244266, + "Y": 131.75022688806058 + } + ], + "Annotations": [], + "X": 336.62859972285924, + "Y": 234.37607678997705, + "Zoom": 0.97676875 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.TakeItems.md b/doc/distrib/NodeHelpFiles/DSCore.List.TakeItems.md new file mode 100644 index 00000000000..8c82e6f7b87 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.TakeItems.md @@ -0,0 +1,8 @@ +## In Depth +`List.TakeItems` returns a given number of items from the beginning of the input list. If the `amount` input is negative, the items are taken from the end of the list in reverse order. + +In the example below, we start with a range of numbers from 0 to 9, stepping by 1. We use an integer slider for the `amount` input to specify the number of elements to take from the original list. With an input of 4, the output list contains the first 4 elements from the original list. +___ +## Example File + +![List.TakeItems](./DSCore.List.TakeItems_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.TakeItems_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.TakeItems_img.jpg new file mode 100644 index 00000000000..4579873e38c Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.TakeItems_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.UniqueItems.dyn b/doc/distrib/NodeHelpFiles/DSCore.List.UniqueItems.dyn new file mode 100644 index 00000000000..e0ab417e8c1 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.UniqueItems.dyn @@ -0,0 +1,390 @@ +{ + "Uuid": "7ae9e580-1907-4858-8e90-9c2dc8ae3f8e", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.List.UniqueItems", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "cd995624e97f4d5a8565aa4881ff8597", + "Name": "Integer Slider", + "Type": "number", + "Type2": "number", + "Value": "25", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Integer", + "Description": "Produces integer values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "06bd8cc669d24cd099080da474adf850", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "7dc2088047314636b31443bed819ccda", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "16c5ddf24cea4d9597341d67b8e6b11f", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "6adcd4dbb17a4dbcbd9b5fe48288f24c", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a00e9fa1d255437bb7833b021bc792d6", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "abe274972cb344b2a48cf077aacc3ae8", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "f84cbb4cdedf4c0697b0f813c94f6875", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "836c3542865e4162b13890fd17a81c60", + "Name": "list", + "Description": "List to filter duplicates out of.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "85e6c9cba93a41faab5ed61143664fb8", + "Name": "list", + "Description": "Filtered list.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.List.UniqueItems@var[]..[]", + "Replication": "Auto", + "Description": "Creates a new list containing all unique items in the given list.\n\nList.UniqueItems (list: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "4ad1ca64bc1542f28b60ce5b6f0d122c", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "2a9579712ab044618a549346d50e26ed", + "Name": "amount", + "Description": "Amount of random numbers the result list will contain.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "28bb3b84876746a284bb843753ae7e8c", + "Name": "number", + "Description": "List of random numbers between 0 and 1.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.RandomList@int", + "Replication": "Auto", + "Description": "Produces a list containing the given amount of random doubles in the range of [0, 1).\n\nMath.RandomList (amount: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "abbaffb0a065449b881c774c73fcc883", + "NodeType": "CodeBlockNode", + "Inputs": [ + { + "Id": "d63ea94a124b4706b8142a1538ae8ab3", + "Name": "x", + "Description": "x", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "e75567a5eed44fde9a4e6d4259dfd018", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "x*10;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "fc4c82990fe14a01be1602114164692d", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "8e712ca7a8dd4eaeb9709ed877072554", + "Name": "number", + "Description": "Number to round down\n\ndouble", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9b2139f953e542c1b4f8bb07d117eb7f", + "Name": "int", + "Description": "First integer smaller than the number", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.Floor@double", + "Replication": "Auto", + "Description": "Returns the first integer smaller than the number.\n\nMath.Floor (number: double): int" + }, + { + "ConcreteType": "CoreNodeModels.Input.IntegerSlider, CoreNodeModels", + "NumberType": "Integer", + "MaximumValue": 100, + "MinimumValue": 0, + "StepValue": 1, + "Id": "cd995624e97f4d5a8565aa4881ff8597", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ee6509653eac43ad8015023ad70c420f", + "Name": "", + "Description": "Int64", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces integer values", + "InputValue": 25 + } + ], + "Connectors": [ + { + "Start": "16c5ddf24cea4d9597341d67b8e6b11f", + "End": "836c3542865e4162b13890fd17a81c60", + "Id": "8952989c377740e6a770fe70f964e083", + "IsHidden": "False" + }, + { + "Start": "85e6c9cba93a41faab5ed61143664fb8", + "End": "a00e9fa1d255437bb7833b021bc792d6", + "Id": "3215790b8ead43fb878224a1234ca74c", + "IsHidden": "False" + }, + { + "Start": "28bb3b84876746a284bb843753ae7e8c", + "End": "d63ea94a124b4706b8142a1538ae8ab3", + "Id": "68719e3858bb43cd8038041d6f764e60", + "IsHidden": "False" + }, + { + "Start": "e75567a5eed44fde9a4e6d4259dfd018", + "End": "8e712ca7a8dd4eaeb9709ed877072554", + "Id": "a48d1f11a9814e33b1c379420a060a18", + "IsHidden": "False" + }, + { + "Start": "9b2139f953e542c1b4f8bb07d117eb7f", + "End": "7dc2088047314636b31443bed819ccda", + "Id": "ee3d7e88130343fba47e7c1ac4a09100", + "IsHidden": "False" + }, + { + "Start": "ee6509653eac43ad8015023ad70c420f", + "End": "2a9579712ab044618a549346d50e26ed", + "Id": "ea75d362ecf04bfbbca9862ec8a1f4f7", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -13.988694190979004, + "EyeY": 18.264490127563477, + "EyeZ": 21.429862976074219, + "LookX": 16.723785400390625, + "LookY": -5.2774238586425781, + "LookZ": -19.588394165039063, + "UpX": -0.009065740741789341, + "UpY": 0.99990254640579224, + "UpZ": 0.010618607513606548 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "06bd8cc669d24cd099080da474adf850", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 639.01853192673639, + "Y": -7.1328576841236782 + }, + { + "Id": "6adcd4dbb17a4dbcbd9b5fe48288f24c", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1202.0648940959875, + "Y": -7.1328576841236782 + }, + { + "Id": "f84cbb4cdedf4c0697b0f813c94f6875", + "Name": "List.UniqueItems", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 959.04171301136194, + "Y": -7.1328576841236782 + }, + { + "Id": "4ad1ca64bc1542f28b60ce5b6f0d122c", + "Name": "Math.RandomList", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -58.051011327140259, + "Y": -7.1328576841236782 + }, + { + "Id": "abbaffb0a065449b881c774c73fcc883", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 205.97216975748529, + "Y": -7.1328576841236782 + }, + { + "Id": "fc4c82990fe14a01be1602114164692d", + "Name": "Math.Floor", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 402.99535084211084, + "Y": -7.1328576841236782 + }, + { + "Id": "cd995624e97f4d5a8565aa4881ff8597", + "Name": "Integer Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -449.07419241176581, + "Y": -7.1328576841236782 + } + ], + "Annotations": [], + "X": 329.51646926442237, + "Y": 246.88190853172037, + "Zoom": 0.66696433312246373 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.UniqueItems.md b/doc/distrib/NodeHelpFiles/DSCore.List.UniqueItems.md new file mode 100644 index 00000000000..6781f387c33 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.List.UniqueItems.md @@ -0,0 +1,8 @@ +## In Depth +`List.UniqueItems` removes all duplicate items from an input list by creating a new list that only includes items that occur only once on the original list. + +In the example below, we use `Math.RandomList` to first generate a list of random numbers between 0 and 1. We then multiply by 10 and use a `Math.Floor` operation to return a list of random integers between 0 and 9, with many of them repeated multiple times. We use `List.UniqueItems` to create a list in which each integer only occurs once. The order of the output list is based on the first found instance of an item +___ +## Example File + +![List.UniqueItems](./DSCore.List.UniqueItems_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.List.UniqueItems_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.List.UniqueItems_img.jpg new file mode 100644 index 00000000000..b61e8edb2f6 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.List.UniqueItems_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.Math.RandomList.dyn b/doc/distrib/NodeHelpFiles/DSCore.Math.RandomList.dyn new file mode 100644 index 00000000000..4161221f4ed --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.Math.RandomList.dyn @@ -0,0 +1,194 @@ +{ + "Uuid": "e5e49851-5c96-4926-a9ea-a2aeba05dc13", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.Math.RandomList", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Input.DoubleInput, CoreNodeModels", + "NumberType": "Double", + "Id": "11a8f159cc4141629db4a1e70d860258", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "cf38608bc23d4ac99b2e5fa9e21c6280", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Creates a number", + "InputValue": 350.0 + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "d345c472860644e58ded6052e6fe9500", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "f0382b1db51647ef8402e0da5463d3d6", + "Name": "amount", + "Description": "Amount of random numbers the result list will contain.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ff287ba222954652b917d8985e0c7a57", + "Name": "number", + "Description": "List of random numbers between 0 and 1.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Math.RandomList@int", + "Replication": "Auto", + "Description": "Produces a list containing the given amount of random doubles in the range of [0, 1).\n\nMath.RandomList (amount: int): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 234.0, + "WatchHeight": 244.0, + "Id": "61dd300db9884ef4bf30f821791dc3be", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "216ce60c14ae4285ba14d0351fd4b33c", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "63b3076e4a4641f6b98010ee3ea92142", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "cf38608bc23d4ac99b2e5fa9e21c6280", + "End": "f0382b1db51647ef8402e0da5463d3d6", + "Id": "d5814ad03cba494ca3a29fb2325873e8", + "IsHidden": "False" + }, + { + "Start": "ff287ba222954652b917d8985e0c7a57", + "End": "216ce60c14ae4285ba14d0351fd4b33c", + "Id": "4525ae071aba411bbc57e6aff776df5e", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.18", + "Data": {} + }, + { + "ExtensionGuid": "DFBD9CC0-DB40-457A-939E-8C8555555A9D", + "Name": "Generative Design", + "Version": "1.2", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "11a8f159cc4141629db4a1e70d860258", + "Name": "Number", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 617.0, + "Y": 439.0 + }, + { + "Id": "d345c472860644e58ded6052e6fe9500", + "Name": "Math.RandomList", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 845.0, + "Y": 437.0 + }, + { + "Id": "61dd300db9884ef4bf30f821791dc3be", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1151.0, + "Y": 436.0 + } + ], + "Annotations": [], + "X": -346.15758885693833, + "Y": -170.98680023763819, + "Zoom": 0.96546970479948491 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.Math.RandomList.md b/doc/distrib/NodeHelpFiles/DSCore.Math.RandomList.md new file mode 100644 index 00000000000..68749aa50cd --- /dev/null +++ b/doc/distrib/NodeHelpFiles/DSCore.Math.RandomList.md @@ -0,0 +1,8 @@ +## In Depth +`Math.RandomList (amount)` produces the given amount of random numbers between 0 and 1. This node is commonly paired with a `Math.RemapRange` node to recreate the list within a new range of numbers while preserving the distribution ratio. + +In the example below, an ‘amount’ input of 350 is used to generate 350 random numbers between 0 and 1. +___ +## Example File + +![Math.RandomList](./DSCore.Math.RandomList_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.Math.RandomList_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.Math.RandomList_img.jpg new file mode 100644 index 00000000000..27c653b4d3e Binary files /dev/null and b/doc/distrib/NodeHelpFiles/DSCore.Math.RandomList_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.Math.Xor.dyn b/doc/distrib/NodeHelpFiles/DSCore.Math.Xor.dyn index 053ab03142c..060c3ebc465 100644 --- a/doc/distrib/NodeHelpFiles/DSCore.Math.Xor.dyn +++ b/doc/distrib/NodeHelpFiles/DSCore.Math.Xor.dyn @@ -1,36 +1,22 @@ { - "Uuid": "93d7251f-6ed2-46b8-a188-00a0d7d9d6ae", + "Uuid": "e5e49851-5c96-4926-a9ea-a2aeba05dc13", "IsCustomNode": false, "Description": "", - "Name": "DSCore.Math.Xor_img", + "Name": "DSCore.Math.Xor", "ElementResolver": { - "ResolutionMap": { - "Math": { - "Key": "DSCore.Math", - "Value": "DSCoreNodes.dll" - }, - "Color": { - "Key": "DSCore.Color", - "Value": "DSCoreNodes.dll" - }, - "UV": { - "Key": "Autodesk.DesignScript.Geometry.UV", - "Value": "ProtoGeometry.dll" - } - } + "ResolutionMap": {} }, "Inputs": [], "Outputs": [], "Nodes": [ { "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "bd832111c6cd4794aa0c30e8ddc7f3fe", "NodeType": "CodeBlockNode", - "Code": "[true,true,false,false];\n[true,false,true,false];", - "Id": "7dec0125993c40328f6573129e9900b6", "Inputs": [], "Outputs": [ { - "Id": "ed28b14ff5924d61aa729fbf9d941f5c", + "Id": "de3b4d553f7743b5af1e88323f41d3e4", "Name": "", "Description": "Value of expression at line 1", "UsingDefaultValue": false, @@ -39,7 +25,7 @@ "KeepListStructure": false }, { - "Id": "fce9cd5d42634e6a92ed52989025502e", + "Id": "a1254442888149e6bafee2e25c2cefeb", "Name": "", "Description": "Value of expression at line 2", "UsingDefaultValue": false, @@ -49,15 +35,18 @@ } ], "Replication": "Disabled", - "Description": "Allows for DesignScript code to be authored directly" + "Description": "Allows for DesignScript code to be authored directly", + "Code": "[true,true,false,false];\n[true,false,true,false];" }, { "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 185.0, + "WatchHeight": 144.0, + "Id": "cb26e45b6bbd451f918556726792567b", "NodeType": "ExtensionNode", - "Id": "9d8114c4259448999d5f78cd76073001", "Inputs": [ { - "Id": "876c55c422484193a1f46cc8d2874dc9", + "Id": "1805946c482f4fd995789d99c641f496", "Name": "", "Description": "Node to show output from", "UsingDefaultValue": false, @@ -68,7 +57,7 @@ ], "Outputs": [ { - "Id": "8e8b1ce181404464986af9c8a78a379e", + "Id": "e5c0065d51ad4ccd953978faff42f39d", "Name": "", "Description": "Node output", "UsingDefaultValue": false, @@ -82,11 +71,13 @@ }, { "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 196.0, + "WatchHeight": 149.0, + "Id": "4ffd751e0246417cb356eef1e746b5d4", "NodeType": "ExtensionNode", - "Id": "da510558067d40db97a64a36542ba65c", "Inputs": [ { - "Id": "4589d29e7dcc45dc8f58e7b61eed0280", + "Id": "39877ea3e61f4097ad68ffedb534e14f", "Name": "", "Description": "Node to show output from", "UsingDefaultValue": false, @@ -97,7 +88,7 @@ ], "Outputs": [ { - "Id": "e03da80c685e45eeafd3815859eee25a", + "Id": "63820c49bc904cac8a2d4d81ae414009", "Name": "", "Description": "Node output", "UsingDefaultValue": false, @@ -111,12 +102,11 @@ }, { "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "0a6cc543c48743679f10299b180f915e", "NodeType": "FunctionNode", - "FunctionSignature": "DSCore.Math.Xor@bool,bool", - "Id": "2e478955cc7c4faaaf78d22ba4babe77", "Inputs": [ { - "Id": "3c29535b889a491f9178835cae6559c4", + "Id": "f43ab0eb13f24a9b81206e3904eab564", "Name": "bool", "Description": "A boolean\n\nbool", "UsingDefaultValue": false, @@ -125,7 +115,7 @@ "KeepListStructure": false }, { - "Id": "c0bd3eae007c4ee297133459244d8fb0", + "Id": "bb1915e2b49c4421a1bf4402175831b1", "Name": "otherBool", "Description": "Other boolean\n\nbool", "UsingDefaultValue": false, @@ -136,7 +126,7 @@ ], "Outputs": [ { - "Id": "03f5ae240e03421bb9d0f2dddcefd04a", + "Id": "68037cc3271e42f790ba70d372910237", "Name": "bool", "Description": "Boolean result", "UsingDefaultValue": false, @@ -145,16 +135,19 @@ "KeepListStructure": false } ], + "FunctionSignature": "DSCore.Math.Xor@bool,bool", "Replication": "Auto", "Description": "Boolean XOR: Returns true if and only if exactly one of the inputs is true.\n\nMath.Xor (bool: bool, otherBool: bool): bool" }, { "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 183.0, + "WatchHeight": 138.0, + "Id": "ab7551f353a84e51a08b12394b5cd59f", "NodeType": "ExtensionNode", - "Id": "e441668ae2424f6db09393c9596bf47e", "Inputs": [ { - "Id": "45598fcab0644534bdeda16bf9d74c68", + "Id": "f058b844a46d4817b5eca1dca2df74c4", "Name": "", "Description": "Node to show output from", "UsingDefaultValue": false, @@ -165,7 +158,7 @@ ], "Outputs": [ { - "Id": "df277683e8904a1387c01d042c6f20c2", + "Id": "2b5f39a57f8745cfa6d0de0a9bc996d6", "Name": "", "Description": "Node output", "UsingDefaultValue": false, @@ -180,33 +173,33 @@ ], "Connectors": [ { - "Start": "ed28b14ff5924d61aa729fbf9d941f5c", - "End": "876c55c422484193a1f46cc8d2874dc9", - "Id": "6bfa6df57299419e899cc3450cc562f4", + "Start": "de3b4d553f7743b5af1e88323f41d3e4", + "End": "1805946c482f4fd995789d99c641f496", + "Id": "4c664407d6b647619d6ad29dfdf8b5ce", "IsHidden": "False" }, { - "Start": "fce9cd5d42634e6a92ed52989025502e", - "End": "4589d29e7dcc45dc8f58e7b61eed0280", - "Id": "333e5597832042c0b35782681b837d90", + "Start": "a1254442888149e6bafee2e25c2cefeb", + "End": "39877ea3e61f4097ad68ffedb534e14f", + "Id": "9003efd1045e43f9ac6c3abf9626a8d5", "IsHidden": "False" }, { - "Start": "8e8b1ce181404464986af9c8a78a379e", - "End": "3c29535b889a491f9178835cae6559c4", - "Id": "0b4e30d99db44b2cb280dad6a6a5a032", + "Start": "e5c0065d51ad4ccd953978faff42f39d", + "End": "f43ab0eb13f24a9b81206e3904eab564", + "Id": "94916e982ef34aefa8bbf06edd1fae3e", "IsHidden": "False" }, { - "Start": "e03da80c685e45eeafd3815859eee25a", - "End": "c0bd3eae007c4ee297133459244d8fb0", - "Id": "e5e9592ec1a04470aa84bdb46ec0e751", + "Start": "63820c49bc904cac8a2d4d81ae414009", + "End": "bb1915e2b49c4421a1bf4402175831b1", + "Id": "5cc0191822af4c6f9a4db16c469f6fd2", "IsHidden": "False" }, { - "Start": "03f5ae240e03421bb9d0f2dddcefd04a", - "End": "45598fcab0644534bdeda16bf9d74c68", - "Id": "4765ec9f8e2a429f8a04902bfe03c467", + "Start": "68037cc3271e42f790ba70d372910237", + "End": "f058b844a46d4817b5eca1dca2df74c4", + "Id": "8277cfe0999b42568934356b53f801e0", "IsHidden": "False" } ], @@ -218,7 +211,13 @@ { "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", "Name": "Properties", - "Version": "2.17", + "Version": "2.18", + "Data": {} + }, + { + "ExtensionGuid": "DFBD9CC0-DB40-457A-939E-8C8555555A9D", + "Name": "Generative Design", + "Version": "1.2", "Data": {} } ], @@ -235,78 +234,78 @@ "ScaleFactor": 1.0, "HasRunWithoutCrash": true, "IsVisibleInDynamoLibrary": true, - "Version": "2.17.0.3255", + "Version": "2.19.0.5742", "RunType": "Manual", "RunPeriod": "1000" }, "Camera": { "Name": "_Background Preview", - "EyeX": -5.22369384765625, - "EyeY": 13.961121559143066, - "EyeZ": 14.827668190002441, - "LookX": 12.657733917236328, - "LookY": -14.124775886535645, - "LookZ": -24.96122932434082, - "UpX": 0.11247330158948898, - "UpY": 0.96858382225036621, - "UpZ": -0.2218000739812851 + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 }, "ConnectorPins": [], "NodeViews": [ { + "Id": "bd832111c6cd4794aa0c30e8ddc7f3fe", "Name": "Code Block", - "ShowGeometry": true, - "Id": "7dec0125993c40328f6573129e9900b6", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 3878.0, - "Y": 4348.0 + "ShowGeometry": true, + "X": 1279.2105394683224, + "Y": 1524.8453497624644 }, { + "Id": "cb26e45b6bbd451f918556726792567b", "Name": "Watch", - "ShowGeometry": true, - "Id": "9d8114c4259448999d5f78cd76073001", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 4341.3015512946731, - "Y": 4196.3386212170171 + "ShowGeometry": true, + "X": 1658.3192927839723, + "Y": 1317.9772639976543 }, { + "Id": "4ffd751e0246417cb356eef1e746b5d4", "Name": "Watch", - "ShowGeometry": true, - "Id": "da510558067d40db97a64a36542ba65c", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 4330.8300811621293, - "Y": 4442.0340864360214 + "ShowGeometry": true, + "X": 1654.7649161261475, + "Y": 1562.9834532107402 }, { + "Id": "0a6cc543c48743679f10299b180f915e", "Name": "Math.Xor", - "ShowGeometry": true, - "Id": "2e478955cc7c4faaaf78d22ba4babe77", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 4780.2973074414776, - "Y": 4333.7184696111926 + "ShowGeometry": true, + "X": 2028.2105394683224, + "Y": 1514.5630697412687 }, { + "Id": "ab7551f353a84e51a08b12394b5cd59f", "Name": "Watch", - "ShowGeometry": true, - "Id": "e441668ae2424f6db09393c9596bf47e", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, - "X": 5104.6377013946467, - "Y": 4332.685538420259 + "ShowGeometry": true, + "X": 2342.2105394683222, + "Y": 1516.1903497624642 } ], "Annotations": [], - "X": -3348.7161654131864, - "Y": -2668.4431068783779, - "Zoom": 0.77449495863987361 + "X": -760.10775327275678, + "Y": -675.66193975289093, + "Zoom": 0.61452238519180757 } } \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.Math.Xor.md b/doc/distrib/NodeHelpFiles/DSCore.Math.Xor.md index 2e5b5a38768..988cf2b05f6 100644 --- a/doc/distrib/NodeHelpFiles/DSCore.Math.Xor.md +++ b/doc/distrib/NodeHelpFiles/DSCore.Math.Xor.md @@ -1,7 +1,8 @@ ## In Depth -Xor will accept two boolean values, or two lists of boolean values and determines whether the values are the same or different. Xor compares two values and returns 'true' if exactly one of the inputs is 'true'. If both values are 'true' or if both values are 'false', Xor will return 'false'. In the example below, we start with two lists of boolean values. Together, these lists represent the four possible combinations of true and false values. Notice that unlike And and Or nodes, Xor only allows two values. +`Math.Xor` accepts two Boolean values, or two lists of Boolean values, and determines whether the values are the same or different. `Math.Xor` compares the input values and returns True if exactly one of the inputs is True. If both values are True or if both values are False, `Math.Xor` returns False. + +In the example below, we start with two lists of Boolean values. Together, these lists represent the 4 possible combinations of True and False values. Notice that unlike `And` and `Or` nodes, `Math.Xor` only allows two values. ___ ## Example File -![Xor](./DSCore.Math.Xor_img.jpg) - +![Math.Xor](./DSCore.Math.Xor_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.Math.Xor_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.Math.Xor_img.jpg index 4e1a7560654..061c906894f 100644 Binary files a/doc/distrib/NodeHelpFiles/DSCore.Math.Xor_img.jpg and b/doc/distrib/NodeHelpFiles/DSCore.Math.Xor_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause.dyn b/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause.dyn index 723db20553f..7b76792cb8b 100644 --- a/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause.dyn +++ b/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause.dyn @@ -1,27 +1,264 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +{ + "Uuid": "3c9d0464-8643-5ffe-96e5-ab1769818209", + "IsCustomNode": false, + "Description": "", + "Name": "DSCore.Thread.Pause", + "ElementResolver": { + "ResolutionMap": { + "Point": { + "Key": "Autodesk.DesignScript.Geometry.Point", + "Value": "ProtoGeometry.dll" + } + } + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "fe5418e22c8d444a87529660399eb6c1", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "89d46ae36ec44d25a95703b6b0ad9047", + "Name": "object", + "Description": "Object to pass through.\n\nvar", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "357ec715a5e1433c93f62cb35e0f0279", + "Name": "msTimeout", + "Description": "Amount of time to pause the thread, in milliseconds.\n\nint", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "061ace2c9a03475fad873bfa745e5342", + "Name": "object", + "Description": "Object passed through.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "DSCore.Thread.Pause@var,int", + "Replication": "Auto", + "Description": "Pauses the current evaluation thread for a given amount of time.\n\nThread.Pause (object: var, msTimeout: int): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "8f3d510707954377afe9f3b09ae89311", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "5d4c55c625cf41a9880410202d25a118", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "5000;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "85389099bff940dd94cff6c88914564e", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "169c6aa2bcc946d691428b7fa580307a", + "Name": "centerPoint", + "Description": "Center point of circle\n\nPoint\nDefault value : Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "9b6108242a3242d5bfbed081ab52c752", + "Name": "radius", + "Description": "Radius\n\ndouble\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d8ee2dc7f2bf4638a60b39f9efd27416", + "Name": "Circle", + "Description": "Circle created with center point and radius", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Circle.ByCenterPointRadius@Autodesk.DesignScript.Geometry.Point,double", + "Replication": "Auto", + "Description": "Creates a Circle with input center Point and radius in the world XY plane, with world Z as normal.\n\nCircle.ByCenterPointRadius (centerPoint: Point = Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0), radius: double = 1): Circle" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "e65f677f222a46bb90466eb3ff466811", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "6cd94e8853214e76bd2b7e8c3f983a14", + "Name": "curve", + "Description": "Autodesk.DesignScript.Geometry.Curve", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "ff190769b1884c7a862f76420a2d7830", + "Name": "distance", + "Description": "The distance to extrude the curve\n\ndouble\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "bfc826ceac7b44bc9eb989374fc9851c", + "Name": "Surface", + "Description": "The extruded Surface", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Curve.Extrude@double", + "Replication": "Auto", + "Description": "Extrudes a Curve in the normal Vector direction\n\nCurve.Extrude (distance: double = 1): Surface" + } + ], + "Connectors": [ + { + "Start": "061ace2c9a03475fad873bfa745e5342", + "End": "6cd94e8853214e76bd2b7e8c3f983a14", + "Id": "2502f35d7cb649acbeca7efae6d10f5d", + "IsHidden": "False" + }, + { + "Start": "5d4c55c625cf41a9880410202d25a118", + "End": "357ec715a5e1433c93f62cb35e0f0279", + "Id": "177ee1299cc24db79362ee12e4e730ef", + "IsHidden": "False" + }, + { + "Start": "d8ee2dc7f2bf4638a60b39f9efd27416", + "End": "89d46ae36ec44d25a95703b6b0ad9047", + "Id": "efef28569b1f45208b865aac17893891", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": 2.0443849563598633, + "EyeY": 3.4251701831817627, + "EyeZ": -3.5761997699737549, + "LookX": -0.82001298666000366, + "LookY": -2.9229989051818848, + "LookZ": 4.95900821685791, + "UpX": -0.049872010946273804, + "UpY": 0.95212936401367188, + "UpZ": 0.30159971117973328 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "fe5418e22c8d444a87529660399eb6c1", + "Name": "Thread.Pause", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 450.703594627201, + "Y": 3000.54788434371 + }, + { + "Id": "8f3d510707954377afe9f3b09ae89311", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 74.703594627201028, + "Y": 3106.3753843437103 + }, + { + "Id": "85389099bff940dd94cff6c88914564e", + "Name": "Circle.ByCenterPointRadius", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 74.703594627201028, + "Y": 2928.5478843437104 + }, + { + "Id": "e65f677f222a46bb90466eb3ff466811", + "Name": "Curve.Extrude", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 781.703594627201, + "Y": 3000.5478843437104 + } + ], + "Annotations": [], + "X": 275.80681386049889, + "Y": -4229.2298406873888, + "Zoom": 1.5022542176644842 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause.md b/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause.md index 93f31300680..bfe50a30116 100644 --- a/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause.md +++ b/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause.md @@ -1,7 +1,8 @@ ## In Depth -Pause will return the result of a node after pausing the thread for a specified amount of time. In the example below, a circle is extruded into a surface 5 seconds after the thread is run. To use the time delay, the program should be run in Manual. +`Thread.Pause` returns the result of a node after pausing the execution of the graph (thread) for a specified amount of time. + +In the example below, a circle is extruded into a surface 5 seconds after the graph is run. To use the time delay, run mode should be set to Manual. ___ ## Example File -![Pause.gif](./DSCore.Thread.Pause_img.gif) - +![Thread.Pause](./DSCore.Thread.Pause_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause_img.jpg b/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause_img.jpg index d6632da5b8e..d46375a4b5c 100644 Binary files a/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause_img.jpg and b/doc/distrib/NodeHelpFiles/DSCore.Thread.Pause_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/List.Equals.dyn b/doc/distrib/NodeHelpFiles/List.Equals.dyn new file mode 100644 index 00000000000..32519e99e22 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.Equals.dyn @@ -0,0 +1,469 @@ +{ + "Uuid": "459ca6d7-5caa-4c83-982e-b220dc43e25f", + "IsCustomNode": false, + "Description": "", + "Name": "List.Equals", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "6b1b1263e5154d05aba2bf2a680ee031", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "2", + "MaximumValue": 5.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + }, + { + "Id": "a816797097f94ac4a1a73a3433f1f15c", + "Name": "Number Slider", + "Type": "number", + "Type2": "number", + "Value": "1", + "MaximumValue": 5.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "NumberType": "Double", + "Description": "Produces numeric values", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "3fc8d7a830cb46609220a38d2bf8c774", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "50f7089bfba8415db212b2dc3b114a2c", + "Name": "object", + "Description": "First object\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "552850a027eb42c0becd7b2a3b495aa3", + "Name": "otherObject", + "Description": "Other object\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "6d5e2a0ad473447c9fd03b0c300b85c5", + "Name": "bool", + "Description": "Returns true if object instances are equal, false if they are different", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "List.Equals@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Determines whether two object instances are equal.\n\nList.Equals (object: var[]..[], otherObject: var[]..[]): bool" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "9ffdaec77f914e338c9d702a74faef9f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "a4761a880af349939d88886b53e6505c", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "299d45a8267e474f8a46bae37f7b43a6", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "a9560a86537644d18493ba9a337e4161", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "ce69c6e904714db4891e635256f215ca", + "Name": "centerPoint", + "Description": "Center point of circle\n\nPoint\nDefault value : Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "d2bcabb579384dca98b939069e6e1412", + "Name": "radius", + "Description": "Radius\n\ndouble\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "2f4a40500e7b4cd98265de97a75b0b7b", + "Name": "Circle", + "Description": "Circle created with center point and radius", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Circle.ByCenterPointRadius@Autodesk.DesignScript.Geometry.Point,double", + "Replication": "Auto", + "Description": "Creates a Circle with input center Point and radius in the world XY plane, with world Z as normal.\n\nCircle.ByCenterPointRadius (centerPoint: Point = Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0), radius: double = 1): Circle" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "6f956705bb4d4d698b08dce05cd83434", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "443f1251346d4c5da852366071368eb4", + "Name": "centerPoint", + "Description": "Center point of circle\n\nPoint\nDefault value : Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "493d2fe994034a7c956151390ada8fdd", + "Name": "radius", + "Description": "Radius\n\ndouble\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "623b3d2717864bf0af73c54af1e6946a", + "Name": "Circle", + "Description": "Circle created with center point and radius", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Circle.ByCenterPointRadius@Autodesk.DesignScript.Geometry.Point,double", + "Replication": "Auto", + "Description": "Creates a Circle with input center Point and radius in the world XY plane, with world Z as normal.\n\nCircle.ByCenterPointRadius (centerPoint: Point = Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0), radius: double = 1): Circle" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "179a2f534684444a92ebcd85ef3cebcf", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "6a4e6d2c84aa46c8b5af83d1e9ba850a", + "Name": "circle", + "Description": "Autodesk.DesignScript.Geometry.Circle", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c2cc9b4db34f45ffb039bf1f78210d10", + "Name": "double", + "Description": "double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Circle.Radius", + "Replication": "Auto", + "Description": "Returns the radius of the circle.\n\nCircle.Radius: double" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "c39da5b6f5aa4b9a9292df550262e0e3", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "44129ee8dad548fb8e1878358c0960ae", + "Name": "circle", + "Description": "Autodesk.DesignScript.Geometry.Circle", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "42dd7eaa19d14e369dcadd579738889c", + "Name": "double", + "Description": "double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Circle.Radius", + "Replication": "Auto", + "Description": "Returns the radius of the circle.\n\nCircle.Radius: double" + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 5.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "Id": "6b1b1263e5154d05aba2bf2a680ee031", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "b43a55c31ed6467280e109c557241db4", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 2.0 + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NumberType": "Double", + "MaximumValue": 5.0, + "MinimumValue": 0.0, + "StepValue": 1.0, + "Id": "a816797097f94ac4a1a73a3433f1f15c", + "NodeType": "NumberInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "fc5dd34fdf6c46269ca9dff81b7e5aa8", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values", + "InputValue": 1.0 + } + ], + "Connectors": [ + { + "Start": "6d5e2a0ad473447c9fd03b0c300b85c5", + "End": "a4761a880af349939d88886b53e6505c", + "Id": "81d43d9d9af7482398da3a8f404d370d", + "IsHidden": "False" + }, + { + "Start": "2f4a40500e7b4cd98265de97a75b0b7b", + "End": "6a4e6d2c84aa46c8b5af83d1e9ba850a", + "Id": "39336c03097740f5b82a66b230aa59e9", + "IsHidden": "False" + }, + { + "Start": "623b3d2717864bf0af73c54af1e6946a", + "End": "44129ee8dad548fb8e1878358c0960ae", + "Id": "12011ac89efe47fa88024cff665ae647", + "IsHidden": "False" + }, + { + "Start": "c2cc9b4db34f45ffb039bf1f78210d10", + "End": "50f7089bfba8415db212b2dc3b114a2c", + "Id": "1000e8334d8a49f8824f14e8b90348a6", + "IsHidden": "False" + }, + { + "Start": "42dd7eaa19d14e369dcadd579738889c", + "End": "552850a027eb42c0becd7b2a3b495aa3", + "Id": "57a3e77b4b7a4cff924d8da3ff4216bb", + "IsHidden": "False" + }, + { + "Start": "b43a55c31ed6467280e109c557241db4", + "End": "d2bcabb579384dca98b939069e6e1412", + "Id": "5f4eeae40d5645fa82bf8c8240e5e35a", + "IsHidden": "False" + }, + { + "Start": "fc5dd34fdf6c46269ca9dff81b7e5aa8", + "End": "493d2fe994034a7c956151390ada8fdd", + "Id": "9181965053aa4694977ad83157eea1c3", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -19.80754724340575, + "EyeY": 90.564444461668316, + "EyeZ": 116.00855545016306, + "LookX": 19.80754724340575, + "LookY": -90.564444461668316, + "LookZ": -116.00855545016306, + "UpX": 0.071661420166492462, + "UpY": 0.9048270583152771, + "UpZ": -0.41970542073249817 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "3fc8d7a830cb46609220a38d2bf8c774", + "Name": "List.Equals", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1136.9, + "Y": 291.40000000000009 + }, + { + "Id": "9ffdaec77f914e338c9d702a74faef9f", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1461.9, + "Y": 291.40000000000009 + }, + { + "Id": "a9560a86537644d18493ba9a337e4161", + "Name": "Circle.ByCenterPointRadius", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 458.9, + "Y": 219.40000000000003 + }, + { + "Id": "6f956705bb4d4d698b08dce05cd83434", + "Name": "Circle.ByCenterPointRadius", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 458.9, + "Y": 397.40000000000009 + }, + { + "Id": "179a2f534684444a92ebcd85ef3cebcf", + "Name": "Circle.Radius", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 834.9, + "Y": 234.40000000000009 + }, + { + "Id": "c39da5b6f5aa4b9a9292df550262e0e3", + "Name": "Circle.Radius", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 834.9, + "Y": 382.40000000000009 + }, + { + "Id": "6b1b1263e5154d05aba2bf2a680ee031", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 10.899999999999977, + "Y": 253.40000000000006 + }, + { + "Id": "a816797097f94ac4a1a73a3433f1f15c", + "Name": "Number Slider", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 10.899999999999977, + "Y": 431.40000000000009 + } + ], + "Annotations": [], + "X": 172.31387998137382, + "Y": -61.630304860849492, + "Zoom": 0.74804557627634238 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.Equals.md b/doc/distrib/NodeHelpFiles/List.Equals.md new file mode 100644 index 00000000000..496015a5638 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.Equals.md @@ -0,0 +1,8 @@ +## In Depth +`List.Equals` returns a True Boolean value if both input objects are the same. + +In the example below, the radii (doubles) of two circles are compared. When the number sliders have different values, `List.Equals` returns False. When both values are the same, `List.Equals` returns True. +___ +## Example File + +![List.Equals](./List.Equals_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.Equals_img.jpg b/doc/distrib/NodeHelpFiles/List.Equals_img.jpg new file mode 100644 index 00000000000..2453de9f8fa Binary files /dev/null and b/doc/distrib/NodeHelpFiles/List.Equals_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/List.Rank.dyn b/doc/distrib/NodeHelpFiles/List.Rank.dyn new file mode 100644 index 00000000000..ee52ea91c3c --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.Rank.dyn @@ -0,0 +1,248 @@ +{ + "Uuid": "5d92e757-8df0-4b3e-ab05-8b55abdeebd4", + "IsCustomNode": false, + "Description": "", + "Name": "List.Rank", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "03a55855052d4c4db5a322f7a355c8c5", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ce6696423a874706a924ff14c940cc7e", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..10..#9;" + }, + { + "ConcreteType": "CoreNodeModels.CreateList, CoreNodeModels", + "VariableInputPorts": true, + "Id": "4c88dc5d510c42a3b0476101a808fd3f", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "6c77c34ea94749bca2500c895f30a67a", + "Name": "item0", + "Description": "Item Index #0", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "6b172fc4427241b7985c7c4c6111cfec", + "Name": "item1", + "Description": "Item Index #1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "713ab0df48874b7c96a28921ba3b7080", + "Name": "list", + "Description": "A list (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Makes a new list from the given inputs" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "33286c48fbea45c9b34008ef248aa49d", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "e81013b2734548b5ad9ca9b057429cf4", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "7066f6f995084e4884af8c6c82b187e6", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "2558122f6d7f4017b32da152805bedb6", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "f642024c41ec4be78a8d4d8e5714073c", + "Name": "list", + "Description": "List from which to query rank\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "7ca75e587c5f4438a7a16a01a810253f", + "Name": "int", + "Description": "Deepest depth of the list", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "List.Rank@var[]..[]", + "Replication": "Auto", + "Description": "Returns the deepest depth of the list\n\nList.Rank (list: var[]..[]): int" + } + ], + "Connectors": [ + { + "Start": "ce6696423a874706a924ff14c940cc7e", + "End": "6c77c34ea94749bca2500c895f30a67a", + "Id": "1c397bd56194407fa545f0caf813d0a9", + "IsHidden": "False" + }, + { + "Start": "ce6696423a874706a924ff14c940cc7e", + "End": "6b172fc4427241b7985c7c4c6111cfec", + "Id": "9a5e373e1ac84306a2c97494d9b19040", + "IsHidden": "False" + }, + { + "Start": "713ab0df48874b7c96a28921ba3b7080", + "End": "e81013b2734548b5ad9ca9b057429cf4", + "Id": "6e542a70137a4d2ab7fb15b8c170a7e4", + "IsHidden": "False" + }, + { + "Start": "7066f6f995084e4884af8c6c82b187e6", + "End": "f642024c41ec4be78a8d4d8e5714073c", + "Id": "6251de0ee6174fa1a5db0b75d63c0fc2", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "03a55855052d4c4db5a322f7a355c8c5", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 401.0, + "Y": 370.597123042599 + }, + { + "Id": "4c88dc5d510c42a3b0476101a808fd3f", + "Name": "List.Create", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 664.0, + "Y": 353.769623042599 + }, + { + "Id": "33286c48fbea45c9b34008ef248aa49d", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 924.0, + "Y": 299.0 + }, + { + "Id": "2558122f6d7f4017b32da152805bedb6", + "Name": "List.Rank", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1262.51038575668, + "Y": 313.26409495549 + } + ], + "Annotations": [], + "X": 219.98689130071182, + "Y": 124.40136875548296, + "Zoom": 0.67031925451945451 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.Rank.md b/doc/distrib/NodeHelpFiles/List.Rank.md new file mode 100644 index 00000000000..e5e9731330a --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.Rank.md @@ -0,0 +1,9 @@ +## In Depth +`List.Rank` counts how many levels are in a list. + +In the example below, we use a Rank node to return the number of levels on a list. The list has 2 levels, so `List.Rank` returns 2. + +___ +## Example File + +![List.Rank](./List.Rank_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.Rank_img.jpg b/doc/distrib/NodeHelpFiles/List.Rank_img.jpg new file mode 100644 index 00000000000..2fbe5488bf9 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/List.Rank_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/List.RemoveIfNot.dyn b/doc/distrib/NodeHelpFiles/List.RemoveIfNot.dyn new file mode 100644 index 00000000000..c6b4699daeb --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.RemoveIfNot.dyn @@ -0,0 +1,315 @@ +{ + "Uuid": "559749b1-4aa3-4fca-8910-a1dce3ff8578", + "IsCustomNode": false, + "Description": "", + "Name": "List.RemoveIfNot", + "ElementResolver": { + "ResolutionMap": { + "Point": { + "Key": "Autodesk.DesignScript.Geometry.Point", + "Value": "ProtoGeometry.dll" + }, + "Line": { + "Key": "Autodesk.DesignScript.Geometry.Line", + "Value": "ProtoGeometry.dll" + } + } + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "094ff3ba6ec942cb9aa7e23dee7edc2d", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "5c94dbb5b5d34c758401979379f79eb7", + "Name": "list", + "Description": "List to remove items from\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "792e4af9c92747b3ad89b5d131e007f8", + "Name": "type", + "Description": "Type of element\n\nstring", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "c8b505ed26e64bb5b00877799308f9be", + "Name": "list", + "Description": "List with everything removed except a specified type", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "List.RemoveIfNot@var[]..[],string", + "Replication": "Auto", + "Description": "Removes the members of the list which are not members of the specified type.\n\nList.RemoveIfNot (list: var[]..[], type: string): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "a2260bf74cfa4b1997b85285f4f1b734", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "3e6203950f6b46eca6beed87b545cbf5", + "Name": "", + "Description": "p1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "3ba0f03143b74d3c9abcf820049344fc", + "Name": "", + "Description": "p2", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "69a42f04b88343858cf61a30c23a2e2e", + "Name": "", + "Description": "l1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "be396eded27245aa951dffaea26102ea", + "Name": "", + "Description": "Value of expression at line 4", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "p1 = Point.ByCoordinates(0,0,1);\np2 = Point.ByCoordinates(2,4,3);\nl1 = Line.ByStartPointEndPoint(p1,p2);\n[p1,p2,l1];" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "77b0cba6dfd4495e92e86b9699cc7172", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "686d2cf572ce462ab7006e3319dd16cd", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "\"Line\";" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 331.0, + "WatchHeight": 203.0, + "Id": "2c95c0944cd845088d1161503d72a448", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "41c4465695d24ab7a8b6a079f94d610b", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9110f4b8259046bcb6a7a0e7d48089f1", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 200.0, + "WatchHeight": 200.0, + "Id": "faf66c5e925a46eeae0a8924fc037209", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "f1194e1b9a694dd6864d3dd0b9d822eb", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "589eb00b0e834e7487fbc9adaf8f1d6d", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + } + ], + "Connectors": [ + { + "Start": "c8b505ed26e64bb5b00877799308f9be", + "End": "41c4465695d24ab7a8b6a079f94d610b", + "Id": "a5d2f1b7933e46e3b071fecff8728768", + "IsHidden": "False" + }, + { + "Start": "be396eded27245aa951dffaea26102ea", + "End": "f1194e1b9a694dd6864d3dd0b9d822eb", + "Id": "83637d16d64a419583a107249eb9c33d", + "IsHidden": "False" + }, + { + "Start": "686d2cf572ce462ab7006e3319dd16cd", + "End": "792e4af9c92747b3ad89b5d131e007f8", + "Id": "2b1fcea715ce4ebe99fc3f1cb8d36fdf", + "IsHidden": "False" + }, + { + "Start": "589eb00b0e834e7487fbc9adaf8f1d6d", + "End": "5c94dbb5b5d34c758401979379f79eb7", + "Id": "8f467ba3b152485185ad7b101d2fd74d", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": 6.1273198127746582, + "EyeY": 4.5690932273864746, + "EyeZ": 0.054628286510705948, + "LookX": -7.8860259056091309, + "LookY": -2.9866225719451904, + "LookZ": -2.8842167854309082, + "UpX": -0.11770770698785782, + "UpY": 0.99211466312408447, + "UpZ": -0.043050140142440796 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "094ff3ba6ec942cb9aa7e23dee7edc2d", + "Name": "List.RemoveIfNot", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1177.2020116963954, + "Y": 409.2044392546361 + }, + { + "Id": "a2260bf74cfa4b1997b85285f4f1b734", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": false, + "X": 319.2020116963954, + "Y": 219.99693925463603 + }, + { + "Id": "77b0cba6dfd4495e92e86b9699cc7172", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": false, + "X": 800.2020116963954, + "Y": 583.03193925463609 + }, + { + "Id": "2c95c0944cd845088d1161503d72a448", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1480.2020116963954, + "Y": 409.2044392546361 + }, + { + "Id": "faf66c5e925a46eeae0a8924fc037209", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 800.2020116963954, + "Y": 269.2044392546361 + } + ], + "Annotations": [], + "X": -62.564157984546341, + "Y": 36.699941464023539, + "Zoom": 0.68873486297004471 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.RemoveIfNot.md b/doc/distrib/NodeHelpFiles/List.RemoveIfNot.md new file mode 100644 index 00000000000..4167bc9f0f4 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.RemoveIfNot.md @@ -0,0 +1,10 @@ +## In Depth +`List.RemoveIfNot` returns a list that retains items that match the given element type and removes all other items on the original list. + +You may need to use the full node path, such as `Autodesk.DesignScript.Geometry.Surface`, in the `type` input to remove items. To retrieve the paths for list items, you can input your list into an `Object.Type` node. + +In the example below, `List.RemoveIfNot` returns a list with one line, removing the point elements from the original list because they do not match the specified type. +___ +## Example File + +![List.RemoveIfNot](./List.RemoveIfNot_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.RemoveIfNot_img.jpg b/doc/distrib/NodeHelpFiles/List.RemoveIfNot_img.jpg new file mode 100644 index 00000000000..d2648bcec15 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/List.RemoveIfNot_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/List.TrueForAll.dyn b/doc/distrib/NodeHelpFiles/List.TrueForAll.dyn new file mode 100644 index 00000000000..9ca9c1f901b --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.TrueForAll.dyn @@ -0,0 +1,605 @@ +{ + "Uuid": "2a18fc4b-3f89-40e5-ade0-0ea91a152e1a", + "IsCustomNode": false, + "Description": "", + "Name": "List.TrueForAll", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "de830da1894f4381a42e81c84bd8f0d7", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "357e97cbf94d40e4a55b09daf07b69a7", + "Name": "list", + "Description": "List from which to evaluate items by query function\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "4452e2a82d1d45238b65a3d31bd15568", + "Name": "queryFunction", + "Description": "Function to evaluate list\n\nFunction", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "fe5783cf677e4f3a89b3a56fee06e78b", + "Name": "bool", + "Description": "Returns true if all items in the list evaluate to true with the given query function", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "List.TrueForAll@var[]..[],Function", + "Replication": "Auto", + "Description": "Returns true if all items in the list evaluate to true with the given query function\n\nList.TrueForAll (list: var[]..[], queryFunction: Function): bool" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "1d2392db5d014878b468f9eb9e8572ba", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "f4fcfe3db72d4200bd7c209fa3469efb", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..10;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "1a89a550c27d4c75846797b156260d0b", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "46310943106149de9496dbc827d146ff", + "Name": "x", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "4f264f87425940a9ad010dcdaf254ebd", + "Name": "y", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "26ba59b173714f6da719b04309531a97", + "Name": "bool", + "Description": "True if x is greater than y, false if not", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": ">@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x is greater than y\n\n> (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "5ac2fceeabbf43bd97e2068954f29fb8", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "fb78077146024066bed712531fbbef50", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "11;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "10e4b04a04e3481ab32463b73908e2ee", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "654f5ac457684a2ead08bbd17f5a06ab", + "Name": "list", + "Description": "List from which to evaluate items by query function\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "218aeaa76ba94213986b72830db7379d", + "Name": "queryFunction", + "Description": "Function to evaluate list\n\nFunction", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "97a2ff059fc84b318beeca0cbf218126", + "Name": "bool", + "Description": "Returns true if all items in the list evaluate to true with the given query function", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "List.TrueForAll@var[]..[],Function", + "Replication": "Auto", + "Description": "Returns true if all items in the list evaluate to true with the given query function\n\nList.TrueForAll (list: var[]..[], queryFunction: Function): bool" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "b836ebc401dc47e4a76cf64530a3e144", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "7f47263966a9474885f1ccd59f3f00fe", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "11;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "79791fc0db8b49da95dd8e994f5c666f", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "5686ec5f85854459aaf3f069219bc30b", + "Name": "x", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "42cd7d2933484e01926e066ebc180055", + "Name": "y", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0d7c1bd60bca40c48691776f2d16f909", + "Name": "bool", + "Description": "Result of check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "<@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x is lower to y\n\n< (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "6c5eef1108784bbab5733f807bcb5d65", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "93dd6d504a044799b473a2a8352b561c", + "Name": "x", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "96431fa4f58d412b8d94c2fa342fdbbf", + "Name": "y", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "ec1015fa763a4afc8f3de6dfe78f0b2c", + "Name": "bool", + "Description": "Result of check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "<@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x is lower to y\n\n< (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "00e9fc9c0f96474dbcc824a62cfb468f", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "4539258d3f02449d87bae6d032fba543", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "5;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "aeec6c6c65e541fa9138e6ee4fe320b3", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "94fdc6614ea74232b55a8e3e8ff1123b", + "Name": "list", + "Description": "List from which to evaluate items by query function\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "b8e134e5df6b4f93b489f23543c75f4b", + "Name": "queryFunction", + "Description": "Function to evaluate list\n\nFunction", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "a1a3f3dd8411486da8726aaba6642e6f", + "Name": "bool", + "Description": "Returns true if all items in the list evaluate to true with the given query function", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "List.TrueForAll@var[]..[],Function", + "Replication": "Auto", + "Description": "Returns true if all items in the list evaluate to true with the given query function\n\nList.TrueForAll (list: var[]..[], queryFunction: Function): bool" + } + ], + "Connectors": [ + { + "Start": "f4fcfe3db72d4200bd7c209fa3469efb", + "End": "357e97cbf94d40e4a55b09daf07b69a7", + "Id": "fdaaa4f2600743b1854f79afdfc145d8", + "IsHidden": "False" + }, + { + "Start": "f4fcfe3db72d4200bd7c209fa3469efb", + "End": "654f5ac457684a2ead08bbd17f5a06ab", + "Id": "62f2c311b1684e82910a10241b67c4ab", + "IsHidden": "False" + }, + { + "Start": "f4fcfe3db72d4200bd7c209fa3469efb", + "End": "94fdc6614ea74232b55a8e3e8ff1123b", + "Id": "3dd6ed9efa4945f0862aa80db52306ed", + "IsHidden": "False" + }, + { + "Start": "26ba59b173714f6da719b04309531a97", + "End": "4452e2a82d1d45238b65a3d31bd15568", + "Id": "89e5933e41684287abfbe75f2d345f22", + "IsHidden": "False" + }, + { + "Start": "fb78077146024066bed712531fbbef50", + "End": "4f264f87425940a9ad010dcdaf254ebd", + "Id": "7550c13ce4fe4bb68ff7ac201afeff9f", + "IsHidden": "False" + }, + { + "Start": "7f47263966a9474885f1ccd59f3f00fe", + "End": "42cd7d2933484e01926e066ebc180055", + "Id": "2edd6e176c9d4e7d94cc2ed02bd13d95", + "IsHidden": "False" + }, + { + "Start": "0d7c1bd60bca40c48691776f2d16f909", + "End": "218aeaa76ba94213986b72830db7379d", + "Id": "90d6b8e22736425d8a85c9e7044b8357", + "IsHidden": "False" + }, + { + "Start": "ec1015fa763a4afc8f3de6dfe78f0b2c", + "End": "b8e134e5df6b4f93b489f23543c75f4b", + "Id": "2d59221305bf4b6fb902d0d2db674d26", + "IsHidden": "False" + }, + { + "Start": "4539258d3f02449d87bae6d032fba543", + "End": "96431fa4f58d412b8d94c2fa342fdbbf", + "Id": "90e263a11d034811acfb76c824f3556a", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -14.255815505981445, + "EyeY": 76.005500793457031, + "EyeZ": 38.911357879638672, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "de830da1894f4381a42e81c84bd8f0d7", + "Name": "List.TrueForAll", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 704.42901103094459, + "Y": -57.311202212139563 + }, + { + "Id": "1d2392db5d014878b468f9eb9e8572ba", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": -25.283249287280398, + "Y": -78.941008931466286 + }, + { + "Id": "1a89a550c27d4c75846797b156260d0b", + "Name": ">", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 477.17162359717679, + "Y": -23.671554424992422 + }, + { + "Id": "5ac2fceeabbf43bd97e2068954f29fb8", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 278.25133331147009, + "Y": -0.459965383015259 + }, + { + "Id": "10e4b04a04e3481ab32463b73908e2ee", + "Name": "List.TrueForAll", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 678.92692957871861, + "Y": 270.82887897463058 + }, + { + "Id": "b836ebc401dc47e4a76cf64530a3e144", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 274.71200548276551, + "Y": 336.82302295544582 + }, + { + "Id": "79791fc0db8b49da95dd8e994f5c666f", + "Name": "<", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 459.28775570883971, + "Y": 303.12607503523094 + }, + { + "Id": "6c5eef1108784bbab5733f807bcb5d65", + "Name": "<", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 471.08551513785443, + "Y": 617.84143004435862 + }, + { + "Id": "00e9fc9c0f96474dbcc824a62cfb468f", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 279.54613153231145, + "Y": 651.53837796457447 + }, + { + "Id": "aeec6c6c65e541fa9138e6ee4fe320b3", + "Name": "List.TrueForAll", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 681.33665520545526, + "Y": 581.30672235574332 + } + ], + "Annotations": [ + { + "Id": "416dd7c6b1244d6e84e7e4c8263c32d4", + "Title": "Check the list to see if all of the values are greater than 11.", + "DescriptionText": "Expected result of 'TrueForAll' is false", + "IsExpanded": true, + "WidthAdjustment": 0.0, + "HeightAdjustment": 0.0, + "Nodes": [ + "de830da1894f4381a42e81c84bd8f0d7", + "1a89a550c27d4c75846797b156260d0b", + "5ac2fceeabbf43bd97e2068954f29fb8" + ], + "HasNestedGroups": false, + "Left": 268.25133331147009, + "Top": -116.31120221213956, + "Width": 686.17767771947456, + "Height": 254.63964778714714, + "FontSize": 24.0, + "GroupStyleId": "00000000-0000-0000-0000-000000000000", + "InitialTop": -57.311202212139563, + "InitialHeight": 201.8512368291243, + "TextblockHeight": 49.0, + "Background": "#FFFFC999" + }, + { + "Id": "ed39af7dc7ba409ba0a1536e5441ff96", + "Title": "Check the list to see if all of the values are less than 11.", + "DescriptionText": "Expected result of 'TrueForAll' is true", + "IsExpanded": true, + "WidthAdjustment": 0.0, + "HeightAdjustment": 0.0, + "Nodes": [ + "10e4b04a04e3481ab32463b73908e2ee", + "b836ebc401dc47e4a76cf64530a3e144", + "79791fc0db8b49da95dd8e994f5c666f" + ], + "HasNestedGroups": false, + "Left": 264.71200548276551, + "Top": 211.82887897463058, + "Width": 664.21492409595317, + "Height": 256.99414398081524, + "FontSize": 24.0, + "GroupStyleId": "00000000-0000-0000-0000-000000000000", + "InitialTop": 270.82887897463058, + "InitialHeight": 210.99414398081524, + "TextblockHeight": 49.0, + "Background": "#FFE8F7AD" + }, + { + "Id": "a578f4a8169b462082182c81090284e8", + "Title": "Check the list to see if all of the values are less than < 5.", + "DescriptionText": "Expected result of 'TrueForAll' is false", + "IsExpanded": true, + "WidthAdjustment": 0.0, + "HeightAdjustment": 0.0, + "Nodes": [ + "6c5eef1108784bbab5733f807bcb5d65", + "00e9fc9c0f96474dbcc824a62cfb468f", + "aeec6c6c65e541fa9138e6ee4fe320b3" + ], + "HasNestedGroups": false, + "Left": 269.54613153231145, + "Top": 522.30672235574332, + "Width": 661.79052367314375, + "Height": 261.23165560883115, + "FontSize": 24.0, + "GroupStyleId": "00000000-0000-0000-0000-000000000000", + "InitialTop": 581.30672235574332, + "InitialHeight": 215.23165560883115, + "TextblockHeight": 49.0, + "Background": "#FFFFC999" + } + ], + "X": 340.58108771677877, + "Y": 87.099723277310673, + "Zoom": 0.72332142761036378 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.TrueForAll.md b/doc/distrib/NodeHelpFiles/List.TrueForAll.md new file mode 100644 index 00000000000..8e97cdd4987 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.TrueForAll.md @@ -0,0 +1,8 @@ +## In Depth +`List.TrueForAll` returns a Boolean value showing if the condition in the `queryFunction` input is True for all items on the list. The `queryFunction` input must be a Boolean. + +The example below shows three functions being used to evaluate an input list. The first uses a greater than (>) node to evaluate if all values in the list are greater than 11, which returns False. The second uses a less than (<) node to evaluate if all the values in the list are less than 11, which returns True. The third uses a less than (<) node to evaluate if all the values in the list are less than 5, which returns False. +___ +## Example File + +![List.TrueForAll](./List.TrueForAll_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.TrueForAll_img.jpg b/doc/distrib/NodeHelpFiles/List.TrueForAll_img.jpg new file mode 100644 index 00000000000..96c3ff67c63 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/List.TrueForAll_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/List.TrueForAny.dyn b/doc/distrib/NodeHelpFiles/List.TrueForAny.dyn new file mode 100644 index 00000000000..75286bf7a3e --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.TrueForAny.dyn @@ -0,0 +1,435 @@ +{ + "Uuid": "b409b956-5363-45a5-b167-b528606d9a12", + "IsCustomNode": false, + "Description": "", + "Name": "List.TrueForAny", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "da073e3615e14f27849da896c1f46437", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "bdbd74e6a3d349469b1fb12131fb2fb8", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0..10;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "5ec8fe60bba84468b1e4d7837233a4a7", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "8f675a4cb6824e3b9f58660bcefc4ef9", + "Name": "x", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "84c2b3d2c1844d9489346c2350bbd619", + "Name": "y", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "66a226f83ac8437cbb9aea2b65d3d3a0", + "Name": "bool", + "Description": "True if x is greater than y, false if not", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": ">@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x is greater than y\n\n> (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "8872000438664af8b459a5e2e72c86ac", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "6e9248bd07424346a2cb622771a625da", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "11;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "6ce841bb40f544b9bcb67048189ab392", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "539051f6d4e1448d92e8071c07fd033f", + "Name": "x", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "f47b6524f90c41d0a564ebd6bd9d2ed5", + "Name": "y", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "434e3dcec4664d90bb9e699036f6bf65", + "Name": "bool", + "Description": "Result of check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "<@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x is lower to y\n\n< (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "141a337b2de3440db4560930dde15af6", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ecda4ee5a7e04e1b8b5662b6bcdc7c7f", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "5;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "9c76db7e83fe451e93d104d33a930983", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "17a6ff5fd5b84bb68978dd7ff582af91", + "Name": "list", + "Description": "List from which to evaluate items by query function\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "4f6a86d1d99e46459ba506c77e853b80", + "Name": "queryFunction", + "Description": "Function to evaluate list\n\nFunction", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "e4ca59d59210487e90f52b35e843f30a", + "Name": "bool", + "Description": "Returns true if any of the items in the list evaluate to true with the query function", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "List.TrueForAny@var[]..[],Function", + "Replication": "Auto", + "Description": "Returns true if one or more items in the list evaluate to true with the given query function\n\nList.TrueForAny (list: var[]..[], queryFunction: Function): bool" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "a8e56d9b3c4c4bc68a52c0bad2503ca8", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "eb6adaab8fc74682915477898939237c", + "Name": "list", + "Description": "List from which to evaluate items by query function\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "7b9c89e85f0646da9e6314357972ce33", + "Name": "queryFunction", + "Description": "Function to evaluate list\n\nFunction", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "bfe5ecd77b4648299d60cfe4af33fc63", + "Name": "bool", + "Description": "Returns true if any of the items in the list evaluate to true with the query function", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "List.TrueForAny@var[]..[],Function", + "Replication": "Auto", + "Description": "Returns true if one or more items in the list evaluate to true with the given query function\n\nList.TrueForAny (list: var[]..[], queryFunction: Function): bool" + } + ], + "Connectors": [ + { + "Start": "bdbd74e6a3d349469b1fb12131fb2fb8", + "End": "17a6ff5fd5b84bb68978dd7ff582af91", + "Id": "2fd6c55634d24561b3f6c3f66cec8d23", + "IsHidden": "False" + }, + { + "Start": "bdbd74e6a3d349469b1fb12131fb2fb8", + "End": "eb6adaab8fc74682915477898939237c", + "Id": "43249d2fcbd14a20a8f08f162c78516e", + "IsHidden": "False" + }, + { + "Start": "66a226f83ac8437cbb9aea2b65d3d3a0", + "End": "4f6a86d1d99e46459ba506c77e853b80", + "Id": "9746c5c5c7054583aad3ee3173ab9e5c", + "IsHidden": "False" + }, + { + "Start": "6e9248bd07424346a2cb622771a625da", + "End": "84c2b3d2c1844d9489346c2350bbd619", + "Id": "008bffb88b634a9c8d0dc3818f61ca34", + "IsHidden": "False" + }, + { + "Start": "434e3dcec4664d90bb9e699036f6bf65", + "End": "7b9c89e85f0646da9e6314357972ce33", + "Id": "8416c2b629e742e68724823b4c5fef96", + "IsHidden": "False" + }, + { + "Start": "ecda4ee5a7e04e1b8b5662b6bcdc7c7f", + "End": "f47b6524f90c41d0a564ebd6bd9d2ed5", + "Id": "9c600f8ddca943eda5d5a2de8dd9807d", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -14.255815505981445, + "EyeY": 76.005500793457031, + "EyeZ": 38.911357879638672, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "da073e3615e14f27849da896c1f46437", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 39.271059626424005, + "Y": 138.51168018656975 + }, + { + "Id": "5ec8fe60bba84468b1e4d7837233a4a7", + "Name": ">", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 470.10671734116931, + "Y": 126.32167988327194 + }, + { + "Id": "8872000438664af8b459a5e2e72c86ac", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 283.89253563211565, + "Y": 163.93144852334871 + }, + { + "Id": "6ce841bb40f544b9bcb67048189ab392", + "Name": "<", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 467.48444038374043, + "Y": 454.70402571091137 + }, + { + "Id": "141a337b2de3440db4560930dde15af6", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 286.37252165955965, + "Y": 485.7046847939107 + }, + { + "Id": "9c76db7e83fe451e93d104d33a930983", + "Name": "List.TrueForAny", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 675.61044104816528, + "Y": 91.099982019927836 + }, + { + "Id": "a8e56d9b3c4c4bc68a52c0bad2503ca8", + "Name": "List.TrueForAny", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 673.73183413902734, + "Y": 413.08734469753631 + } + ], + "Annotations": [ + { + "Id": "ff21507c786b467fa9a46948a36f9f53", + "Title": "Check the list to see if any of the values are greater than 11.", + "DescriptionText": "Expected result of 'TrueForAny' is false", + "IsExpanded": true, + "WidthAdjustment": 0.0, + "HeightAdjustment": 0.0, + "Nodes": [ + "5ec8fe60bba84468b1e4d7837233a4a7", + "8872000438664af8b459a5e2e72c86ac", + "9c76db7e83fe451e93d104d33a930983" + ], + "HasNestedGroups": false, + "Left": 273.89253563211565, + "Top": 32.099982019927836, + "Width": 651.71790541604969, + "Height": 263.83146650342087, + "FontSize": 24.0, + "GroupStyleId": "00000000-0000-0000-0000-000000000000", + "InitialTop": 91.099982019927836, + "InitialHeight": 217.83146650342087, + "TextblockHeight": 49.0, + "Background": "#FFFFC999" + }, + { + "Id": "2dcea8a304a048ab94c1e33956c270cb", + "Title": "Check the list to see if any of the values are less than 5. ", + "DescriptionText": "Expected result of 'TrueForAny' is true", + "IsExpanded": true, + "WidthAdjustment": 0.0, + "HeightAdjustment": 0.0, + "Nodes": [ + "6ce841bb40f544b9bcb67048189ab392", + "141a337b2de3440db4560930dde15af6", + "a8e56d9b3c4c4bc68a52c0bad2503ca8" + ], + "HasNestedGroups": false, + "Left": 276.37252165955965, + "Top": 354.08734469753631, + "Width": 647.35931247946769, + "Height": 263.61734009637439, + "FontSize": 24.0, + "GroupStyleId": "00000000-0000-0000-0000-000000000000", + "InitialTop": 413.08734469753631, + "InitialHeight": 217.61734009637439, + "TextblockHeight": 49.0, + "Background": "#FFE8F7AD" + } + ], + "X": 181.77765053309315, + "Y": -9.6239642816931621, + "Zoom": 1.0114575768488721 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.TrueForAny.md b/doc/distrib/NodeHelpFiles/List.TrueForAny.md new file mode 100644 index 00000000000..eb575c8e454 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/List.TrueForAny.md @@ -0,0 +1,8 @@ +## In Depth +`List.TrueForAny` returns a Boolean value showing if the condition in the `queryFunction` input is True for at least one item on the list. The `queryFunction` input must be a Boolean. + +The example below shows two functions being used to evaluate an input list. The first uses a greater than (>) node to evaluate if any of the list values are greater than 11, which returns False. The second uses a less than (<) node to evaluate if any of the list values are less than 5, which returns True. +___ +## Example File + +![List.TrueForAny](./List.TrueForAny_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/List.TrueForAny_img.jpg b/doc/distrib/NodeHelpFiles/List.TrueForAny_img.jpg new file mode 100644 index 00000000000..89bca7f9825 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/List.TrueForAny_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/LoopWhile.dyn b/doc/distrib/NodeHelpFiles/LoopWhile.dyn new file mode 100644 index 00000000000..b9b5a1dbe56 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/LoopWhile.dyn @@ -0,0 +1,492 @@ +{ + "Uuid": "5bc4965c-7e46-47ed-9897-8423e8327300", + "IsCustomNode": false, + "Description": "", + "Name": "LoopWhile", + "ElementResolver": { + "ResolutionMap": { + "Point": { + "Key": "Autodesk.DesignScript.Geometry.Point", + "Value": "ProtoGeometry.dll" + } + } + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "8044da1a916648c4b84be4f5d95b25a8", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "12584abbe432453b87b2376c86c06eba", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "10;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "3d11dd7f3bf54501a58b275222fbb3ad", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ff09cf2a1b4840388f62f64f96d70a27", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "100;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "875822c38a2a4c438e2ab1fc8aab89f4", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "0004af0daccf4f28beca2882238f6aae", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "1;" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "beb2e00cd9ed434c83d649216d25508e", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "14e696687d5f4d63957889b78769d45a", + "Name": "x", + "Description": "Integer value, double value or string\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "be58929b0c184e10ac655ab648f1e3f9", + "Name": "y", + "Description": "Integer value, double value or string\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1fcd63fadc9b42d7bb290d77a2ccda65", + "Name": "var", + "Description": "The sum of two input numbers, or the concatenation of two strings", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "+@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Returns addition of x and y\n\n+ (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "5d80cc807fda4dfe9c357a77aa8ded18", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "e762390f9e2d4522890fda16e465f5cc", + "Name": "x", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "03cb9b2d5db946b8a282e00915482a40", + "Name": "y", + "Description": "Integer or double value\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "42e314c027a0481ab87378ca8da4e00e", + "Name": "bool", + "Description": "Result of check", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "<@var[]..[],var[]..[]", + "Replication": "Auto", + "Description": "Compares if x is lower to y\n\n< (x: var[]..[], y: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 42.0, + "WatchHeight": 38.0, + "Id": "22276d337aff4574955cc6f3c8086fa5", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "0d7c96af487349bfa7ee4c385be751e7", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "e1b26394c1564b61908aa9eee9fb9bbe", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "8c038f0b2eb849c8a1052592c5d515bb", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "cabb26a1a4dd4c69b840e96eebd65083", + "Name": "initialValue", + "Description": "initial value for loop\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "35fce3fcc3b94ebba087a41b6f7c6735", + "Name": "continueWhile", + "Description": "while loop condition\n\nFunction", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "a4cee016fb8942728bc9f4a4610dc1d1", + "Name": "loopBody", + "Description": "while loop body\n\nFunction", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "49d63bf377b7400f8f61a4f29e53e158", + "Name": "result", + "Description": "Result from loop (type: var[]..[])", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "LoopWhile@var[]..[],Function,Function", + "Replication": "Auto", + "Description": "Constructs a while loop node given an initial value, a condition and a loop body.\n\nLoopWhile (initialValue: var[]..[], continueWhile: Function, loopBody: Function): var[]..[]" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "cf26477e00ba42d4a18f2fc83f36bddb", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "116af35780a94da9ba94c2df68e41c26", + "Name": "x", + "Description": "X coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "bd1a87c5497e412bbcd96aeeae868d0a", + "Name": "y", + "Description": "Y coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "483667362eae4713b7ede5e8503974f0", + "Name": "z", + "Description": "Z coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "a9344c15f30c41f0a1e12f8f58285d51", + "Name": "Point", + "Description": "Point created by coordinates", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Autodesk.DesignScript.Geometry.Point.ByCoordinates@double,double,double", + "Replication": "Auto", + "Description": "Form a Point given 3 cartesian coordinates\n\nPoint.ByCoordinates (x: double = 0, y: double = 0, z: double = 0): Point" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "06a722f777024a8b8dd3b0299b4f1db8", + "NodeType": "CodeBlockNode", + "Inputs": [], + "Outputs": [ + { + "Id": "29ad54b462a947e0a08145bc788d48cf", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "0;" + } + ], + "Connectors": [ + { + "Start": "12584abbe432453b87b2376c86c06eba", + "End": "be58929b0c184e10ac655ab648f1e3f9", + "Id": "606a51b7f6df49feba2fee80c80bbc5d", + "IsHidden": "False" + }, + { + "Start": "ff09cf2a1b4840388f62f64f96d70a27", + "End": "03cb9b2d5db946b8a282e00915482a40", + "Id": "675303e7547246a1bda7b217c95d4b5a", + "IsHidden": "False" + }, + { + "Start": "0004af0daccf4f28beca2882238f6aae", + "End": "cabb26a1a4dd4c69b840e96eebd65083", + "Id": "2b2a4735f32b4a42b9093a563c3b3fb7", + "IsHidden": "False" + }, + { + "Start": "1fcd63fadc9b42d7bb290d77a2ccda65", + "End": "a4cee016fb8942728bc9f4a4610dc1d1", + "Id": "0a5fd58a59534c0fba6d45df9852f9e6", + "IsHidden": "False" + }, + { + "Start": "42e314c027a0481ab87378ca8da4e00e", + "End": "35fce3fcc3b94ebba087a41b6f7c6735", + "Id": "0e9b192ce183427a9a3f2ac77e0582c8", + "IsHidden": "False" + }, + { + "Start": "e1b26394c1564b61908aa9eee9fb9bbe", + "End": "bd1a87c5497e412bbcd96aeeae868d0a", + "Id": "1f66d95d1c4e4fa0b486e1111c6c2c95", + "IsHidden": "False" + }, + { + "Start": "49d63bf377b7400f8f61a4f29e53e158", + "End": "0d7c96af487349bfa7ee4c385be751e7", + "Id": "af5bd126a491440e999c30a33f2ba3c2", + "IsHidden": "False" + }, + { + "Start": "29ad54b462a947e0a08145bc788d48cf", + "End": "116af35780a94da9ba94c2df68e41c26", + "Id": "56828b20d89e4f45bcfb67233f132fb8", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Manual", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -14.622342109680176, + "EyeY": 12.433808326721191, + "EyeZ": -13.51833438873291, + "LookX": 17.567281723022461, + "LookY": -11.923446655273438, + "LookZ": 6.7045583724975586, + "UpX": 0.31953936815261841, + "UpY": 0.93969261646270752, + "UpZ": 0.12195229530334473 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "8044da1a916648c4b84be4f5d95b25a8", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 497.0789686558569, + "Y": 1165.4119023304916 + }, + { + "Id": "3d11dd7f3bf54501a58b275222fbb3ad", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 497.0789686558569, + "Y": 987.41190233049156 + }, + { + "Id": "875822c38a2a4c438e2ab1fc8aab89f4", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 751.0789686558569, + "Y": 805.41190233049156 + }, + { + "Id": "beb2e00cd9ed434c83d649216d25508e", + "Name": "+", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 751.0789686558569, + "Y": 1131.5844023304915 + }, + { + "Id": "5d80cc807fda4dfe9c357a77aa8ded18", + "Name": "<", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 751.0789686558569, + "Y": 953.58440233049157 + }, + { + "Id": "22276d337aff4574955cc6f3c8086fa5", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1362.0789686558569, + "Y": 929.58440233049157 + }, + { + "Id": "8c038f0b2eb849c8a1052592c5d515bb", + "Name": "LoopWhile", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1015.0789686558569, + "Y": 929.58440233049157 + }, + { + "Id": "cf26477e00ba42d4a18f2fc83f36bddb", + "Name": "Point.ByCoordinates", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1739.0789686558569, + "Y": 838.58440233049157 + }, + { + "Id": "06a722f777024a8b8dd3b0299b4f1db8", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 1362.0789686558569, + "Y": 781.41190233049156 + } + ], + "Annotations": [], + "X": -67.080537066913848, + "Y": -193.98003300977234, + "Zoom": 0.56258090224102208 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/LoopWhile.md b/doc/distrib/NodeHelpFiles/LoopWhile.md new file mode 100644 index 00000000000..002b8946652 --- /dev/null +++ b/doc/distrib/NodeHelpFiles/LoopWhile.md @@ -0,0 +1,8 @@ +## In Depth +`LoopWhile` returns the result of a looped function until the constraints are met. + +In the example below, a simple loop is created to add 10, starting with 1, until the result is larger than 100. `LoopWhile` accepts variables for its `initialValue` input and functions for the `continueWhile` and `loopBody` inputs. `continueWhile` defines the constraints of the loop, which in this example is a Less Than function and an argument of 100. `loopBody` defines what the loop does, which in this example is an Add function with an argument of 10. +___ +## Example File + +![LoopWhile](./LoopWhile_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/LoopWhile_img.jpg b/doc/distrib/NodeHelpFiles/LoopWhile_img.jpg new file mode 100644 index 00000000000..24e9d754ba6 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/LoopWhile_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/Not.dyn b/doc/distrib/NodeHelpFiles/Not.dyn new file mode 100644 index 00000000000..9235172c14c --- /dev/null +++ b/doc/distrib/NodeHelpFiles/Not.dyn @@ -0,0 +1,515 @@ +{ + "Uuid": "3ee03e9e-0903-449f-bf3b-79c761073ea7", + "IsCustomNode": false, + "Description": "", + "Name": "Not", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [ + { + "Id": "946bfc619a1b4033b43ecd0fadc86b6d", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "false", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + }, + { + "Id": "335c6d9e0501436d84ecb223fc83d98f", + "Name": "Boolean", + "Type": "boolean", + "Type2": "boolean", + "Value": "true", + "Description": "Enables selection between True and False", + "SelectedIndex": 0 + } + ], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "946bfc619a1b4033b43ecd0fadc86b6d", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "2775d6e446cd4998a49cba0e120b5a15", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": false + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "ff88a5d55a5a4d6e817656bb5acbd337", + "NodeType": "CodeBlockNode", + "Inputs": [ + { + "Id": "6d30d49857e449de90deadcb767594e2", + "Name": "input", + "Description": "input", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b419f72c657b47a38b6c1d740bc301ef", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "!input;" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "3e3fb2a88a7f4ed28d201bfe22a026b4", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "159940ce493e403f88451a0ea1db4f6b", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "f821206d36ef4795bf938bec0d4b97f7", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "998c9f104eab4c79896225c67f83402e", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "314733bfdd014af9908231bdaeb3fdea", + "Name": "x", + "Description": "boolean to reverse.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0c1b94a87c694cf880a03625a187d390", + "Name": "bool", + "Description": "type var[]..[] (reversed boolean)", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Not@var[]..[]", + "Replication": "Auto", + "Description": "Negates the input, e.g. returns false when the input is true.\n\nNot (x: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 50.0, + "WatchHeight": 38.0, + "Id": "bdf78edc19664e02956e84f33ef9b9e4", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "6e23ac93047545ebb0da6feec1ab08df", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "1d9058852fca409b91c99febc7f6f2eb", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "0f29fdce572f4bb6902cd6fc55300005", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "8bd40829caf5468abf25310d817ce1d3", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "68a0dae9478a4fd98a13eefbbb2c5974", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "Id": "73527d42031b4fe5a660c6dac6a6cf7a", + "NodeType": "FunctionNode", + "Inputs": [ + { + "Id": "d562f5979eb1430fbac9e7ba9199c75b", + "Name": "x", + "Description": "boolean to reverse.\n\nvar[]..[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "9fc9a3fb96354af2b6043a863735e64b", + "Name": "bool", + "Description": "type var[]..[] (reversed boolean)", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "FunctionSignature": "Not@var[]..[]", + "Replication": "Auto", + "Description": "Negates the input, e.g. returns false when the input is true.\n\nNot (x: var[]..[]): var[]..[]" + }, + { + "ConcreteType": "CoreNodeModels.Watch, CoreNodeModels", + "WatchWidth": 58.0, + "WatchHeight": 38.0, + "Id": "fe7dcb64cdfa4cc4af440d9140365c9b", + "NodeType": "ExtensionNode", + "Inputs": [ + { + "Id": "f150123409334673bf8e4faa89b00624", + "Name": "", + "Description": "Node to show output from", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "0f6059385e3a4012b56ebda1fc475d08", + "Name": "", + "Description": "Node output", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Visualizes a node's output" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "Id": "89e05eccecbb4d7f85f3d2fcb10a8e4b", + "NodeType": "CodeBlockNode", + "Inputs": [ + { + "Id": "c14ed777abe8448fa6f27c9effce50af", + "Name": "input", + "Description": "input", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "70fe4831b82d4ef8b7089bace0abef81", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly", + "Code": "!input;" + }, + { + "ConcreteType": "CoreNodeModels.Input.BoolSelector, CoreNodeModels", + "Id": "335c6d9e0501436d84ecb223fc83d98f", + "NodeType": "BooleanInputNode", + "Inputs": [], + "Outputs": [ + { + "Id": "ae13a367cef24dd2b2ab7f4cc28b26d4", + "Name": "", + "Description": "Boolean", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Enables selection between True and False", + "InputValue": true + } + ], + "Connectors": [ + { + "Start": "2775d6e446cd4998a49cba0e120b5a15", + "End": "6d30d49857e449de90deadcb767594e2", + "Id": "5a03ad02d07649f5a354fbec1fadfa7b", + "IsHidden": "False" + }, + { + "Start": "2775d6e446cd4998a49cba0e120b5a15", + "End": "314733bfdd014af9908231bdaeb3fdea", + "Id": "40c9b3d8cb2f4fb89f589f412698df92", + "IsHidden": "False" + }, + { + "Start": "b419f72c657b47a38b6c1d740bc301ef", + "End": "159940ce493e403f88451a0ea1db4f6b", + "Id": "e270c3360c864c7b9b23b3cad87f3ed6", + "IsHidden": "False" + }, + { + "Start": "0c1b94a87c694cf880a03625a187d390", + "End": "6e23ac93047545ebb0da6feec1ab08df", + "Id": "58418657a4444ef79dae8a181e3e2bcc", + "IsHidden": "False" + }, + { + "Start": "9fc9a3fb96354af2b6043a863735e64b", + "End": "8bd40829caf5468abf25310d817ce1d3", + "Id": "3bb5f3f28a2b4d4594ecd90a3fd28b8a", + "IsHidden": "False" + }, + { + "Start": "70fe4831b82d4ef8b7089bace0abef81", + "End": "f150123409334673bf8e4faa89b00624", + "Id": "2d841118a5b441e99c24cdefcb421d77", + "IsHidden": "False" + }, + { + "Start": "ae13a367cef24dd2b2ab7f4cc28b26d4", + "End": "d562f5979eb1430fbac9e7ba9199c75b", + "Id": "8e4400d117e741ffb62244de90ae18de", + "IsHidden": "False" + }, + { + "Start": "ae13a367cef24dd2b2ab7f4cc28b26d4", + "End": "c14ed777abe8448fa6f27c9effce50af", + "Id": "1bed3a88e1e14db3b98634adc44ecab5", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.19", + "Data": {} + } + ], + "Author": "None provided", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.19.0.5742", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Id": "946bfc619a1b4033b43ecd0fadc86b6d", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 169.387246795515, + "Y": 167.85158187952646 + }, + { + "Id": "ff88a5d55a5a4d6e817656bb5acbd337", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 463.387246795515, + "Y": 243.76533187952646 + }, + { + "Id": "3e3fb2a88a7f4ed28d201bfe22a026b4", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 755.387246795515, + "Y": 243.93783187952647 + }, + { + "Id": "998c9f104eab4c79896225c67f83402e", + "Name": "Not", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 463.387246795515, + "Y": 90.991646211151249 + }, + { + "Id": "bdf78edc19664e02956e84f33ef9b9e4", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 755.387246795515, + "Y": 91.93783187952647 + }, + { + "Id": "0f29fdce572f4bb6902cd6fc55300005", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 763.180607709669, + "Y": 398.94964659352695 + }, + { + "Id": "73527d42031b4fe5a660c6dac6a6cf7a", + "Name": "Not", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 471.18060770966895, + "Y": 398.94964659352695 + }, + { + "Id": "fe7dcb64cdfa4cc4af440d9140365c9b", + "Name": "Watch", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 763.180607709669, + "Y": 550.949646593527 + }, + { + "Id": "89e05eccecbb4d7f85f3d2fcb10a8e4b", + "Name": "Code Block", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 471.18060770966895, + "Y": 550.77714659352682 + }, + { + "Id": "335c6d9e0501436d84ecb223fc83d98f", + "Name": "Boolean", + "IsSetAsInput": true, + "IsSetAsOutput": false, + "Excluded": false, + "ShowGeometry": true, + "X": 177.18060770966895, + "Y": 474.863396593527 + } + ], + "Annotations": [], + "X": -109.64290037726818, + "Y": -82.1667981796878, + "Zoom": 1.0568750229721886 + } +} \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/Not.md b/doc/distrib/NodeHelpFiles/Not.md new file mode 100644 index 00000000000..6bf26d2c00f --- /dev/null +++ b/doc/distrib/NodeHelpFiles/Not.md @@ -0,0 +1,8 @@ +## In Depth +The `Not` node returns the opposite of an input Boolean value. The Not node is also referenced as the `!` (exclamation mark) in DesignScript and will convert True to False and vice versa. + +In the example below, `Not` nodes are used to swap Boolean inputs to their opposite. The example also illustrates the use of a code block with `!input` to reverse the Boolean. +___ +## Example File + +![Not](./Not_img.jpg) \ No newline at end of file diff --git a/doc/distrib/NodeHelpFiles/Not_img.jpg b/doc/distrib/NodeHelpFiles/Not_img.jpg new file mode 100644 index 00000000000..d9b0d34dda0 Binary files /dev/null and b/doc/distrib/NodeHelpFiles/Not_img.jpg differ diff --git a/doc/distrib/NodeHelpFiles/modulo_img.jpg b/doc/distrib/NodeHelpFiles/modulo_img.jpg new file mode 100644 index 00000000000..7d911c6032f Binary files /dev/null and b/doc/distrib/NodeHelpFiles/modulo_img.jpg differ diff --git a/extern/SimplexNoise/SimplexNoise.dll b/extern/SimplexNoise/SimplexNoise.dll deleted file mode 100644 index 3cd9f5ed783..00000000000 Binary files a/extern/SimplexNoise/SimplexNoise.dll and /dev/null differ diff --git a/extern/SimplexNoise/readme.txt b/extern/SimplexNoise/readme.txt deleted file mode 100644 index 5d524a655d5..00000000000 --- a/extern/SimplexNoise/readme.txt +++ /dev/null @@ -1,2 +0,0 @@ -Source: http://code.google.com/p/simplexnoise/ -This might seem it's not used, but some migration tests actually need this. diff --git a/extern/prism/Microsoft.Practices.Prism.dll b/extern/prism/Microsoft.Practices.Prism.dll deleted file mode 100644 index 4222fd81c3c..00000000000 Binary files a/extern/prism/Microsoft.Practices.Prism.dll and /dev/null differ diff --git a/src/DocumentationBrowserViewExtension/DocumentationBrowserView.xaml.cs b/src/DocumentationBrowserViewExtension/DocumentationBrowserView.xaml.cs index ca451bc2aae..75dcee02c63 100644 --- a/src/DocumentationBrowserViewExtension/DocumentationBrowserView.xaml.cs +++ b/src/DocumentationBrowserViewExtension/DocumentationBrowserView.xaml.cs @@ -26,6 +26,8 @@ public partial class DocumentationBrowserView : UserControl, IDisposable internal string WebBrowserUserDataFolder { get; set; } internal string FallbackDirectoryName { get; set; } + //This folder will be used to store images and dyn files previosuly located in /rootDirectory/en-US/fallback_docs so we don't need to copy all those files per each language + internal static readonly string SharedDocsDirectoryName = "NodeHelpSharedDocs"; //Path in which the virtual folder for loading images will be created internal string VirtualFolderPath { get; set; } @@ -132,7 +134,11 @@ async void InitializeAsync() { if (viewModel.Link != null && !string.IsNullOrEmpty(viewModel.CurrentPackageName)) { - VirtualFolderPath = Path.GetDirectoryName(HttpUtility.UrlDecode(viewModel.Link.AbsolutePath)); + var absolutePath = Path.GetDirectoryName(HttpUtility.UrlDecode(viewModel.Link.AbsolutePath)); + //We move two levels up so it will be located in same level than the the NodeHelpSharedDocs directory + var imagesLocation = new DirectoryInfo(absolutePath).Parent.Parent.FullName; + //Adds the NodeHelpSharedDocs directory to the path + VirtualFolderPath = Path.Combine(imagesLocation, SharedDocsDirectoryName); } else VirtualFolderPath = FallbackDirectoryName; diff --git a/src/DocumentationBrowserViewExtension/DocumentationBrowserViewExtension.csproj b/src/DocumentationBrowserViewExtension/DocumentationBrowserViewExtension.csproj index 447b9ddc1ba..5160a588cd2 100644 --- a/src/DocumentationBrowserViewExtension/DocumentationBrowserViewExtension.csproj +++ b/src/DocumentationBrowserViewExtension/DocumentationBrowserViewExtension.csproj @@ -16,19 +16,6 @@ MSB3539;CS1591;NUnit2005;NUnit2007;CS0618;CS0612;CS0672 - - - - - - - - - - - ..\..\extern\prism\Microsoft.Practices.Prism.dll - - {51BB6014-43F7-4F31-B8D3-E3C37EBEDAF4} @@ -116,7 +103,7 @@ - + diff --git a/src/DocumentationBrowserViewExtension/DocumentationBrowserViewModel.cs b/src/DocumentationBrowserViewExtension/DocumentationBrowserViewModel.cs index afb55ae768f..07dd12fad5d 100644 --- a/src/DocumentationBrowserViewExtension/DocumentationBrowserViewModel.cs +++ b/src/DocumentationBrowserViewExtension/DocumentationBrowserViewModel.cs @@ -446,7 +446,9 @@ internal void InsertGraph() private string DynamoGraphFromMDFilePath(string path) { path = HttpUtility.UrlDecode(path); - return Path.Combine(Path.GetDirectoryName(path), Path.GetFileNameWithoutExtension(path)) + ".dyn"; + var rootLevelDir = Path.GetDirectoryName(path); + var imagesLocation = Path.Combine(new DirectoryInfo(rootLevelDir).Parent.Parent.FullName, DocumentationBrowserView.SharedDocsDirectoryName); + return Path.Combine(imagesLocation, Path.GetFileNameWithoutExtension(path)) + ".dyn"; } diff --git a/src/DynamoApplications/Properties/AssemblyInfo.cs b/src/DynamoApplications/Properties/AssemblyInfo.cs index f1db1d16f9d..53ff3fc5513 100644 --- a/src/DynamoApplications/Properties/AssemblyInfo.cs +++ b/src/DynamoApplications/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -11,4 +11,7 @@ // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("72464112-159f-4542-88c9-55734f67074e")] -[assembly:InternalsVisibleTo("IntegrationTests")] \ No newline at end of file +[assembly:InternalsVisibleTo("IntegrationTests")] +[assembly: InternalsVisibleTo("DynamoSandbox")] +[assembly: InternalsVisibleTo("DynamoCLI")] +[assembly: InternalsVisibleTo("DynamoWPFCLI")] diff --git a/src/DynamoApplications/StartupUtils.cs b/src/DynamoApplications/StartupUtils.cs index 29ba5f77703..c53b4144de0 100644 --- a/src/DynamoApplications/StartupUtils.cs +++ b/src/DynamoApplications/StartupUtils.cs @@ -11,6 +11,7 @@ using Dynamo.Configuration; using Dynamo.Core; using Dynamo.Interfaces; +using Dynamo.Logging; using Dynamo.Models; using Dynamo.Scheduler; using Dynamo.Updates; @@ -52,8 +53,10 @@ internal class CMDLineOptions public string CommonDataFolder { get; set; } = String.Empty; [Option("HostName", Required = false, HelpText = "Identify Dynamo variation associated with host.")] public string HostName { get; set; } = String.Empty; - [Option("DisableAnalytics", Required = false, HelpText = "Disables analytics in Dynamo for the process liftime.")] + [Option("DisableAnalytics", Required = false, HelpText = "Disables analytics in Dynamo for the process lifetime.")] public bool DisableAnalytics { get; set; } + [Option("NoNetworkMode", Required = false, HelpText = "Disables network traffic in Dynamo at startup. Disables some features such as Notifications, Sign In, and ML Node Autocomplete for process lifetime.")] + public bool NoNetworkMode { get; set; } [Option('p', "ParentId", Required = false, HelpText = "Identify Dynamo host analytics parent id.")] public string ParentId { get; set; } = String.Empty; [Option('s', "SessionId", Required = false, HelpText = "Identify Dynamo host analytics session id.")] @@ -64,7 +67,7 @@ internal class CMDLineOptions public bool ServiceMode { get; set; } } - public class StartupUtils + public static class StartupUtils { //TODO internal? /// @@ -142,6 +145,7 @@ public static CommandLineArguments Parse(string[] args) UserDataFolder = cmdArgs.UserDataFolder, CommonDataFolder = cmdArgs.CommonDataFolder, DisableAnalytics = cmdArgs.DisableAnalytics, + NoNetworkMode = cmdArgs.NoNetworkMode, AnalyticsInfo = new HostAnalyticsInfo() { HostName = cmdArgs.HostName, ParentId = cmdArgs.ParentId, SessionId = cmdArgs.SessionId }, CERLocation = cmdArgs.CERLocation, ServiceMode = cmdArgs.ServiceMode @@ -149,6 +153,14 @@ public static CommandLineArguments Parse(string[] args) }, errs => new CommandLineArguments()); } + internal void SetDisableAnalytics() + { + if (DisableAnalytics || NoNetworkMode) + { + Analytics.DisableAnalytics = true; + } + } + public string Locale { get; set; } public string CommandFilePath { get; set; } public string OpenFilePath { get; set; } @@ -164,6 +176,7 @@ public static CommandLineArguments Parse(string[] args) [Obsolete("This property will be removed in Dynamo 3.0 - please use AnalyticsInfo")] public string HostName { get; set; } public bool DisableAnalytics { get; set; } + public bool NoNetworkMode { get; set; } public HostAnalyticsInfo AnalyticsInfo { get; set; } public string CERLocation { get; set; } @@ -188,8 +201,8 @@ public static void PreloadShapeManager(ref string geometryFactoryPath, ref strin var versions = new[] { + new Version(230,0,0), new Version(229,0,0), - new Version(228,5,0), }; var preloader = new Preloader(rootFolder, versions); @@ -227,7 +240,7 @@ private static IUpdateManager InitializeUpdateManager() // Preload ASM and display corresponding message on splash screen DynamoModel.OnRequestUpdateLoadBarStatus(new SplashScreenLoadEventArgs(Resources.SplashScreenPreLoadingAsm, 10)); var isASMloaded = PreloadASM(asmPath, out string geometryFactoryPath, out string preloaderLocation); - var model = StartDynamoWithDefaultConfig(true, userDataFolder, commonDataFolder, geometryFactoryPath, preloaderLocation, info); + var model = StartDynamoWithDefaultConfig(true, userDataFolder, commonDataFolder, geometryFactoryPath, preloaderLocation, false, info); model.IsASMLoaded = isASMloaded; return model; } @@ -235,25 +248,21 @@ private static IUpdateManager InitializeUpdateManager() /// /// Use this overload to construct a DynamoModel in CLI context when the location of ASM to use is known, host analytics info is known and you want to set data paths. /// - /// Path to directory containing geometry library binaries - /// Path to be used by PathResolver for UserDataFolder - /// Path to be used by PathResolver for CommonDataFolder - /// Host analytics info specifying Dynamo launching host related information. - /// Boolean indication of launching Dynamo in service mode, this mode is optimized for minimal launch time. + /// /// - public static DynamoModel MakeCLIModel(string asmPath, string userDataFolder, string commonDataFolder, HostAnalyticsInfo info = new HostAnalyticsInfo(), bool isServiceMode = false) + public static DynamoModel MakeCLIModel(CommandLineArguments cmdLineArgs) { + var asmPath = String.IsNullOrEmpty(cmdLineArgs.ASMPath) ? string.Empty : cmdLineArgs.ASMPath; IPathResolver pathResolver = CreatePathResolver(false, string.Empty, string.Empty, string.Empty); PathManager.Instance.AssignHostPathAndIPathResolver(string.Empty, pathResolver); - - Thread.CurrentThread.CurrentUICulture = new CultureInfo(PreferenceSettings.Instance.Locale); - Thread.CurrentThread.CurrentCulture = new CultureInfo(PreferenceSettings.Instance.Locale); + DynamoModel.SetUICulture(PreferenceSettings.Instance.Locale); DynamoModel.OnDetectLanguage(); // Preload ASM and display corresponding message on splash screen DynamoModel.OnRequestUpdateLoadBarStatus(new SplashScreenLoadEventArgs(Resources.SplashScreenPreLoadingAsm, 10)); var isASMloaded = PreloadASM(asmPath, out string geometryFactoryPath, out string preloaderLocation); - var model = StartDynamoWithDefaultConfig(true, userDataFolder, commonDataFolder, geometryFactoryPath, preloaderLocation, info, isServiceMode); + var model = StartDynamoWithDefaultConfig(true, cmdLineArgs.UserDataFolder, cmdLineArgs.CommonDataFolder, + geometryFactoryPath, preloaderLocation, cmdLineArgs.NoNetworkMode, cmdLineArgs.AnalyticsInfo, cmdLineArgs.ServiceMode); model.IsASMLoaded = isASMloaded; return model; } @@ -268,7 +277,8 @@ private static IUpdateManager InitializeUpdateManager() public static DynamoModel MakeModel(bool CLImode, string asmPath = "", string hostName ="") { var isASMloaded = PreloadASM(asmPath, out string geometryFactoryPath, out string preloaderLocation); - var model = StartDynamoWithDefaultConfig(CLImode, string.Empty, string.Empty, geometryFactoryPath, preloaderLocation, new HostAnalyticsInfo() { HostName = hostName }); + var model = StartDynamoWithDefaultConfig(CLImode, string.Empty, string.Empty, + geometryFactoryPath, preloaderLocation, false, new HostAnalyticsInfo() { HostName = hostName }); model.IsASMLoaded = isASMloaded; return model; } @@ -277,22 +287,22 @@ public static DynamoModel MakeModel(bool CLImode, string asmPath = "", string ho /// Use this overload to construct a DynamoModel when the location of ASM to use is known and host analytics info is known. /// /// CLI mode starts the model in test mode and uses a separate path resolver. + /// Option to initialize Dynamo in no-network mode /// Path to directory containing geometry library binaries /// Host analytics info specifying Dynamo launching host related information. /// - public static DynamoModel MakeModel(bool CLImode, string asmPath = "", HostAnalyticsInfo info = new HostAnalyticsInfo()) + public static DynamoModel MakeModel(bool CLImode, bool noNetworkMode, string asmPath = "", HostAnalyticsInfo info = new HostAnalyticsInfo()) { IPathResolver pathResolver = CreatePathResolver(false, string.Empty, string.Empty, string.Empty); PathManager.Instance.AssignHostPathAndIPathResolver(string.Empty, pathResolver); - - Thread.CurrentThread.CurrentUICulture = new CultureInfo(PreferenceSettings.Instance.Locale); - Thread.CurrentThread.CurrentCulture = new CultureInfo(PreferenceSettings.Instance.Locale); + DynamoModel.SetUICulture(PreferenceSettings.Instance.Locale); DynamoModel.OnDetectLanguage(); // Preload ASM and display corresponding message on splash screen DynamoModel.OnRequestUpdateLoadBarStatus(new SplashScreenLoadEventArgs(Resources.SplashScreenPreLoadingAsm, 10)); var isASMloaded = PreloadASM(asmPath, out string geometryFactoryPath, out string preloaderLocation); - var model = StartDynamoWithDefaultConfig(CLImode, string.Empty, string.Empty, geometryFactoryPath, preloaderLocation, info); + var model = StartDynamoWithDefaultConfig(CLImode, string.Empty, string.Empty, geometryFactoryPath, + preloaderLocation, noNetworkMode, info); model.IsASMLoaded = isASMloaded; return model; } @@ -310,33 +320,7 @@ private static IPathResolver CreatePathResolver(bool CLImode, string preloaderLo IPathResolver pathResolver = CLImode ? new CLIPathResolver(preloaderLocation, userDataFolder, commonDataFolder) as IPathResolver : new SandboxPathResolver(preloaderLocation) as IPathResolver; return pathResolver; } - - /// - /// TODO (DYN-2118) remove this method in 3.0 and unify this method with the overload above. - /// Use this overload to construct a DynamoModel when the location of ASM to use is known. - /// - /// CLI mode starts the model in test mode and uses a seperate path resolver. - /// Path to directory containing geometry library binaries - /// - [Obsolete("This method will be removed in Dynamo 3.0 - please use the version with more parameters")] - public static DynamoModel MakeModel(bool CLImode, string asmPath) - { - var isASMloaded = PreloadASM(asmPath, out string geometryFactoryPath, out string preloaderLocation); - var model = StartDynamoWithDefaultConfig(CLImode, string.Empty, string.Empty, geometryFactoryPath, preloaderLocation); - model.IsASMLoaded = isASMloaded; - return model; - } - - //TODO (DYN-2118) remove this method in 3.0 and unify this method with the overload above. - [Obsolete("This method will be removed in Dynamo 3.0 - please use the version with more parameters")] - public static DynamoModel MakeModel(bool CLImode) - { - var isASMloaded = PreloadASM(string.Empty, out string geometryFactoryPath, out string preloaderLocation); - var model = StartDynamoWithDefaultConfig(CLImode, string.Empty, string.Empty, geometryFactoryPath, preloaderLocation); - model.IsASMLoaded = isASMloaded; - return model; - } - + private static bool PreloadASM(string asmPath, out string geometryFactoryPath, out string preloaderLocation ) { if (string.IsNullOrEmpty(asmPath) && OSHelper.IsWindows()) @@ -395,6 +379,7 @@ private static DynamoModel StartDynamoWithDefaultConfig(bool CLImode, string commonDataFolder, string geometryFactoryPath, string preloaderLocation, + bool noNetworkMode, HostAnalyticsInfo info = new HostAnalyticsInfo(), bool isServiceMode = false) { @@ -405,13 +390,13 @@ private static DynamoModel StartDynamoWithDefaultConfig(bool CLImode, ProcessMode = CLImode ? TaskProcessMode.Synchronous : TaskProcessMode.Asynchronous, HostAnalyticsInfo = info, CLIMode = CLImode, - //TODO we currently use this like a no network comms flags - work on introducing a new flag or renaming this flag. - AuthProvider = CLImode || Dynamo.Logging.Analytics.DisableAnalytics ? null : new Core.IDSDKManager(), + AuthProvider = CLImode || noNetworkMode ? null : new Core.IDSDKManager(), UpdateManager = CLImode ? null : OSHelper.IsWindows() ? InitializeUpdateManager() : null, StartInTestMode = CLImode, PathResolver = CreatePathResolver(CLImode, preloaderLocation, userDataFolder, commonDataFolder), IsServiceMode = isServiceMode, - Preferences = PreferenceSettings.Instance + Preferences = PreferenceSettings.Instance, + NoNetworkMode = noNetworkMode }; var model = DynamoModel.Start(config); return model; @@ -425,8 +410,7 @@ public static string SetLocale(CommandLineArguments cmdLineArgs) if (!string.IsNullOrEmpty(cmdLineArgs.Locale)) { // Change the application locale, if a locale information is supplied. - Thread.CurrentThread.CurrentUICulture = new CultureInfo(cmdLineArgs.Locale); - Thread.CurrentThread.CurrentCulture = new CultureInfo(cmdLineArgs.Locale); + DynamoModel.SetUICulture(cmdLineArgs.Locale); libgLocale = cmdLineArgs.Locale; } else diff --git a/src/DynamoCLI/DynamoCLI.csproj b/src/DynamoCLI/DynamoCLI.csproj index 24ab84ef6be..5e657d6cb4e 100644 --- a/src/DynamoCLI/DynamoCLI.csproj +++ b/src/DynamoCLI/DynamoCLI.csproj @@ -5,6 +5,7 @@ {5F9AE581-6781-4A4C-A262-1B06CD27208B} Exe + Major Properties DynamoCLI DynamoCLI @@ -12,10 +13,6 @@ true - - - - {aa782772-fe61-4226-baa4-eb529fa1646b} diff --git a/src/DynamoCLI/Program.cs b/src/DynamoCLI/Program.cs index 59a2c9e11bd..4de3f8329e9 100644 --- a/src/DynamoCLI/Program.cs +++ b/src/DynamoCLI/Program.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Threading; using Dynamo.Applications; +using Dynamo.Logging; using Dynamo.Models; namespace DynamoCLI @@ -11,7 +12,7 @@ internal class Program private static EventWaitHandle suspendEvent = new AutoResetEvent(false); [STAThread] - static internal void Main(string[] args) + internal static void Main(string[] args) { bool useConsole = true; @@ -20,10 +21,8 @@ static internal void Main(string[] args) var cmdLineArgs = StartupUtils.CommandLineArguments.Parse(args); useConsole = !cmdLineArgs.NoConsole; var locale = StartupUtils.SetLocale(cmdLineArgs); - if (cmdLineArgs.DisableAnalytics) - { - Dynamo.Logging.Analytics.DisableAnalytics = true; - } + + cmdLineArgs.SetDisableAnalytics(); if (cmdLineArgs.KeepAlive) { @@ -100,11 +99,7 @@ private static void RunKeepAlive(StartupUtils.CommandLineArguments cmdLineArgs) private static DynamoModel StartupDynamo(StartupUtils.CommandLineArguments cmdLineArgs) { DynamoModel model; - model = Dynamo.Applications.StartupUtils.MakeCLIModel(String.IsNullOrEmpty(cmdLineArgs.ASMPath) ? string.Empty : cmdLineArgs.ASMPath, - cmdLineArgs.UserDataFolder, - cmdLineArgs.CommonDataFolder, - cmdLineArgs.AnalyticsInfo, - cmdLineArgs.ServiceMode); + model = StartupUtils.MakeCLIModel(cmdLineArgs); if (!string.IsNullOrEmpty(cmdLineArgs.CERLocation)) { diff --git a/src/DynamoCore/Configuration/Configurations.cs b/src/DynamoCore/Configuration/Configurations.cs index 60c4a34870d..fa2a42ea0fd 100644 --- a/src/DynamoCore/Configuration/Configurations.cs +++ b/src/DynamoCore/Configuration/Configurations.cs @@ -377,7 +377,7 @@ public class Configurations /// /// Supported locales as a list /// - internal static readonly List SupportedLocaleList = new List() { "en-US", "cs-CZ", "de-DE", "es-ES", "fr-FR", "it-IT", "ja-JP", "ko-KR", "pl-PL", "pt-BR", "ru-RU", "zh-CN", "zh-TW" }; + internal static readonly List SupportedLocaleList = new List() { "Default", "en-US", "cs-CZ", "de-DE", "es-ES", "fr-FR", "it-IT", "ja-JP", "ko-KR", "pl-PL", "pt-BR", "ru-RU", "zh-CN", "zh-TW" }; /// /// Supported languages and locales as a dictionary in the current thread locale diff --git a/src/DynamoCore/Configuration/IPreferences.cs b/src/DynamoCore/Configuration/IPreferences.cs index 2444f6b0f95..e3d79c34c9a 100644 --- a/src/DynamoCore/Configuration/IPreferences.cs +++ b/src/DynamoCore/Configuration/IPreferences.cs @@ -56,18 +56,6 @@ public interface IPreferences /// string NumberFormat { get; set; } - /// - /// Indicates whether usage reporting is approved or not. - /// - [Obsolete("Property will be deprecated in Dynamo 3.0")] - bool IsUsageReportingApproved { get; set; } - - /// - /// Indicates whether Google analytics reporting is approved or not. - /// - [Obsolete("Property will be deprecated in Dynamo 3.0")] - bool IsAnalyticsReportingApproved { get; set; } - /// /// Indicates whether ADP analytics reporting is approved or not. /// diff --git a/src/DynamoCore/Configuration/PreferenceSettings.cs b/src/DynamoCore/Configuration/PreferenceSettings.cs index 26f014b27d6..2a86d8290a9 100644 --- a/src/DynamoCore/Configuration/PreferenceSettings.cs +++ b/src/DynamoCore/Configuration/PreferenceSettings.cs @@ -110,18 +110,6 @@ internal readonly static Lazy /// public bool IsFirstRun { get; set; } - /// - /// Indicates whether usage reporting is approved or not. - /// - [Obsolete("Property will be deprecated in Dynamo 3.0")] - public bool IsUsageReportingApproved { get { return false; } set { } } - - /// - /// Indicates whether Google analytics reporting is approved or not. - /// - [Obsolete("Property will be deprecated in Dynamo 3.0")] - public bool IsAnalyticsReportingApproved { get { return false; } set { } } - /// /// This defines if the user export file path would include timestamp /// @@ -868,7 +856,6 @@ public PreferenceSettings() // Default Settings IsFirstRun = true; - IsAnalyticsReportingApproved = true; Locale = Configurations.SupportedLocaleDic.FirstOrDefault().Value; LibraryWidth = 304; ConsoleHeight = 0; diff --git a/src/DynamoCore/Core/CustomNodeManager.cs b/src/DynamoCore/Core/CustomNodeManager.cs index 30928003aeb..8dabe1ec45b 100644 --- a/src/DynamoCore/Core/CustomNodeManager.cs +++ b/src/DynamoCore/Core/CustomNodeManager.cs @@ -684,18 +684,18 @@ internal bool TryGetInfoFromPath(string path, bool isTestMode, out CustomNodeInf Exception ex; try { - if (DynamoUtilities.PathHelper.isValidXML(path, out xmlDoc, out ex)) + if (DynamoUtilities.PathHelper.isValidJson(path, out jsonDoc, out ex)) { - if (!WorkspaceInfo.FromXmlDocument(xmlDoc, path, isTestMode, false, AsLogger(), out header)) + if (!WorkspaceInfo.FromJsonDocument(jsonDoc, path, isTestMode, false, AsLogger(), out header)) { Log(String.Format(Properties.Resources.FailedToLoadHeader, path)); info = null; return false; } } - else if (DynamoUtilities.PathHelper.isValidJson(path, out jsonDoc, out ex)) + else if (DynamoUtilities.PathHelper.isValidXML(path, out xmlDoc, out ex)) { - if (!WorkspaceInfo.FromJsonDocument(jsonDoc, path, isTestMode, false, AsLogger(), out header)) + if (!WorkspaceInfo.FromXmlDocument(xmlDoc, path, isTestMode, false, AsLogger(), out header)) { Log(String.Format(Properties.Resources.FailedToLoadHeader, path)); info = null; @@ -854,7 +854,14 @@ private bool InitializeCustomNode( XmlDocument xmlDoc; string strInput; Exception ex; - if (DynamoUtilities.PathHelper.isValidXML(path, out xmlDoc, out ex)) + + if (DynamoUtilities.PathHelper.isValidJson(path, out strInput, out ex)) + { + WorkspaceInfo.FromJsonDocument(strInput, path, isTestMode, false, AsLogger(), out info); + info.ID = functionId.ToString(); + return InitializeCustomNode(info, null, out workspace); + } + else if (DynamoUtilities.PathHelper.isValidXML(path, out xmlDoc, out ex)) { if (WorkspaceInfo.FromXmlDocument(xmlDoc, path, isTestMode, false, AsLogger(), out info)) { @@ -865,13 +872,6 @@ private bool InitializeCustomNode( } } } - else if (DynamoUtilities.PathHelper.isValidJson(path, out strInput, out ex)) - { - // TODO: Skip Json migration for now - WorkspaceInfo.FromJsonDocument(strInput, path, isTestMode, false, AsLogger(), out info); - info.ID = functionId.ToString(); - return InitializeCustomNode(info, null, out workspace); - } else throw ex; Log(string.Format(Properties.Resources.CustomNodeCouldNotBeInitialized, customNodeInfo.Name)); workspace = null; diff --git a/src/DynamoCore/DynamoCore.csproj b/src/DynamoCore/DynamoCore.csproj index f57ee6115a8..bda6173ac6a 100644 --- a/src/DynamoCore/DynamoCore.csproj +++ b/src/DynamoCore/DynamoCore.csproj @@ -1,4 +1,4 @@ - + @@ -27,11 +27,11 @@ - - - + + + - + @@ -116,13 +116,18 @@ - + - + - - + + + + + + + @@ -131,19 +136,24 @@ - + + + + + + + - - + + - + - diff --git a/src/DynamoCore/Extensions/StartupParams.cs b/src/DynamoCore/Extensions/StartupParams.cs index 61dbcf465d6..3820c74ca7d 100644 --- a/src/DynamoCore/Extensions/StartupParams.cs +++ b/src/DynamoCore/Extensions/StartupParams.cs @@ -57,10 +57,15 @@ public class StartupParams public LinterManager LinterManager => linterManager; private readonly LinterManager linterManager; + /// + /// True when Dynamo starts up in offline mode. + /// + public bool NoNetworkMode { get; } + /// /// Returns true if ASM/LibG are loaded. May only be valid in sandbox sessions. /// - internal bool IsGeometryLibraryLoaded { get; private set; } + internal bool IsGeometryLibraryLoaded { get; } /// /// Initializes a new instance of the class. @@ -111,14 +116,15 @@ public StartupParams(IAuthProvider provider, IPathManager pathManager, /// internal StartupParams(DynamoModel dynamoModel) { - this.authProvider = dynamoModel.AuthenticationManager?.AuthProvider; - this.pathManager = dynamoModel.PathManager; - this.libraryLoader = new ExtensionLibraryLoader(dynamoModel); - this.customNodeManager = dynamoModel.CustomNodeManager; - this.dynamoVersion = new Version(dynamoModel.Version); - this.preferences = dynamoModel.PreferenceSettings; - this.linterManager = dynamoModel.LinterManager; - this.IsGeometryLibraryLoaded = dynamoModel.IsASMLoaded; + authProvider = dynamoModel.AuthenticationManager?.AuthProvider; + pathManager = dynamoModel.PathManager; + libraryLoader = new ExtensionLibraryLoader(dynamoModel); + customNodeManager = dynamoModel.CustomNodeManager; + dynamoVersion = new Version(dynamoModel.Version); + preferences = dynamoModel.PreferenceSettings; + linterManager = dynamoModel.LinterManager; + IsGeometryLibraryLoaded = dynamoModel.IsASMLoaded; + NoNetworkMode = dynamoModel.NoNetworkMode; } } diff --git a/src/DynamoCore/Graph/Workspaces/WorkspaceModel.cs b/src/DynamoCore/Graph/Workspaces/WorkspaceModel.cs index f670921fb07..b31a1025553 100644 --- a/src/DynamoCore/Graph/Workspaces/WorkspaceModel.cs +++ b/src/DynamoCore/Graph/Workspaces/WorkspaceModel.cs @@ -8,6 +8,7 @@ using System.Reflection; using System.Threading; using System.Xml; +using Dynamo.Configuration; using Dynamo.Core; using Dynamo.Engine; using Dynamo.Engine.CodeGeneration; @@ -1971,6 +1972,53 @@ internal void IncrementPasteOffset() this.currentPasteOffset = (this.currentPasteOffset + PasteOffsetStep) % PasteOffsetMax; } + #region [Nodes Info] + + /// + /// Boolean indicates if the workspace run with warnings + /// + internal bool HasWarnings + { + get { return Nodes.Any(n => n.State == ElementState.Warning || n.State == ElementState.PersistentWarning); } + } + + /// + /// Boolean indicates if the workspace run with warnings with no Geometry + /// + internal bool HasNoneGeometryRelatedWarnings + { + get { return Nodes.Any(n => (n.State == ElementState.Warning || n.State == ElementState.PersistentWarning) && !n.Category.StartsWith("Geometry.")); } + } + + /// + /// Boolean indicates if workspace run with errors + /// + internal bool HasErrors + { + get { return Nodes.Any(n => n.State == ElementState.Error); } + } + + /// + /// Boolean indicates if home workspace is displayed with infos + /// + internal bool HasInfos + { + get { return Nodes.Any(n => n.State == ElementState.Info); } + } + + /// + /// Indicates if the workspace is valid for sending to the FDX + /// + internal bool IsValidForFDX + { + get + { + return !HasErrors && !HasNoneGeometryRelatedWarnings; + } + } + + #endregion + #endregion #region private/internal methods diff --git a/src/DynamoCore/Logging/AnalyticsService.cs b/src/DynamoCore/Logging/AnalyticsService.cs index 5ed073b98c5..9af4b8333c7 100644 --- a/src/DynamoCore/Logging/AnalyticsService.cs +++ b/src/DynamoCore/Logging/AnalyticsService.cs @@ -13,6 +13,7 @@ class AnalyticsService { // Use the Analytics.Core interface so that we do not have to load the ADP assembly at this time. private static IAnalyticsUI adpAnalyticsUI; + /// /// Starts the client when DynamoModel is created. This method initializes /// the Analytics service and application life cycle start is tracked. @@ -105,7 +106,7 @@ internal static void ShutDown() /// Show the ADP dynamic consents dialog. /// /// main window - internal static void ShowADPConsetDialog(IntPtr? host) + internal static void ShowADPConsentDialog(IntPtr? host) { if (!Analytics.DisableAnalytics && adpAnalyticsUI != null) { diff --git a/src/DynamoCore/Logging/DynamoAnalyticsClient.cs b/src/DynamoCore/Logging/DynamoAnalyticsClient.cs index 39f8b324208..7c72eff1b74 100644 --- a/src/DynamoCore/Logging/DynamoAnalyticsClient.cs +++ b/src/DynamoCore/Logging/DynamoAnalyticsClient.cs @@ -106,20 +106,6 @@ public bool ReportingAnalytics } } - /// - /// Return if Analytics Client is allowed to send instrumentation info - /// - public bool ReportingUsage - { - get - { - return preferences != null - && Service.IsInitialized - && !Analytics.DisableAnalytics - && preferences.IsUsageReportingApproved; - } - } - /// /// Constructs DynamoAnalyticsClient with given DynamoModel /// diff --git a/src/DynamoCore/Models/DynamoModel.cs b/src/DynamoCore/Models/DynamoModel.cs index 85e92210200..35473cf1ba6 100644 --- a/src/DynamoCore/Models/DynamoModel.cs +++ b/src/DynamoCore/Models/DynamoModel.cs @@ -225,6 +225,11 @@ public string Version /// internal bool IsServiceMode { get; set; } + /// + /// True if Dynamo starts up in offline mode. + /// + internal bool NoNetworkMode { get; } + /// /// UpdateManager to handle automatic upgrade to higher version. /// @@ -475,7 +480,7 @@ public enum DynamoModelState { NotStarted, StartedUIless, StartedUI }; public bool CLIMode { get; internal set; } /// - /// The Autodesk CrashReport tool location on disk (directory that contains the "senddmp.exe") + /// The Autodesk CrashReport tool location on disk (directory that contains the "cer.dll") /// public string CERLocation { get; internal set; } @@ -525,6 +530,11 @@ public interface IStartConfiguration /// No update checks or analytics collection should be done. /// bool IsHeadless { get; set; } + + /// + /// Configuration option to start Dynamo in offline mode. + /// + bool NoNetworkMode => false; } /// @@ -568,6 +578,7 @@ public struct DefaultStartConfiguration : IStartConfiguration public IEnumerable Extensions { get; set; } public TaskProcessMode ProcessMode { get; set; } public bool IsHeadless { get; set; } + public bool NoNetworkMode { get; set; } public bool IsServiceMode { get; set; } public string PythonTemplatePath { get; set; } /// @@ -653,6 +664,7 @@ protected DynamoModel(IStartConfiguration config) Context = config.Context; IsTestMode = config.StartInTestMode; IsHeadless = config.IsHeadless; + NoNetworkMode = config.NoNetworkMode; DebugSettings = new DebugSettings(); Logger = new DynamoLogger(DebugSettings, pathManager.LogDirectory, IsTestMode, CLIMode, IsServiceMode); @@ -681,6 +693,13 @@ protected DynamoModel(IStartConfiguration config) PreferenceSettings = (PreferenceSettings)CreateOrLoadPreferences(config.Preferences); if (PreferenceSettings != null) { + // Setting the locale for Dynamo from loaded Preferences only when + // In a non-in-process integration case (when HostAnalyticsInfo.HostName is unspecified) + // Language is specified, otherwise Default setting means following host locale + if (string.IsNullOrEmpty(HostAnalyticsInfo.HostName) || !PreferenceSettings.Locale.Equals(Configuration.Configurations.SupportedLocaleList.First())) + { + SetUICulture(PreferenceSettings.Locale); + } PreferenceSettings.PropertyChanged += PreferenceSettings_PropertyChanged; PreferenceSettings.MessageLogged += LogMessage; } @@ -722,7 +741,7 @@ protected DynamoModel(IStartConfiguration config) // If user skipped analytics from assembly config, do not try to launch the analytics client // or the feature flags client for web traffic reason. - if (!IsServiceMode && !areAnalyticsDisabledFromConfig && !Dynamo.Logging.Analytics.DisableAnalytics) + if (!IsServiceMode && !areAnalyticsDisabledFromConfig && !Analytics.DisableAnalytics) { // Start the Analytics service only when a session is not present. // In an integrator host, as splash screen can be closed without shutting down the ViewModel, the analytics service is not stopped. @@ -921,16 +940,7 @@ protected DynamoModel(IStartConfiguration config) CustomNodeManager = new CustomNodeManager(NodeFactory, MigrationManager, LibraryServices); - LuceneSearch.LuceneUtilityNodeSearch = new LuceneSearchUtility(this); - - if (IsTestMode) - { - LuceneUtility.InitializeLuceneConfig(string.Empty, LuceneSearchUtility.LuceneStorage.RAM); - } - else - { - LuceneUtility.InitializeLuceneConfig(LuceneConfig.NodesIndexingDirectory); - } + LuceneSearch.LuceneUtilityNodeSearch = new LuceneSearchUtility(this, LuceneSearchUtility.DefaultNodeIndexStartConfig); InitializeCustomNodeManager(); @@ -946,7 +956,7 @@ protected DynamoModel(IStartConfiguration config) } UpdateManager.Log += UpdateManager_Log; - if (!IsTestMode && !IsHeadless && !IsServiceMode) + if (!IsTestMode && !IsHeadless && !IsServiceMode && !config.NoNetworkMode) { DefaultUpdateManager.CheckForProductUpdate(UpdateManager); } @@ -1013,6 +1023,13 @@ protected DynamoModel(IStartConfiguration config) TraceReconciliationProcessor = this; State = DynamoModelState.StartedUIless; + // Write index to disk only once + LuceneUtility.CommitWriterChanges(); + //Disposed writer if it is in file system mode so that the index files can be used by other processes (potentially a second Dynamo session) + if (LuceneUtility.startConfig.StorageType == LuceneSearchUtility.LuceneStorage.FILE_SYSTEM) + { + LuceneUtility.DisposeWriter(); + } // This event should only be raised at the end of this method. DynamoReady(new ReadyParams(this)); } @@ -1403,12 +1420,8 @@ public void Dispose() PreferenceSettings.MessageLogged -= LogMessage; } - //The writer have to be disposed at DynamoModel level due that we could index package-nodes as new packages are installed - LuceneUtility.DisposeWriter(); - // Lucene disposals (just if LuceneNET was initialized) - LuceneUtility.indexDir?.Dispose(); - LuceneUtility.dirReader?.Dispose(); + LuceneUtility.DisposeAll(); #if DEBUG CurrentWorkspace.NodeAdded -= CrashOnDemand.CurrentWorkspace_NodeAdded; @@ -1472,11 +1485,9 @@ private void InitializeCustomNodeManager() var iDoc = LuceneUtility.InitializeIndexDocumentForNodes(); if (searchElement != null) { - AddNodeTypeToSearchIndex(searchElement, iDoc); + LuceneUtility.AddNodeTypeToSearchIndex(searchElement, iDoc); } - LuceneUtility.CommitWriterChanges(); - Action infoUpdatedHandler = null; infoUpdatedHandler = newInfo => { @@ -1543,7 +1554,7 @@ private void InitializeIncludedNodes() var cnbNode = new CodeBlockNodeSearchElement(cbnData, LibraryServices); SearchModel?.Add(cnbNode); - AddNodeTypeToSearchIndex(cnbNode, iDoc); + LuceneUtility.AddNodeTypeToSearchIndex(cnbNode, iDoc); var symbolSearchElement = new NodeModelSearchElement(symbolData) { @@ -1562,10 +1573,10 @@ private void InitializeIncludedNodes() }; SearchModel?.Add(symbolSearchElement); - AddNodeTypeToSearchIndex(symbolSearchElement, iDoc); + LuceneUtility.AddNodeTypeToSearchIndex(symbolSearchElement, iDoc); SearchModel?.Add(outputSearchElement); - AddNodeTypeToSearchIndex(outputSearchElement, iDoc); + LuceneUtility.AddNodeTypeToSearchIndex(outputSearchElement, iDoc); } @@ -1652,12 +1663,6 @@ private void InitializeNodeLibrary() } CustomNodeManager.AddUninitializedCustomNodesInPath(pathManager.CommonDefinitions, IsTestMode); - - // Initialize searcher, if the applyAllDeletes is true all buffered deletes on documents will be applied (made visible) in the returned reader - // When running parallel tests several are trying to write in the AppData folder then the job - // is failing and in a wrong state so we prevent to initialize Lucene index writer during test mode. - // Without the index files on disk, the dirReader cant be initialized correctly. So does the searcher. - LuceneUtility.CommitWriterChanges(); } /// @@ -1725,7 +1730,7 @@ private void LoadNodeModels(List nodes, bool isPackageMember) // TODO: get search element some other way if (ele != null) { - AddNodeTypeToSearchIndex(ele, iDoc); + LuceneUtility.AddNodeTypeToSearchIndex(ele, iDoc); } } catch (Exception e) @@ -1947,11 +1952,12 @@ public void OpenFileFromJson(string fileContents, bool forceManualExecutionMode /// execution mode specified in the file and set manual mode public void OpenFileFromPath(string filePath, bool forceManualExecutionMode = false) { - XmlDocument xmlDoc; - Exception ex; - if (DynamoUtilities.PathHelper.isValidXML(filePath, out xmlDoc, out ex)) + + Exception ex; + string fileContents; + if (DynamoUtilities.PathHelper.isValidJson(filePath, out fileContents, out ex)) { - OpenXmlFileFromPath(xmlDoc, filePath, forceManualExecutionMode); + OpenJsonFileFromPath(fileContents, filePath, forceManualExecutionMode); return; } else @@ -1961,24 +1967,20 @@ public void OpenFileFromPath(string filePath, bool forceManualExecutionMode = fa { throw ex; } - if (ex is System.Xml.XmlException) - { - // XML opening failure can indicate that this file is corrupted XML or Json - string fileContents; - if (DynamoUtilities.PathHelper.isValidJson(filePath, out fileContents, out ex)) - { - OpenJsonFileFromPath(fileContents, filePath, forceManualExecutionMode); - return; - } - else - { - // When Json opening also failed, either this file is corrupted or there - // are other kind of failures related to Json de-serialization - throw ex; - } + XmlDocument xmlDoc; + + // When Json opening failed, either this file is corrupted or file might be XML + if (ex is JsonReaderException && DynamoUtilities.PathHelper.isValidXML(filePath, out xmlDoc, out ex)) + { + OpenXmlFileFromPath(xmlDoc, filePath, forceManualExecutionMode); + return; } - } + else + { + throw ex; + } + } } /// @@ -1988,11 +1990,12 @@ public void OpenFileFromPath(string filePath, bool forceManualExecutionMode = fa /// public void InsertFileFromPath(string filePath, bool forceManualExecutionMode = false) { - XmlDocument xmlDoc; Exception ex; - if (DynamoUtilities.PathHelper.isValidXML(filePath, out xmlDoc, out ex)) + string fileContents; + + if (DynamoUtilities.PathHelper.isValidJson(filePath, out fileContents, out ex)) { - InsertXmlFileFromPath(xmlDoc, filePath, forceManualExecutionMode); + InsertJsonFileFromPath(fileContents, filePath, forceManualExecutionMode); return; } else @@ -2002,24 +2005,20 @@ public void InsertFileFromPath(string filePath, bool forceManualExecutionMode = { throw ex; } - if (ex is System.Xml.XmlException) - { - // XML opening failure can indicate that this file is corrupted XML or Json - string fileContents; - if (DynamoUtilities.PathHelper.isValidJson(filePath, out fileContents, out ex)) + if (ex is JsonReaderException) + { + XmlDocument xmlDoc; + if (DynamoUtilities.PathHelper.isValidXML(filePath, out xmlDoc, out ex)) { - InsertJsonFileFromPath(fileContents, filePath, forceManualExecutionMode); + InsertXmlFileFromPath(xmlDoc, filePath, forceManualExecutionMode); return; } - else - { - // When Json opening also failed, either this file is corrupted or there - // are other kind of failures related to Json de-serialization - throw ex; - } } - + else + { + throw ex; + } } } @@ -2718,6 +2717,15 @@ internal bool CanDumpLibraryToXml(object obj) #region public methods + /// + /// Set UI culture based on preferences + /// + public static void SetUICulture(string locale) + { + Thread.CurrentThread.CurrentUICulture = new CultureInfo(locale == "Default" ? "en-US" : locale); + Thread.CurrentThread.CurrentCulture = new CultureInfo(locale == "Default" ? "en-US" : locale); + } + /// /// Add a new HomeWorkspace and set as current /// @@ -3231,24 +3239,6 @@ private NodeModelSearchElement AddNodeTypeToSearch(TypeLoadData typeLoadData) return node; } - /// - /// Add node information to Lucene index - /// - /// node info that will be indexed - /// Lucene document in which the node info will be indexed - internal void AddNodeTypeToSearchIndex(NodeSearchElement node, Document doc) - { - if (LuceneUtility.addedFields == null) return; - - LuceneUtility.SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.FullCategoryName), node.FullCategoryName); - LuceneUtility.SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.Name), node.Name); - LuceneUtility.SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.Description), node.Description); - if (node.SearchKeywords.Count > 0) LuceneUtility.SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.SearchKeywords), node.SearchKeywords.Aggregate((x, y) => x + " " + y), true, true); - LuceneUtility.SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.Parameters), node.Parameters ?? string.Empty); - - LuceneUtility.writer?.AddDocument(doc); - } - /// /// Remove node information from Lucene indexing. /// @@ -3308,7 +3298,7 @@ private void AddZeroTouchNodeToSearch(FunctionDescriptor functionDescriptor, Doc { var ele = new ZeroTouchSearchElement(functionDescriptor); SearchModel?.Add(ele); - AddNodeTypeToSearchIndex(ele, iDoc); + LuceneUtility.AddNodeTypeToSearchIndex(ele, iDoc); } } diff --git a/src/DynamoCore/Properties/AssemblyInfo.cs b/src/DynamoCore/Properties/AssemblyInfo.cs index 88f9f699476..5c6498b2bd6 100644 --- a/src/DynamoCore/Properties/AssemblyInfo.cs +++ b/src/DynamoCore/Properties/AssemblyInfo.cs @@ -53,6 +53,7 @@ [assembly: InternalsVisibleTo("GraphNodeManagerViewExtension")] [assembly: InternalsVisibleTo("ExportSampleImagesViewExtension")] [assembly: InternalsVisibleTo("DocumentationBrowserViewExtension")] +[assembly: InternalsVisibleTo("Notifications")] [assembly: TypeForwardedTo(typeof(Dynamo.Scheduler.Disposable))] diff --git a/src/DynamoCore/Properties/Resources.Designer.cs b/src/DynamoCore/Properties/Resources.Designer.cs index 917980b34bc..f523c41ad4c 100644 --- a/src/DynamoCore/Properties/Resources.Designer.cs +++ b/src/DynamoCore/Properties/Resources.Designer.cs @@ -570,7 +570,7 @@ public static string DuplicateMigrationTypeRegistered { } /// - /// Looks up a localized string similar to English,Čeština,Deutsch,Español,Français,Italiano,日本語,한국어,Polski,Português (Brasil),Русский,简体中文,繁體中文. + /// Looks up a localized string similar to Default,English,Čeština,Deutsch,Español,Français,Italiano,日本語,한국어,Polski,Português (Brasil),Русский,简体中文,繁體中文. /// public static string DynamoLanguages_noxlate { get { diff --git a/src/DynamoCore/Properties/Resources.en-US.resx b/src/DynamoCore/Properties/Resources.en-US.resx index 70da17d6afc..b40c51c4764 100644 --- a/src/DynamoCore/Properties/Resources.en-US.resx +++ b/src/DynamoCore/Properties/Resources.en-US.resx @@ -900,7 +900,7 @@ This package likely contains an assembly that is blocked. You will need to load Example file added to workspace. Run mode changed to Manual. - English,Čeština,Deutsch,Español,Français,Italiano,日本語,한국어,Polski,Português (Brasil),Русский,简体中文,繁體中文 + Default,English,Čeština,Deutsch,Español,Français,Italiano,日本語,한국어,Polski,Português (Brasil),Русский,简体中文,繁體中文 Formula failed to convert to DesignScript code. Please edit the formula manually to use it in a CodeBlock node. diff --git a/src/DynamoCore/Properties/Resources.resx b/src/DynamoCore/Properties/Resources.resx index 523bd8cf3ea..77d3d8340dd 100644 --- a/src/DynamoCore/Properties/Resources.resx +++ b/src/DynamoCore/Properties/Resources.resx @@ -903,7 +903,7 @@ This package likely contains an assembly that is blocked. You will need to load Example file added to workspace. Run mode changed to Manual. - English,Čeština,Deutsch,Español,Français,Italiano,日本語,한국어,Polski,Português (Brasil),Русский,简体中文,繁體中文 + Default,English,Čeština,Deutsch,Español,Français,Italiano,日本語,한국어,Polski,Português (Brasil),Русский,简体中文,繁體中文 Formula failed to convert to DesignScript code. Please edit the formula manually to use it in a CodeBlock node. diff --git a/src/DynamoCore/Search/NodeSearchModel.cs b/src/DynamoCore/Search/NodeSearchModel.cs index 641738f88d5..fe95d4f1bf3 100644 --- a/src/DynamoCore/Search/NodeSearchModel.cs +++ b/src/DynamoCore/Search/NodeSearchModel.cs @@ -10,6 +10,7 @@ using Dynamo.Utilities; using DynamoUtilities; using Lucene.Net.Documents; +using Lucene.Net.Index; using Lucene.Net.QueryParsers.Classic; using Lucene.Net.Search; @@ -236,9 +237,7 @@ internal IEnumerable Search(string search, LuceneSearchUtilit if (luceneSearchUtility != null) { //The DirectoryReader and IndexSearcher have to be assigned after commiting indexing changes and before executing the Searcher.Search() method, otherwise new indexed info won't be reflected - luceneSearchUtility.dirReader = luceneSearchUtility.writer?.GetReader(applyAllDeletes: true); - if (luceneSearchUtility.dirReader == null) return null; - + luceneSearchUtility.dirReader = luceneSearchUtility.writer != null ? luceneSearchUtility.writer.GetReader(applyAllDeletes: true) : DirectoryReader.Open(luceneSearchUtility.indexDir); luceneSearchUtility.Searcher = new IndexSearcher(luceneSearchUtility.dirReader); string searchTerm = search.Trim(); diff --git a/src/DynamoCore/Utilities/LuceneSearchUtility.cs b/src/DynamoCore/Utilities/LuceneSearchUtility.cs index 71a4516ef77..74f062d82c5 100644 --- a/src/DynamoCore/Utilities/LuceneSearchUtility.cs +++ b/src/DynamoCore/Utilities/LuceneSearchUtility.cs @@ -4,6 +4,7 @@ using System.Linq; using Dynamo.Configuration; using Dynamo.Models; +using Dynamo.Search.SearchElements; using Lucene.Net.Analysis; using Lucene.Net.Analysis.Br; using Lucene.Net.Analysis.Cjk; @@ -25,15 +26,52 @@ namespace Dynamo.Utilities { + /// + /// Lucene search utility class that will be used for indexing and searching nodes and packages + /// internal class LuceneSearchUtility { internal DynamoModel dynamoModel; + + /// + /// Index fields that were added to the document + /// internal List addedFields; + + /// + /// Lucene Directory Reader + /// internal DirectoryReader dirReader; + + /// + /// Lucene Index Directory, it can be RAMDirectory or FSDirectory + /// internal Lucene.Net.Store.Directory indexDir; + + /// + /// Lucene Index write + /// internal IndexWriter writer; - internal string directory; - internal LuceneStorage currentStorageType; + + /// + /// Start config for Lucene + /// + internal LuceneStartConfig startConfig; + + /// + /// Default start config for Lucene, it will use RAM storage type and empty directory + /// + internal static readonly LuceneStartConfig DefaultStartConfig = new LuceneStartConfig(); + + /// + /// Start config for node index, it will use file storage type and node index directory + /// + internal static readonly LuceneStartConfig DefaultNodeIndexStartConfig = new LuceneStartConfig(LuceneSearchUtility.LuceneStorage.FILE_SYSTEM, LuceneConfig.NodesIndexingDirectory); + + /// + /// Start config for package index, it will use file storage type and package index directory + /// + internal static readonly LuceneStartConfig DefaultPkgIndexStartConfig = new LuceneStartConfig(LuceneSearchUtility.LuceneStorage.FILE_SYSTEM, LuceneConfig.PackagesIndexingDirectory); public enum LuceneStorage { @@ -50,28 +88,32 @@ public enum LuceneStorage // Holds the instance for the IndexSearcher internal IndexSearcher Searcher; - internal LuceneSearchUtility(DynamoModel model) + /// + /// Constructor for LuceneSearchUtility, it will use the storage type passed as parameter + /// + /// + /// + internal LuceneSearchUtility(DynamoModel model, LuceneStartConfig config) { dynamoModel = model; + // If under test mode, use the default StartConfig - RAM storage type and empty directory + startConfig = DynamoModel.IsTestMode? DefaultStartConfig : config; + InitializeLuceneConfig(); } /// - /// Initialize Lucene config file writer. + /// Initialize Lucene index writer based on start config. /// - internal void InitializeLuceneConfig(string dirName, LuceneStorage storageType = LuceneStorage.FILE_SYSTEM) + internal void InitializeLuceneConfig() { addedFields = new List(); DirectoryInfo luceneUserDataFolder; var userDataDir = new DirectoryInfo(dynamoModel.PathManager.UserDataDirectory); luceneUserDataFolder = userDataDir.Exists ? userDataDir : null; + string indexPath = Path.Combine(luceneUserDataFolder.FullName, LuceneConfig.Index, startConfig.Directory); - directory = dirName; - string indexPath = Path.Combine(luceneUserDataFolder.FullName, LuceneConfig.Index, dirName); - - currentStorageType = storageType; - - if (storageType == LuceneStorage.RAM) + if (startConfig.StorageType == LuceneStorage.RAM) { indexDir = new RAMDirectory(); } @@ -79,32 +121,36 @@ internal void InitializeLuceneConfig(string dirName, LuceneStorage storageType = { indexDir = FSDirectory.Open(indexPath); } - - // Create an analyzer to process the text Analyzer = CreateAnalyzerByLanguage(dynamoModel.PreferenceSettings.Locale); + CreateLuceneIndexWriter(); + } - // Initialize Lucene index writer, unless in test mode or we are using RAMDirectory for indexing info. - if (!DynamoModel.IsTestMode || currentStorageType == LuceneStorage.RAM) + /// + /// Create index writer for followup doc indexing + /// + /// Index open mode for Lucene index writer + internal void CreateLuceneIndexWriter(OpenMode mode = OpenMode.CREATE) + { + // Create an index writer + IndexWriterConfig indexConfig = new IndexWriterConfig(LuceneConfig.LuceneNetVersion, Analyzer) + { + OpenMode = mode + }; + try + { + writer = new IndexWriter(indexDir, indexConfig); + } + catch (LockObtainFailedException ex) { - try - { - // Create an index writer - IndexWriterConfig indexConfig = new IndexWriterConfig(LuceneConfig.LuceneNetVersion, Analyzer) - { - OpenMode = OpenMode.CREATE - }; - writer = new IndexWriter(indexDir, indexConfig); - } - catch (LockObtainFailedException ex) - { - DisposeWriter(); - dynamoModel.Logger.LogError($"LuceneNET LockObtainFailedException {ex}"); - } - catch (Exception ex) { - dynamoModel.Logger.LogError($"LuceneNET Exception {ex}"); - } + DisposeWriter(); + dynamoModel.Logger.LogError($"LuceneNET LockObtainFailedException {ex}"); + + } + catch (Exception ex) + { + dynamoModel.Logger.LogError($"LuceneNET Exception {ex}"); } } @@ -114,7 +160,7 @@ internal void InitializeLuceneConfig(string dirName, LuceneStorage storageType = /// internal Document InitializeIndexDocumentForNodes() { - if (DynamoModel.IsTestMode && currentStorageType == LuceneStorage.FILE_SYSTEM) return null; + if (DynamoModel.IsTestMode && startConfig.StorageType == LuceneStorage.FILE_SYSTEM) return null; var name = new TextField(nameof(LuceneConfig.NodeFieldsEnum.Name), string.Empty, Field.Store.YES); var fullCategory = new TextField(nameof(LuceneConfig.NodeFieldsEnum.FullCategoryName), string.Empty, Field.Store.YES); @@ -170,11 +216,11 @@ internal Document InitializeIndexDocumentForPackages() internal void SetDocumentFieldValue(Document doc, string field, string value, bool isTextField = true, bool isLast = false) { string[] indexedFields = null; - if (directory.Equals(LuceneConfig.NodesIndexingDirectory)) + if (startConfig.Directory.Equals(LuceneConfig.NodesIndexingDirectory)) { indexedFields = LuceneConfig.NodeIndexFields; } - else if (directory.Equals(LuceneConfig.PackagesIndexingDirectory)) + else if (startConfig.Directory.Equals(LuceneConfig.PackagesIndexingDirectory)) { indexedFields = LuceneConfig.PackageIndexFields; } @@ -336,23 +382,64 @@ internal Analyzer CreateAnalyzerByLanguage(string language) } } + /// + /// Dispose Lucene index write objects and reuse other objects + /// internal void DisposeWriter() { - //We need to check if we are not running Dynamo tests because otherwise parallel test start to fail when trying to write in the same Lucene directory location - if (!DynamoModel.IsTestMode || currentStorageType == LuceneStorage.RAM) - { - writer?.Dispose(); - writer = null; - } + writer?.Dispose(); + writer = null; } + /// + /// Dispose all the Lucene objects + /// + internal void DisposeAll() + { + DisposeWriter(); + dirReader?.Dispose(); + indexDir?.Dispose(); + Analyzer?.Dispose(); + } + + /// + /// Commit the changes made to the Lucene index + /// internal void CommitWriterChanges() { - if (!DynamoModel.IsTestMode || currentStorageType == LuceneStorage.RAM) + //Commit the info indexed if index writer exists + writer?.Commit(); + } + + /// + /// Add node information to existing Lucene index + /// + /// node info that will be indexed + /// Lucene document in which the node info will be indexed + internal void AddNodeTypeToSearchIndex(NodeSearchElement node, Document doc) + { + if (addedFields == null) return; + // During DynamoModel initialization, the index writer should still be valid here + // If the index writer is null and index not locked, it means the index writer has been disposed, e.g. DynamoModel finished initialization + // If the index writer is null and index locked, it means another Dynamo session is currently updating the search index + // Try to create a new index writer to amend the index + if (writer == null && !IndexWriter.IsLocked(this.indexDir)) + { + CreateLuceneIndexWriter(OpenMode.CREATE_OR_APPEND); + } + // If the index writer is still null, skip the indexing + if (writer == null) return; + + SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.FullCategoryName), node.FullCategoryName); + SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.Name), node.Name); + SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.Description), node.Description); + if (node.SearchKeywords.Count > 0) { - //Commit the info indexed - writer?.Commit(); + SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.SearchKeywords), node.SearchKeywords.Aggregate((x, y) => x + " " + y), true, true); } + SetDocumentFieldValue(doc, nameof(LuceneConfig.NodeFieldsEnum.Parameters), node.Parameters ?? string.Empty); + + writer?.AddDocument(doc); } } @@ -361,7 +448,7 @@ internal void CommitWriterChanges() /// public class LuceneCustomAnalyzer : Analyzer { - private LuceneVersion luceneVersion; + private readonly LuceneVersion luceneVersion; public LuceneCustomAnalyzer(LuceneVersion matchVersion) { @@ -391,4 +478,31 @@ protected override TokenStreamComponents CreateComponents(string fieldName, Text return new TokenStreamComponents(tokenizer, tok); } } + + /// + /// Start up config for Lucene indexing + /// + internal class LuceneStartConfig + { + /// + /// Lucene Index Directory name, e.g. Nodes, Packages + /// + internal string Directory { get; set; } + + /// + /// Current Lucene Index Storage type, it could be either RAM or FILE_SYSTEM + /// + internal LuceneSearchUtility.LuceneStorage StorageType { get; set; } + + /// + /// Constructor for LuceneStartConfig + /// + /// + /// + internal LuceneStartConfig(LuceneSearchUtility.LuceneStorage storageType = LuceneSearchUtility.LuceneStorage.RAM, string directory = "") + { + Directory = directory; + StorageType = storageType; + } + } } diff --git a/src/DynamoCoreWpf/Controls/DynamoNodeButton.cs b/src/DynamoCoreWpf/Controls/DynamoNodeButton.cs index bc7c63f61d8..0dc564c6a99 100644 --- a/src/DynamoCoreWpf/Controls/DynamoNodeButton.cs +++ b/src/DynamoCoreWpf/Controls/DynamoNodeButton.cs @@ -4,7 +4,6 @@ using Dynamo.Controls; using Dynamo.Graph; using Dynamo.Models; -using Dynamo.UI; using Dynamo.Utilities; using Dynamo.ViewModels; using Dynamo.Wpf.Utilities; @@ -67,23 +66,28 @@ private void OnDynamoNodeButtonClick(object sender, RoutedEventArgs e) // if (null != this.model && (!string.IsNullOrEmpty(this.eventName))) { - MessageBoxResult result = MessageBoxResult.None; + // Only show the prompt if it is a Python node + var nodeVM = (sender as DynamoNodeButton)?.DataContext as NodeViewModel; + if (nodeVM?.NodeModel is PythonNodeModels.PythonNode) + { + MessageBoxResult result = MessageBoxResult.None; - if (eventName.Equals("RemoveInPort") && ShowWarningForRemovingInPort) - { - result = MessageBoxService.Show - ( - Owner, - Dynamo.Wpf.Properties.Resources.MessageRemovePythonPort, - Dynamo.Wpf.Properties.Resources.RemovePythonPortWarningMessageBoxTitle, - MessageBoxButton.OKCancel, - MessageBoxImage.Information - ); - } + if (eventName.Equals("RemoveInPort") && ShowWarningForRemovingInPort) + { + result = MessageBoxService.Show + ( + Owner, + Dynamo.Wpf.Properties.Resources.MessageRemovePythonPort, + Dynamo.Wpf.Properties.Resources.RemovePythonPortWarningMessageBoxTitle, + MessageBoxButton.OKCancel, + MessageBoxImage.Information + ); + } - if (result == MessageBoxResult.Cancel) - { - return; + if (result == MessageBoxResult.Cancel) + { + return; + } } var command = new DynamoModel.ModelEventCommand(model.GUID, eventName); diff --git a/src/DynamoCoreWpf/Controls/ShortcutToolbar.xaml b/src/DynamoCoreWpf/Controls/ShortcutToolbar.xaml index 991fbddf586..5cb110c3de7 100644 --- a/src/DynamoCoreWpf/Controls/ShortcutToolbar.xaml +++ b/src/DynamoCoreWpf/Controls/ShortcutToolbar.xaml @@ -137,15 +137,17 @@ + IsMainMenu="True" + Name="RightMenu"> - + public bool ShowTooltip { get; private set; } + + /// + /// A tooltip is shown on the message box when this is set to a non-empty string + /// and ShowTooltip is true. + /// + public string Tooltip { get; private set; } + #endregion /// @@ -97,6 +109,8 @@ public DynamoMessageBox() { InitializeComponent(); DataContext = this; + ShowTooltip = false; + ToolTip = ""; } /// @@ -106,16 +120,19 @@ public DynamoMessageBox() /// /// /// + /// /// public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxButton button, - MessageBoxImage icon) + MessageBoxImage icon, string tooltip = "") { var dynamoMessageBox = new DynamoMessageBox { BodyText = messageBoxText, TitleText = caption, MessageBoxButton = button, - MessageBoxImage = icon + MessageBoxImage = icon, + ShowTooltip = !string.IsNullOrEmpty(tooltip), + Tooltip = tooltip }; dynamoMessageBox.ConfigureButtons(button); diff --git a/src/DynamoCoreWpf/UI/Prompts/UsageReportingAgreementPrompt.xaml b/src/DynamoCoreWpf/UI/Prompts/UsageReportingAgreementPrompt.xaml index df1c5f00def..3e2799edf75 100644 --- a/src/DynamoCoreWpf/UI/Prompts/UsageReportingAgreementPrompt.xaml +++ b/src/DynamoCoreWpf/UI/Prompts/UsageReportingAgreementPrompt.xaml @@ -188,23 +188,6 @@ - - - - -